Do not hide VNDK prebuilts from make

Flattened APEXes don't install modules hidden from make. This CL unhides
VNDK prebuilt modules to make VNDK APEX work correctly. The suffix for
VNDK prebuilt is still omitted if the version of prebuilt is same with
BOARD_VNDK_VERSION.

Bug: 149542527
Test: build arm64 GSI and flash
Test: Set BOARD_VNDK_VERSION and build
Change-Id: I54a7c14c93eccfefc81603ec3bb474a031bc55af
This commit is contained in:
Inseob Kim
2020-02-17 18:00:39 +09:00
parent 2fe818f8b0
commit 2b96bf5441
2 changed files with 10 additions and 14 deletions

View File

@@ -413,12 +413,9 @@ func (c *llndkStubDecorator) AndroidMk(ctx AndroidMkContext, ret *android.Androi
}
func (c *vndkPrebuiltLibraryDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkData) {
// Each vndk prebuilt is exported to androidMk only when BOARD_VNDK_VERSION != current
// and the version of the prebuilt is same as BOARD_VNDK_VERSION.
ret.Class = "SHARED_LIBRARIES"
// shouldn't add any suffixes due to mk modules
ret.SubName = ""
ret.SubName = c.androidMkSuffix
ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) {
c.libraryDecorator.androidMkWriteExportedFlags(w)

View File

@@ -72,7 +72,8 @@ type vndkPrebuiltProperties struct {
type vndkPrebuiltLibraryDecorator struct {
*libraryDecorator
properties vndkPrebuiltProperties
properties vndkPrebuiltProperties
androidMkSuffix string
}
func (p *vndkPrebuiltLibraryDecorator) Name(name string) string {
@@ -153,6 +154,13 @@ func (p *vndkPrebuiltLibraryDecorator) link(ctx ModuleContext,
p.tocFile = android.OptionalPathForPath(tocFile)
TransformSharedObjectToToc(ctx, in, tocFile, builderFlags)
p.androidMkSuffix = p.NameSuffix()
vndkVersion := ctx.DeviceConfig().VndkVersion()
if vndkVersion == p.version() {
p.androidMkSuffix = ""
}
return in
}
@@ -224,15 +232,6 @@ func vndkPrebuiltSharedLibrary() *Module {
&prebuilt.properties,
)
android.AddLoadHook(module, func(ctx android.LoadHookContext) {
// Only vndk snapshots of BOARD_VNDK_VERSION will be used when building.
if prebuilt.version() != ctx.DeviceConfig().VndkVersion() {
module.SkipInstall()
module.Properties.HideFromMake = true
return
}
})
return module
}