Merge "Set stem and suffix for vndk prebuilt libraries" am: 6776629f63 am: 35b7a9506b

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1471663

Change-Id: I09e60a144101be2e12612c5ed9fdf7f381212f6c
This commit is contained in:
Treehugger Robot
2020-10-28 02:17:42 +00:00
committed by Automerger Merge Worker
2 changed files with 20 additions and 0 deletions

View File

@@ -487,9 +487,21 @@ func (c *vndkPrebuiltLibraryDecorator) AndroidMkEntries(ctx AndroidMkContext, en
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
c.libraryDecorator.androidMkWriteExportedFlags(entries)
// Specifying stem is to pass check_elf_files when vendor modules link against vndk prebuilt.
// We can't use install path because VNDKs are not installed. Instead, Srcs is directly used.
_, file := filepath.Split(c.properties.Srcs[0])
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)
if c.tocFile.Valid() {
entries.SetString("LOCAL_SOONG_TOC", c.tocFile.String())
}
// VNDK libraries available to vendor are not installed because
// they are packaged in VNDK APEX and installed by APEX packages (apex/apex.go)
entries.SetBool("LOCAL_UNINSTALLABLE_MODULE", true)
})
}

View File

@@ -232,6 +232,14 @@ func vndkPrebuiltSharedLibrary() *Module {
&prebuilt.properties,
)
android.AddLoadHook(module, func(ctx android.LoadHookContext) {
// empty BOARD_VNDK_VERSION implies that the device won't support
// system only OTA. In this case, VNDK snapshots aren't needed.
if ctx.DeviceConfig().VndkVersion() == "" {
ctx.Module().Disable()
}
})
return module
}