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:
parent
6e294b496e
commit
835c589a77
2 changed files with 22 additions and 0 deletions
|
@ -23,6 +23,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/multitree"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -625,6 +626,24 @@ func (p *prebuiltBinaryLinker) AndroidMkEntries(ctx AndroidMkContext, entries *a
|
|||
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) {
|
||||
allow := linker.Properties.Allow_undefined_symbols
|
||||
if allow != nil {
|
||||
|
|
|
@ -68,6 +68,9 @@ func CcApiLibraryFactory() android.Module {
|
|||
apiLibraryDecorator.baseLinker.Properties.System_shared_libs = []string{}
|
||||
}
|
||||
|
||||
apiLibraryDecorator.baseLinker.Properties.No_libcrt = BoolPtr(true)
|
||||
apiLibraryDecorator.baseLinker.Properties.Nocrt = BoolPtr(true)
|
||||
|
||||
module.Init()
|
||||
|
||||
return module
|
||||
|
|
Loading…
Reference in a new issue