Fix bugs from cc_api_library build
There are some bugs found while building cc_api_library with original library definition. This change fixes some bugs from cc_api_library. * Generate MK information for cc_api_library. * Mark cc_api_library as no CRT required. Bug: 236087698 Test: ALLOW_MISSING_DEPENDENCIES=true m -j vendorimage succeeded Change-Id: Ib411888fae41317c01378362cd5bdc87c2b588c5
This commit is contained in:
@@ -23,6 +23,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"android/soong/android"
|
"android/soong/android"
|
||||||
|
"android/soong/multitree"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -625,6 +626,24 @@ func (p *prebuiltBinaryLinker) AndroidMkEntries(ctx AndroidMkContext, entries *a
|
|||||||
androidMkWriteAllowUndefinedSymbols(p.baseLinker, entries)
|
androidMkWriteAllowUndefinedSymbols(p.baseLinker, entries)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *apiLibraryDecorator) AndroidMkEntries(ctx AndroidMkContext, entries *android.AndroidMkEntries) {
|
||||||
|
entries.Class = "SHARED_LIBRARIES"
|
||||||
|
entries.SubName += multitree.GetApiImportSuffix()
|
||||||
|
|
||||||
|
entries.ExtraEntries = append(entries.ExtraEntries, func(_ android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
|
||||||
|
a.libraryDecorator.androidMkWriteExportedFlags(entries)
|
||||||
|
src := *a.properties.Src
|
||||||
|
path, file := filepath.Split(src)
|
||||||
|
stem, suffix, ext := android.SplitFileExt(file)
|
||||||
|
entries.SetString("LOCAL_BUILT_MODULE_STEM", "$(LOCAL_MODULE)"+ext)
|
||||||
|
entries.SetString("LOCAL_MODULE_SUFFIX", suffix)
|
||||||
|
entries.SetString("LOCAL_MODULE_STEM", stem)
|
||||||
|
entries.SetString("LOCAL_MODULE_PATH", path)
|
||||||
|
entries.SetBool("LOCAL_UNINSTALLABLE_MODULE", true)
|
||||||
|
entries.SetString("LOCAL_SOONG_TOC", a.toc().String())
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func androidMkWriteAllowUndefinedSymbols(linker *baseLinker, entries *android.AndroidMkEntries) {
|
func androidMkWriteAllowUndefinedSymbols(linker *baseLinker, entries *android.AndroidMkEntries) {
|
||||||
allow := linker.Properties.Allow_undefined_symbols
|
allow := linker.Properties.Allow_undefined_symbols
|
||||||
if allow != nil {
|
if allow != nil {
|
||||||
|
@@ -68,6 +68,9 @@ func CcApiLibraryFactory() android.Module {
|
|||||||
apiLibraryDecorator.baseLinker.Properties.System_shared_libs = []string{}
|
apiLibraryDecorator.baseLinker.Properties.System_shared_libs = []string{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apiLibraryDecorator.baseLinker.Properties.No_libcrt = BoolPtr(true)
|
||||||
|
apiLibraryDecorator.baseLinker.Properties.Nocrt = BoolPtr(true)
|
||||||
|
|
||||||
module.Init()
|
module.Init()
|
||||||
|
|
||||||
return module
|
return module
|
||||||
|
Reference in New Issue
Block a user