Merge "Revert "Supports VNDK APEX with different versions""

This commit is contained in:
Treehugger Robot
2019-10-17 11:50:47 +00:00
committed by Gerrit Code Review
6 changed files with 98 additions and 291 deletions

View File

@@ -93,11 +93,6 @@ func (c *Module) AndroidMk() android.AndroidMkData {
fmt.Fprintln(w, "LOCAL_USE_VNDK := true")
if c.isVndk() && !c.static() {
fmt.Fprintln(w, "LOCAL_SOONG_VNDK_VERSION := "+c.vndkVersion())
// VNDK libraries available to vendor are not installed because
// they are packaged in VNDK APEX and installed by APEX packages (apex/apex.go)
if !c.isVndkExt() {
fmt.Fprintln(w, "LOCAL_UNINSTALLABLE_MODULE := true")
}
}
}
},

View File

@@ -488,6 +488,15 @@ func (c *Module) RelativeInstallPath() string {
return ""
}
// IsVndkOnSystem returns true if a module is supposed to be a vndk library provided by system to vendor
func (c *Module) IsVndkOnSystem() bool {
if linker, ok := c.linker.(libraryInterface); ok {
return linker.shared() && c.isVndk() && c.useVndk() && !c.isVndkExt()
}
return false
}
func (c *Module) VndkVersion() string {
return c.vndkVersion()
}

View File

@@ -307,31 +307,6 @@ func processVndkLibrary(mctx android.BottomUpMutatorContext, m *Module) {
}
}
func IsForVndkApex(mctx android.BottomUpMutatorContext, m *Module) bool {
if !m.Enabled() {
return false
}
if m.Target().NativeBridge == android.NativeBridgeEnabled {
return false
}
// prebuilt vndk modules should match with device
// TODO(b/142675459): Use enabled: to select target device in vndk_prebuilt_shared
// When b/142675459 is landed, remove following check
if p, ok := m.linker.(*vndkPrebuiltLibraryDecorator); ok && !p.matchesWithDevice(mctx.DeviceConfig()) {
return false
}
if lib, ok := m.linker.(libraryInterface); ok {
useCoreVariant := m.vndkVersion() == mctx.DeviceConfig().PlatformVndkVersion() &&
mctx.DeviceConfig().VndkUseCoreVariant() &&
!inList(m.BaseModuleName(), config.VndkMustUseVendorVariantList)
return lib.shared() && m.useVndk() && m.isVndk() && !m.isVndkExt() && !useCoreVariant
}
return false
}
// gather list of vndk-core, vndk-sp, and ll-ndk libs
func VndkMutator(mctx android.BottomUpMutatorContext) {
m, ok := mctx.Module().(*Module)

View File

@@ -130,7 +130,13 @@ func (p *vndkPrebuiltLibraryDecorator) singleSourcePath(ctx ModuleContext) andro
func (p *vndkPrebuiltLibraryDecorator) link(ctx ModuleContext,
flags Flags, deps PathDeps, objs Objects) android.Path {
if !p.matchesWithDevice(ctx.DeviceConfig()) {
arches := ctx.DeviceConfig().Arches()
if len(arches) == 0 || arches[0].ArchType.String() != p.arch() {
ctx.Module().SkipInstall()
return nil
}
if ctx.DeviceConfig().BinderBitness() != p.binderBit() {
ctx.Module().SkipInstall()
return nil
}
@@ -147,20 +153,6 @@ func (p *vndkPrebuiltLibraryDecorator) link(ctx ModuleContext,
return nil
}
func (p *vndkPrebuiltLibraryDecorator) matchesWithDevice(config android.DeviceConfig) bool {
arches := config.Arches()
if len(arches) == 0 || arches[0].ArchType.String() != p.arch() {
return false
}
if config.BinderBitness() != p.binderBit() {
return false
}
if len(p.properties.Srcs) == 0 {
return false
}
return true
}
func (p *vndkPrebuiltLibraryDecorator) nativeCoverage() bool {
return false
}