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
This commit is contained in:
Christopher Ferris
2019-12-16 09:55:10 -08:00
parent 699cf17f53
commit c71193ae53
2 changed files with 9 additions and 2 deletions

View File

@@ -45,6 +45,8 @@ type variableProperties struct {
Malloc_not_svelte struct {
Cflags []string `android:"arch_variant"`
Shared_libs []string `android:"arch_variant"`
Whole_static_libs []string `android:"arch_variant"`
Exclude_static_libs []string `android:"arch_variant"`
} `android:"arch_variant"`
Safestack struct {

View File

@@ -164,6 +164,9 @@ type BaseLinkerProperties struct {
// 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 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps {
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")
}