Make $PATH available when building soong_build.

This is exclusively used by tests so it's awful, but Darwin builds are
currently broken so let's unbreak them first then start thinking.

Test: "m nothing" on Linux (I don't have access to a mac OS machine)
Change-Id: I1ea9ca71a5aff36a3454282a4c87ad368138baaa
This commit is contained in:
Lukacs T. Berki 2021-03-10 10:48:39 +01:00
parent 533274a2d3
commit 73ab928daa
1 changed files with 13 additions and 0 deletions

View File

@ -171,8 +171,21 @@ func runSoong(ctx Context, config Config) {
"-f", filepath.Join(config.SoongOutDir(), file))
var ninjaEnv Environment
// This is currently how the command line to invoke soong_build finds the
// root of the source tree and the output root
ninjaEnv.Set("TOP", os.Getenv("TOP"))
ninjaEnv.Set("SOONG_OUTDIR", config.SoongOutDir())
// Needed for NonHermeticHostSystemTool() and that, only in tests. We should
// probably find a better way of running tests other than making $PATH
// available also to production builds. Note that this is not get same as
// os.Getenv("PATH"): config.Environment() contains the $PATH that redirects
// every binary through the path interposer.
configPath, _ := config.Environment().Get("PATH")
ninjaEnv.Set("PATH", configPath)
// For debugging
if os.Getenv("SOONG_DELVE") != "" {
// SOONG_DELVE is already in cmd.Environment
ninjaEnv.Set("SOONG_DELVE_PATH", shared.ResolveDelveBinary())