From 5f6cb1d6d3465e7ef2d44482ecf2ac7a5d30b129 Mon Sep 17 00:00:00 2001 From: "Lukacs T. Berki" Date: Wed, 17 Mar 2021 15:03:14 +0100 Subject: [PATCH] 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 --- android/config.go | 4 ++++ ui/build/soong.go | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/android/config.go b/android/config.go index f4685a196..043cbcad5 100644 --- a/android/config.go +++ b/android/config.go @@ -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 } diff --git a/ui/build/soong.go b/ui/build/soong.go index fee5723bb..9afcb88ca 100644 --- a/ui/build/soong.go +++ b/ui/build/soong.go @@ -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)