Remove VNDK related code from Soong
As VNDK definition is fully removed from Android.bp, VNDK related code can be removed from Soong. This change removes VNDK related code except VNDK prebuilt which is required to build former versions of VNDK APEX with prebuilts. Bug: 330100430 Test: AOSP CF build succeeded Ignore-AOSP-First: Resolve Conflict Change-Id: Id9c8993343221c8464c97296bde0ff40b14b9b0b
This commit is contained in:
148
cc/cc.go
148
cc/cc.go
@@ -49,7 +49,6 @@ func RegisterCCBuildComponents(ctx android.RegistrationContext) {
|
||||
|
||||
ctx.PreDepsMutators(func(ctx android.RegisterMutatorsContext) {
|
||||
ctx.BottomUp("sdk", sdkMutator).Parallel()
|
||||
ctx.BottomUp("vndk", VndkMutator).Parallel()
|
||||
ctx.BottomUp("llndk", llndkMutator).Parallel()
|
||||
ctx.BottomUp("link", LinkageMutator).Parallel()
|
||||
ctx.BottomUp("test_per_src", TestPerSrcMutator).Parallel()
|
||||
@@ -475,19 +474,6 @@ type VendorProperties struct {
|
||||
// IsLLNDK is set to true for the vendor variant of a cc_library module that has LLNDK stubs.
|
||||
IsLLNDK bool `blueprint:"mutated"`
|
||||
|
||||
// IsVNDKCore is set if a VNDK module does not set the vndk.support_system_process property.
|
||||
IsVNDKCore bool `blueprint:"mutated"`
|
||||
|
||||
// IsVNDKSP is set if a VNDK module sets the vndk.support_system_process property.
|
||||
IsVNDKSP bool `blueprint:"mutated"`
|
||||
|
||||
// IsVNDKPrivate is set if a VNDK module sets the vndk.private property or an LLNDK
|
||||
// module sets the llndk.private property.
|
||||
IsVNDKPrivate bool `blueprint:"mutated"`
|
||||
|
||||
// IsVNDKProduct is set if a VNDK module sets the product_available property.
|
||||
IsVNDKProduct bool `blueprint:"mutated"`
|
||||
|
||||
// IsVendorPublicLibrary is set for the core and product variants of a library that has
|
||||
// vendor_public_library stubs.
|
||||
IsVendorPublicLibrary bool `blueprint:"mutated"`
|
||||
@@ -514,12 +500,7 @@ type ModuleContextIntf interface {
|
||||
useVndk() bool
|
||||
isNdk(config android.Config) bool
|
||||
IsLlndk() bool
|
||||
IsLlndkPublic() bool
|
||||
isImplementationForLLNDKPublic() bool
|
||||
IsVndkPrivate() bool
|
||||
isVndk() bool
|
||||
isVndkSp() bool
|
||||
IsVndkExt() bool
|
||||
IsVendorPublicLibrary() bool
|
||||
inProduct() bool
|
||||
inVendor() bool
|
||||
@@ -529,7 +510,6 @@ type ModuleContextIntf interface {
|
||||
InVendorOrProduct() bool
|
||||
selectedStl() string
|
||||
baseModuleName() string
|
||||
getVndkExtendsModuleName() string
|
||||
isAfdoCompile(ctx ModuleContext) bool
|
||||
isOrderfileCompile() bool
|
||||
isCfi() bool
|
||||
@@ -894,7 +874,6 @@ type Module struct {
|
||||
coverage *coverage
|
||||
fuzzer *fuzzer
|
||||
sabi *sabi
|
||||
vndkdep *vndkdep
|
||||
lto *lto
|
||||
afdo *afdo
|
||||
orderfile *orderfile
|
||||
@@ -968,12 +947,7 @@ func (c *Module) AddJSONData(d *map[string]interface{}) {
|
||||
"InstallInVendorRamdisk": c.InstallInVendorRamdisk(),
|
||||
"InstallInRecovery": c.InstallInRecovery(),
|
||||
"InstallInRoot": c.InstallInRoot(),
|
||||
"IsVndk": c.IsVndk(),
|
||||
"IsVndkExt": c.IsVndkExt(),
|
||||
"IsVndkPrivate": c.IsVndkPrivate(),
|
||||
"IsVndkSp": c.IsVndkSp(),
|
||||
"IsLlndk": c.IsLlndk(),
|
||||
"IsLlndkPublic": c.IsLlndkPublic(),
|
||||
"IsVendorPublicLibrary": c.IsVendorPublicLibrary(),
|
||||
"ApexSdkVersion": c.apexSdkVersion,
|
||||
"TestFor": c.TestFor(),
|
||||
@@ -1278,9 +1252,6 @@ func (c *Module) Init() android.Module {
|
||||
if c.sabi != nil {
|
||||
c.AddProperties(c.sabi.props()...)
|
||||
}
|
||||
if c.vndkdep != nil {
|
||||
c.AddProperties(c.vndkdep.props()...)
|
||||
}
|
||||
if c.lto != nil {
|
||||
c.AddProperties(c.lto.props()...)
|
||||
}
|
||||
@@ -1335,10 +1306,6 @@ func (c *Module) IsLlndk() bool {
|
||||
return c.VendorProperties.IsLLNDK
|
||||
}
|
||||
|
||||
func (c *Module) IsLlndkPublic() bool {
|
||||
return c.VendorProperties.IsLLNDK && !c.VendorProperties.IsVNDKPrivate
|
||||
}
|
||||
|
||||
func (m *Module) NeedsLlndkVariants() bool {
|
||||
lib := moduleLibraryInterface(m)
|
||||
return lib != nil && (lib.hasLLNDKStubs() || lib.hasLLNDKHeaders())
|
||||
@@ -1385,31 +1352,6 @@ func (c *Module) isImplementationForLLNDKPublic() bool {
|
||||
!Bool(library.Properties.Llndk.Private)
|
||||
}
|
||||
|
||||
// Returns true for LLNDK-private, VNDK-SP-private, and VNDK-core-private.
|
||||
func (c *Module) IsVndkPrivate() bool {
|
||||
// Check if VNDK-core-private or VNDK-SP-private
|
||||
if c.IsVndk() {
|
||||
return Bool(c.vndkdep.Properties.Vndk.Private)
|
||||
}
|
||||
|
||||
// Check if LLNDK-private
|
||||
if library, ok := c.library.(*libraryDecorator); ok && c.IsLlndk() {
|
||||
return Bool(library.Properties.Llndk.Private)
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// IsVndk() returns true if this module has a vndk variant.
|
||||
// Note that IsVndk() returns true for all variants of vndk-enabled libraries. Not only vendor variant,
|
||||
// but also platform and product variants of vndk-enabled libraries return true for IsVndk().
|
||||
func (c *Module) IsVndk() bool {
|
||||
if vndkdep := c.vndkdep; vndkdep != nil {
|
||||
return vndkdep.isVndk()
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (c *Module) isAfdoCompile(ctx ModuleContext) bool {
|
||||
if afdo := c.afdo; afdo != nil {
|
||||
return afdo.isAfdoCompile(ctx)
|
||||
@@ -1445,31 +1387,10 @@ func (c *Module) isNDKStubLibrary() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (c *Module) IsVndkSp() bool {
|
||||
if vndkdep := c.vndkdep; vndkdep != nil {
|
||||
return vndkdep.isVndkSp()
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (c *Module) IsVndkExt() bool {
|
||||
if vndkdep := c.vndkdep; vndkdep != nil {
|
||||
return vndkdep.isVndkExt()
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (c *Module) SubName() string {
|
||||
return c.Properties.SubName
|
||||
}
|
||||
|
||||
func (c *Module) getVndkExtendsModuleName() string {
|
||||
if vndkdep := c.vndkdep; vndkdep != nil {
|
||||
return vndkdep.getVndkExtendsModuleName()
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (c *Module) IsStubs() bool {
|
||||
if lib := c.library; lib != nil {
|
||||
return lib.buildStubs()
|
||||
@@ -1699,22 +1620,10 @@ func (ctx *moduleContextImpl) IsLlndk() bool {
|
||||
return ctx.mod.IsLlndk()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) IsLlndkPublic() bool {
|
||||
return ctx.mod.IsLlndkPublic()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) isImplementationForLLNDKPublic() bool {
|
||||
return ctx.mod.isImplementationForLLNDKPublic()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) IsVndkPrivate() bool {
|
||||
return ctx.mod.IsVndkPrivate()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) isVndk() bool {
|
||||
return ctx.mod.IsVndk()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) isAfdoCompile(mctx ModuleContext) bool {
|
||||
return ctx.mod.isAfdoCompile(mctx)
|
||||
}
|
||||
@@ -1735,14 +1644,6 @@ func (ctx *moduleContextImpl) isNDKStubLibrary() bool {
|
||||
return ctx.mod.isNDKStubLibrary()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) isVndkSp() bool {
|
||||
return ctx.mod.IsVndkSp()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) IsVndkExt() bool {
|
||||
return ctx.mod.IsVndkExt()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) IsVendorPublicLibrary() bool {
|
||||
return ctx.mod.IsVendorPublicLibrary()
|
||||
}
|
||||
@@ -1762,10 +1663,6 @@ func (ctx *moduleContextImpl) baseModuleName() string {
|
||||
return ctx.mod.BaseModuleName()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) getVndkExtendsModuleName() string {
|
||||
return ctx.mod.getVndkExtendsModuleName()
|
||||
}
|
||||
|
||||
func (ctx *moduleContextImpl) isForPlatform() bool {
|
||||
apexInfo, _ := android.ModuleProvider(ctx.ctx, android.ApexInfoProvider)
|
||||
return apexInfo.IsForPlatform()
|
||||
@@ -1830,7 +1727,6 @@ func newModule(hod android.HostOrDeviceSupported, multilib android.Multilib) *Mo
|
||||
module.coverage = &coverage{}
|
||||
module.fuzzer = &fuzzer{}
|
||||
module.sabi = &sabi{}
|
||||
module.vndkdep = &vndkdep{}
|
||||
module.lto = <o{}
|
||||
module.afdo = &afdo{}
|
||||
module.orderfile = &orderfile{}
|
||||
@@ -2762,15 +2658,6 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
||||
{Mutator: "link", Variation: "shared"},
|
||||
}, ndkLateStubDepTag, apiLateNdkLibs...)
|
||||
|
||||
if vndkdep := c.vndkdep; vndkdep != nil {
|
||||
if vndkdep.isVndkExt() {
|
||||
actx.AddVariationDependencies([]blueprint.Variation{
|
||||
c.ImageVariation(),
|
||||
{Mutator: "link", Variation: "shared"},
|
||||
}, vndkExtDepTag, vndkdep.getVndkExtendsModuleName())
|
||||
}
|
||||
}
|
||||
|
||||
if len(deps.AidlLibs) > 0 {
|
||||
actx.AddDependency(
|
||||
c,
|
||||
@@ -2808,20 +2695,6 @@ func checkLinkType(ctx android.BaseModuleContext, from LinkableInterface, to Lin
|
||||
return
|
||||
}
|
||||
|
||||
// VNDK is cc.Module supported only for now.
|
||||
if ccFrom, ok := from.(*Module); ok && from.UseVndk() {
|
||||
// Though allowed dependency is limited by the image mutator,
|
||||
// each vendor and product module needs to check link-type
|
||||
// for VNDK.
|
||||
if ccTo, ok := to.(*Module); ok {
|
||||
if ccFrom.vndkdep != nil {
|
||||
ccFrom.vndkdep.vndkCheckLinkType(ctx, ccTo, tag)
|
||||
}
|
||||
} else if _, ok := to.(LinkableInterface); !ok {
|
||||
ctx.ModuleErrorf("Attempting to link VNDK cc.Module with unsupported module type")
|
||||
}
|
||||
return
|
||||
}
|
||||
// TODO(b/244244438) : Remove this once all variants are implemented
|
||||
if ccFrom, ok := from.(*Module); ok && ccFrom.isImportedApiLibrary() {
|
||||
return
|
||||
@@ -2976,7 +2849,7 @@ func checkDoubleLoadableLibraries(ctx android.TopDownMutatorContext) {
|
||||
return true
|
||||
}
|
||||
|
||||
if to.IsVndkSp() || to.IsLlndk() {
|
||||
if to.IsLlndk() {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -3810,15 +3683,6 @@ func (m *Module) Rlib() bool {
|
||||
func GetMakeLinkType(actx android.ModuleContext, c LinkableInterface) string {
|
||||
if c.InVendorOrProduct() {
|
||||
if c.IsLlndk() {
|
||||
if !c.IsLlndkPublic() {
|
||||
return "native:vndk_private"
|
||||
}
|
||||
return "native:vndk"
|
||||
}
|
||||
if c.IsVndk() && !c.IsVndkExt() {
|
||||
if c.IsVndkPrivate() {
|
||||
return "native:vndk_private"
|
||||
}
|
||||
return "native:vndk"
|
||||
}
|
||||
if c.InProduct() {
|
||||
@@ -4020,15 +3884,6 @@ func (c *Module) AlwaysRequiresPlatformApexVariant() bool {
|
||||
return c.IsStubs() || c.Target().NativeBridge == android.NativeBridgeEnabled
|
||||
}
|
||||
|
||||
// Overrides android.ApexModuleBase.UniqueApexVariations
|
||||
func (c *Module) UniqueApexVariations() bool {
|
||||
// When a vendor APEX needs a VNDK lib in it (use_vndk_as_stable: false), it should be a unique
|
||||
// APEX variation. Otherwise, another vendor APEX with use_vndk_as_stable:true may use a wrong
|
||||
// variation of the VNDK lib because APEX variations are merged/grouped.
|
||||
// TODO(b/274401041) Find a way to merge APEX variations for vendor apexes.
|
||||
return c.UseVndk() && c.IsVndk()
|
||||
}
|
||||
|
||||
func (c *Module) overriddenModules() []string {
|
||||
if o, ok := c.linker.(overridable); ok {
|
||||
return o.overriddenModules()
|
||||
@@ -4136,7 +3991,6 @@ func DefaultsFactory(props ...interface{}) android.Module {
|
||||
&TidyProperties{},
|
||||
&CoverageProperties{},
|
||||
&SAbiProperties{},
|
||||
&VndkProperties{},
|
||||
<OProperties{},
|
||||
&AfdoProperties{},
|
||||
&OrderfileProperties{},
|
||||
|
Reference in New Issue
Block a user