diff options
author | Eric Arseneau <earseneau@google.com> | 2021-12-19 22:49:24 -0800 |
---|---|---|
committer | Eric Arseneau <earseneau@google.com> | 2021-12-20 10:30:39 -0800 |
commit | ad1511b3ec93d717ba9d15ca6c61f85a3955b0d4 (patch) | |
tree | aa0ba4b94adf222b3ff52945fa72c0d26cf44d91 | |
parent | e2eb7adfe9aa46994bb21a76b8cacec2291e354e (diff) | |
parent | 8341deb813e558556ff01a8cb6078a4b9807c8dd (diff) |
Merge s-mpr-2021-12-05
Change-Id: I34069be792fe2ad09783ef7ffa1ce325a617ba81
-rw-r--r-- | cc/linker.go | 25 | ||||
-rw-r--r-- | cmd/soong_ui/main.go | 3 |
2 files changed, 23 insertions, 5 deletions
diff --git a/cc/linker.go b/cc/linker.go index a62e24f74..d39ef5e8c 100644 --- a/cc/linker.go +++ b/cc/linker.go @@ -94,6 +94,9 @@ type BaseLinkerProperties struct { // vendor variants and this module uses VNDK. Runtime_libs []string `android:"arch_variant"` + // list of runtime libs that should not be installed along with this module. + Exclude_runtime_libs []string `android:"arch_variant"` + Target struct { Vendor, Product struct { // list of shared libs that only should be used to build vendor or @@ -116,8 +119,8 @@ type BaseLinkerProperties struct { // product variant of the C/C++ module. Exclude_header_libs []string - // list of runtime libs that should not be installed along with - // vendor or variant of the C/C++ module. + // list of runtime libs that should not be installed along with the + // vendor or product variant of the C/C++ module. Exclude_runtime_libs []string // version script for vendor or product variant @@ -143,6 +146,10 @@ type BaseLinkerProperties struct { // list of header libs that should not be used to build the recovery variant // of the C/C++ module. Exclude_header_libs []string + + // list of runtime libs that should not be installed along with the + // recovery variant of the C/C++ module. + Exclude_runtime_libs []string } Ramdisk struct { // list of shared libs that only should be used to build the ramdisk @@ -161,6 +168,10 @@ type BaseLinkerProperties struct { // the ramdisk variant of the C/C++ module. Exclude_static_libs []string + // list of runtime libs that should not be installed along with the + // ramdisk variant of the C/C++ module. + Exclude_runtime_libs []string + // list of header libs that should not be used to build the ramdisk variant // of the C/C++ module. Exclude_header_libs []string @@ -173,6 +184,10 @@ type BaseLinkerProperties struct { // list of static libs that should not be used to build // the vendor ramdisk variant of the C/C++ module. Exclude_static_libs []string + + // list of runtime libs that should not be installed along with the + // vendor ramdisk variant of the C/C++ module. + Exclude_runtime_libs []string } Platform struct { // list of shared libs that should be use to build the platform variant @@ -186,7 +201,7 @@ type BaseLinkerProperties struct { // the C/C++ module. Exclude_shared_libs []string - // list of static libs that should not be used to build the apex ramdisk + // list of static libs that should not be used to build the apex // variant of the C/C++ module. Exclude_static_libs []string } @@ -255,6 +270,7 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps { deps.SharedLibs = removeListFromList(deps.SharedLibs, linker.Properties.Exclude_shared_libs) deps.StaticLibs = removeListFromList(deps.StaticLibs, linker.Properties.Exclude_static_libs) deps.WholeStaticLibs = removeListFromList(deps.WholeStaticLibs, linker.Properties.Exclude_static_libs) + deps.RuntimeLibs = removeListFromList(deps.RuntimeLibs, linker.Properties.Exclude_runtime_libs) // Record the libraries that need to be excluded when building for APEX. Unlike other // target.*.exclude_* properties, SharedLibs and StaticLibs are not modified here because @@ -304,6 +320,7 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps { deps.ReexportHeaderLibHeaders = removeListFromList(deps.ReexportHeaderLibHeaders, linker.Properties.Target.Recovery.Exclude_header_libs) deps.ReexportStaticLibHeaders = removeListFromList(deps.ReexportStaticLibHeaders, linker.Properties.Target.Recovery.Exclude_static_libs) deps.WholeStaticLibs = removeListFromList(deps.WholeStaticLibs, linker.Properties.Target.Recovery.Exclude_static_libs) + deps.RuntimeLibs = removeListFromList(deps.RuntimeLibs, linker.Properties.Target.Recovery.Exclude_runtime_libs) } if ctx.inRamdisk() { @@ -316,6 +333,7 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps { deps.ReexportStaticLibHeaders = removeListFromList(deps.ReexportStaticLibHeaders, linker.Properties.Target.Ramdisk.Exclude_static_libs) deps.ReexportStaticLibHeaders = removeListFromList(deps.ReexportStaticLibHeaders, linker.Properties.Target.Ramdisk.Exclude_static_libs) deps.WholeStaticLibs = removeListFromList(deps.WholeStaticLibs, linker.Properties.Target.Ramdisk.Exclude_static_libs) + deps.RuntimeLibs = removeListFromList(deps.RuntimeLibs, linker.Properties.Target.Ramdisk.Exclude_runtime_libs) } if ctx.inVendorRamdisk() { @@ -324,6 +342,7 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps { deps.StaticLibs = removeListFromList(deps.StaticLibs, linker.Properties.Target.Vendor_ramdisk.Exclude_static_libs) deps.ReexportStaticLibHeaders = removeListFromList(deps.ReexportStaticLibHeaders, linker.Properties.Target.Vendor_ramdisk.Exclude_static_libs) deps.WholeStaticLibs = removeListFromList(deps.WholeStaticLibs, linker.Properties.Target.Vendor_ramdisk.Exclude_static_libs) + deps.RuntimeLibs = removeListFromList(deps.RuntimeLibs, linker.Properties.Target.Vendor_ramdisk.Exclude_runtime_libs) } if !ctx.useSdk() { diff --git a/cmd/soong_ui/main.go b/cmd/soong_ui/main.go index 8bcc71202..02c522977 100644 --- a/cmd/soong_ui/main.go +++ b/cmd/soong_ui/main.go @@ -205,13 +205,12 @@ func main() { Status: stat, }} - config := c.config(buildCtx, args...) - if err := loadEnvConfig(); err != nil { fmt.Fprintf(os.Stderr, "failed to parse env config files: %v", err) os.Exit(1) } + config := c.config(buildCtx, args...) build.SetupOutDir(buildCtx, config) |