Compile soong_build for debugging if needed.

That is, when SOONG_DELVE= is set.

Test: "m nothing; SOONG_DELVE=port m nothing; m nothing"
Change-Id: I16bd4e54e81b93202573935df134d413feea9bb2
This commit is contained in:
Lukacs T. Berki 2021-03-17 15:03:14 +01:00
parent d7ce8402d8
commit 5f6cb1d6d3
2 changed files with 16 additions and 6 deletions

View File

@ -72,6 +72,10 @@ func (c Config) NinjaBuildDir() string {
return c.buildDir
}
func (c Config) DebugCompilation() bool {
return false // Never compile Go code in the main build for debugging
}
func (c Config) SrcDir() string {
return c.srcDir
}

View File

@ -65,9 +65,10 @@ func writeEnvironmentFile(ctx Context, envFile string, envDeps map[string]string
// A tiny struct used to tell Blueprint that it's in bootstrap mode. It would
// probably be nicer to use a flag in bootstrap.Args instead.
type BlueprintConfig struct {
srcDir string
buildDir string
ninjaBuildDir string
srcDir string
buildDir string
ninjaBuildDir string
debugCompilation bool
}
func (c BlueprintConfig) SrcDir() string {
@ -82,6 +83,10 @@ func (c BlueprintConfig) NinjaBuildDir() string {
return c.ninjaBuildDir
}
func (c BlueprintConfig) DebugCompilation() bool {
return c.debugCompilation
}
func bootstrapBlueprint(ctx Context, config Config) {
ctx.BeginTrace(metrics.RunSoong, "blueprint bootstrap")
defer ctx.EndTrace()
@ -102,9 +107,10 @@ func bootstrapBlueprint(ctx Context, config Config) {
blueprintCtx := blueprint.NewContext()
blueprintCtx.SetIgnoreUnknownModuleTypes(true)
blueprintConfig := BlueprintConfig{
srcDir: os.Getenv("TOP"),
buildDir: config.SoongOutDir(),
ninjaBuildDir: config.OutDir(),
srcDir: os.Getenv("TOP"),
buildDir: config.SoongOutDir(),
ninjaBuildDir: config.OutDir(),
debugCompilation: os.Getenv("SOONG_DELVE") != "",
}
bootstrap.RunBlueprint(args, blueprintCtx, blueprintConfig)