diff options
| author | 2019-12-11 15:22:32 +0000 | |
|---|---|---|
| committer | 2019-12-12 11:37:39 +0000 | |
| commit | ac6e608da75454d834db331a21320262f2c7b5a0 (patch) | |
| tree | 366398ef8a3bc7c960411da9c9664ce80b6ead48 | |
| parent | fa02872b268d4b6883ae658d14699c3a8692662c (diff) | |
Dedup prebuilt cc library creation
Bug: 142918168
Test: m checkbuild
Change-Id: I82cf3b098f024a6ab0884642b21b2238864942a2
| -rw-r--r-- | cc/prebuilt.go | 42 |
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 } |