Store missing profile files into a Make variable
Bug: http://b/72642679
Store missing profile files and the modules that refer to them in the
SOONG_MODULES_MISSING_PGO_PROFILE_FILE variable passed to Make. The
contents of this variable will be written to
$DIST_DIR/pgo_profile_file_missing.txt as part of the 'dist' target.
Test: 'm dist' and verify creation of pgo_profile_file_missing.txt.
Change-Id: I237cd0398be418be2b7db6fa65ece5ef347ecbc1
diff --git a/cc/makevars.go b/cc/makevars.go
index 5faf201..779de8f 100644
--- a/cc/makevars.go
+++ b/cc/makevars.go
@@ -25,22 +25,23 @@
)
const (
- modulesAddedWall = "ModulesAddedWall"
- modulesUsingWnoError = "ModulesUsingWnoError"
+ modulesAddedWall = "ModulesAddedWall"
+ modulesUsingWnoError = "ModulesUsingWnoError"
+ modulesMissingProfileFile = "ModulesMissingProfileFile"
)
func init() {
android.RegisterMakeVarsProvider(pctx, makeVarsProvider)
}
-func getWallWerrorMap(config android.Config, name string) *sync.Map {
+func getNamedMapForConfig(config android.Config, name string) *sync.Map {
return config.Once(name, func() interface{} {
return &sync.Map{}
}).(*sync.Map)
}
func makeStringOfKeys(ctx android.MakeVarsContext, setName string) string {
- set := getWallWerrorMap(ctx.Config(), setName)
+ set := getNamedMapForConfig(ctx.Config(), setName)
keys := []string{}
set.Range(func(key interface{}, value interface{}) bool {
keys = append(keys, key.(string))
@@ -102,6 +103,7 @@
ctx.Strict("ANDROID_WARNING_ALLOWED_PROJECTS", makeStringOfWarningAllowedProjects())
ctx.Strict("SOONG_MODULES_ADDED_WALL", makeStringOfKeys(ctx, modulesAddedWall))
ctx.Strict("SOONG_MODULES_USING_WNO_ERROR", makeStringOfKeys(ctx, modulesUsingWnoError))
+ ctx.Strict("SOONG_MODULES_MISSING_PGO_PROFILE_FILE", makeStringOfKeys(ctx, modulesMissingProfileFile))
ctx.Strict("ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS", strings.Join(asanCflags, " "))
ctx.Strict("ADDRESS_SANITIZER_CONFIG_EXTRA_LDFLAGS", strings.Join(asanLdflags, " "))