summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2019-12-11 15:22:32 +0000
committer Paul Duffin <paulduffin@google.com> 2019-12-12 11:37:39 +0000
commitac6e608da75454d834db331a21320262f2c7b5a0 (patch)
tree366398ef8a3bc7c960411da9c9664ce80b6ead48
parentfa02872b268d4b6883ae658d14699c3a8692662c (diff)
Dedup prebuilt cc library creation
Bug: 142918168 Test: m checkbuild Change-Id: I82cf3b098f024a6ab0884642b21b2238864942a2
-rw-r--r--cc/prebuilt.go42
1 files changed, 19 insertions, 23 deletions
diff --git a/cc/prebuilt.go b/cc/prebuilt.go
index 32676d6f5..f20616f8b 100644
--- a/cc/prebuilt.go
+++ b/cc/prebuilt.go
@@ -130,16 +130,8 @@ func (p *prebuiltLibraryLinker) disablePrebuilt() {
p.properties.Srcs = nil
}
-// cc_prebuilt_library_shared installs a precompiled shared library that are
-// listed in the srcs property in the device's directory.
-func PrebuiltSharedLibraryFactory() android.Module {
- module, _ := NewPrebuiltSharedLibrary(android.HostAndDeviceSupported)
- return module.Init()
-}
-
-func NewPrebuiltSharedLibrary(hod android.HostOrDeviceSupported) (*Module, *libraryDecorator) {
+func NewPrebuiltLibrary(hod android.HostOrDeviceSupported) (*Module, *libraryDecorator) {
module, library := NewLibrary(hod)
- library.BuildOnlyShared()
module.compiler = nil
prebuilt := &prebuiltLibraryLinker{
@@ -151,9 +143,24 @@ func NewPrebuiltSharedLibrary(hod android.HostOrDeviceSupported) (*Module, *libr
android.InitPrebuiltModule(module, &prebuilt.properties.Srcs)
- // Prebuilt libraries can be included in APEXes
- android.InitApexModule(module)
+ // Prebuilt libraries can be used in SDKs.
android.InitSdkAwareModule(module)
+ return module, library
+}
+
+// cc_prebuilt_library_shared installs a precompiled shared library that are
+// listed in the srcs property in the device's directory.
+func PrebuiltSharedLibraryFactory() android.Module {
+ module, _ := NewPrebuiltSharedLibrary(android.HostAndDeviceSupported)
+ return module.Init()
+}
+
+func NewPrebuiltSharedLibrary(hod android.HostOrDeviceSupported) (*Module, *libraryDecorator) {
+ module, library := NewPrebuiltLibrary(hod)
+ library.BuildOnlyShared()
+
+ // Prebuilt shared libraries can be included in APEXes
+ android.InitApexModule(module)
return module, library
}
@@ -166,19 +173,8 @@ func PrebuiltStaticLibraryFactory() android.Module {
}
func NewPrebuiltStaticLibrary(hod android.HostOrDeviceSupported) (*Module, *libraryDecorator) {
- module, library := NewLibrary(hod)
+ module, library := NewPrebuiltLibrary(hod)
library.BuildOnlyStatic()
- module.compiler = nil
-
- prebuilt := &prebuiltLibraryLinker{
- libraryDecorator: library,
- }
- module.linker = prebuilt
-
- module.AddProperties(&prebuilt.properties)
-
- android.InitPrebuiltModule(module, &prebuilt.properties.Srcs)
- android.InitSdkAwareModule(module)
return module, library
}