diff options
-rw-r--r-- | cc/library.go | 6 | ||||
-rw-r--r-- | cc/llndk_library.go | 11 |
2 files changed, 12 insertions, 5 deletions
diff --git a/cc/library.go b/cc/library.go index c97dbf922..23ee9b141 100644 --- a/cc/library.go +++ b/cc/library.go @@ -740,6 +740,7 @@ type versionedInterface interface { hasLLNDKStubs() bool hasLLNDKHeaders() bool hasVendorPublicLibrary() bool + isLLNDKMovedToApex() bool } var _ libraryInterface = (*libraryDecorator)(nil) @@ -1844,6 +1845,11 @@ func (library *libraryDecorator) hasLLNDKHeaders() bool { return Bool(library.Properties.Llndk.Llndk_headers) } +// isLLNDKMovedToApex returns true if this cc_library module sets the llndk.moved_to_apex property. +func (library *libraryDecorator) isLLNDKMovedToApex() bool { + return Bool(library.Properties.Llndk.Moved_to_apex) +} + // hasVendorPublicLibrary returns true if this cc_library module has a variant that will build // vendor public library stubs. func (library *libraryDecorator) hasVendorPublicLibrary() bool { diff --git a/cc/llndk_library.go b/cc/llndk_library.go index c7950f9ff..162dd5429 100644 --- a/cc/llndk_library.go +++ b/cc/llndk_library.go @@ -57,17 +57,18 @@ type llndkLibraryProperties struct { // if true, make this module available to provide headers to other modules that set // llndk.symbol_file. Llndk_headers *bool + + // moved_to_apex marks this module has having been distributed through an apex module. + Moved_to_apex *bool } func makeLlndkVars(ctx android.MakeVarsContext) { - // Make uses LLNDK_MOVED_TO_APEX_LIBRARIES to avoid installing libraries on /system if - // they been moved to an apex. + // Make uses LLNDK_MOVED_TO_APEX_LIBRARIES to generate the linker config. movedToApexLlndkLibraries := make(map[string]bool) ctx.VisitAllModules(func(module android.Module) { if library := moduleLibraryInterface(module); library != nil && library.hasLLNDKStubs() { - // Skip bionic libs, they are handled in different manner - name := library.implementationModuleName(module.(*Module).BaseModuleName()) - if module.(android.ApexModule).DirectlyInAnyApex() && !isBionic(name) { + if library.isLLNDKMovedToApex() { + name := library.implementationModuleName(module.(*Module).BaseModuleName()) movedToApexLlndkLibraries[name] = true } } |