Merge "Revert "Supports VNDK APEX with different versions""
This commit is contained in:
@@ -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")
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
9
cc/cc.go
9
cc/cc.go
@@ -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()
|
||||
}
|
||||
|
25
cc/vndk.go
25
cc/vndk.go
@@ -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)
|
||||
|
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user