From 3aa9544ec194e5a8283f24cfe5d005ca8efaf168 Mon Sep 17 00:00:00 2001 From: Martin Stjernholm Date: Thu, 26 Aug 2021 17:00:09 +0100 Subject: [PATCH] Add exclude_runtime_libs to more targets. Test: `m droid` with https://r.android.com/1810717 Bug: 197856821 Change-Id: I4c93ae4b1f686796827a9635ba4ed50db00e6a8c --- cc/linker.go | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/cc/linker.go b/cc/linker.go index 7c710d7e2..8671dec62 100644 --- a/cc/linker.go +++ b/cc/linker.go @@ -95,6 +95,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 @@ -121,8 +124,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 @@ -148,6 +151,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 static libs that only should be used to build the recovery @@ -161,6 +168,10 @@ type BaseLinkerProperties struct { // list of static libs that should not be used to build // 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 } Vendor_ramdisk struct { // list of shared libs that should not be used to build @@ -170,6 +181,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 @@ -191,7 +206,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 } @@ -275,6 +290,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 @@ -325,6 +341,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() { @@ -334,6 +351,7 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps { deps.StaticLibs = removeListFromList(deps.StaticLibs, 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() { @@ -342,6 +360,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() {