Add whole_static_libs to non-svelte configs.
This is to support enabling scudo only for non-svelte configs.
Also, add exclude_static_libs to allow removing the jemalloc libs.
Bug: 137795072
Test: Verified that a svelte and non-svelte config can use this method
Test: to properly choose between scudo and jemalloc.
Change-Id: Iec6bfe159f8491138e93dde1d225a8c874c7ce31
diff --git a/cc/linker.go b/cc/linker.go
index c2b4a3a..3e44269 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -164,6 +164,9 @@
// local file name to pass to the linker as --version_script
Version_script *string `android:"path,arch_variant"`
+
+ // list of static libs that should not be used to build this module
+ Exclude_static_libs []string
}
func NewBaseLinker(sanitize *sanitize) *baseLinker {
@@ -209,6 +212,8 @@
deps.ReexportSharedLibHeaders = append(deps.ReexportSharedLibHeaders, linker.Properties.Export_shared_lib_headers...)
deps.ReexportGeneratedHeaders = append(deps.ReexportGeneratedHeaders, linker.Properties.Export_generated_headers...)
+ deps.WholeStaticLibs = removeListFromList(deps.WholeStaticLibs, linker.Properties.Exclude_static_libs)
+
if Bool(linker.Properties.Use_version_lib) {
deps.WholeStaticLibs = append(deps.WholeStaticLibs, "libbuildversion")
}