Merge changes from topic "far-dep-exists" into sc-dev
* changes: Check for product variant in addition to core variant. Plumb through OtherModuleFarDependencyVariantExists from blueprint.
This commit is contained in:
commit
5ff8e3f567
|
@ -165,13 +165,20 @@ type BaseModuleContext interface {
|
||||||
// OtherModuleDependencyVariantExists returns true if a module with the
|
// OtherModuleDependencyVariantExists returns true if a module with the
|
||||||
// specified name and variant exists. The variant must match the given
|
// specified name and variant exists. The variant must match the given
|
||||||
// variations. It must also match all the non-local variations of the current
|
// variations. It must also match all the non-local variations of the current
|
||||||
// module. In other words, it checks for the module AddVariationDependencies
|
// module. In other words, it checks for the module that AddVariationDependencies
|
||||||
// would add a dependency on with the same arguments.
|
// would add a dependency on with the same arguments.
|
||||||
OtherModuleDependencyVariantExists(variations []blueprint.Variation, name string) bool
|
OtherModuleDependencyVariantExists(variations []blueprint.Variation, name string) bool
|
||||||
|
|
||||||
|
// OtherModuleFarDependencyVariantExists returns true if a module with the
|
||||||
|
// specified name and variant exists. The variant must match the given
|
||||||
|
// variations, but not the non-local variations of the current module. In
|
||||||
|
// other words, it checks for the module that AddFarVariationDependencies
|
||||||
|
// would add a dependency on with the same arguments.
|
||||||
|
OtherModuleFarDependencyVariantExists(variations []blueprint.Variation, name string) bool
|
||||||
|
|
||||||
// OtherModuleReverseDependencyVariantExists returns true if a module with the
|
// OtherModuleReverseDependencyVariantExists returns true if a module with the
|
||||||
// specified name exists with the same variations as the current module. In
|
// specified name exists with the same variations as the current module. In
|
||||||
// other words, it checks for the module AddReverseDependency would add a
|
// other words, it checks for the module that AddReverseDependency would add a
|
||||||
// dependency on with the same argument.
|
// dependency on with the same argument.
|
||||||
OtherModuleReverseDependencyVariantExists(name string) bool
|
OtherModuleReverseDependencyVariantExists(name string) bool
|
||||||
|
|
||||||
|
@ -2022,6 +2029,9 @@ func (b *baseModuleContext) OtherModuleExists(name string) bool { return b.bp.Ot
|
||||||
func (b *baseModuleContext) OtherModuleDependencyVariantExists(variations []blueprint.Variation, name string) bool {
|
func (b *baseModuleContext) OtherModuleDependencyVariantExists(variations []blueprint.Variation, name string) bool {
|
||||||
return b.bp.OtherModuleDependencyVariantExists(variations, name)
|
return b.bp.OtherModuleDependencyVariantExists(variations, name)
|
||||||
}
|
}
|
||||||
|
func (b *baseModuleContext) OtherModuleFarDependencyVariantExists(variations []blueprint.Variation, name string) bool {
|
||||||
|
return b.bp.OtherModuleFarDependencyVariantExists(variations, name)
|
||||||
|
}
|
||||||
func (b *baseModuleContext) OtherModuleReverseDependencyVariantExists(name string) bool {
|
func (b *baseModuleContext) OtherModuleReverseDependencyVariantExists(name string) bool {
|
||||||
return b.bp.OtherModuleReverseDependencyVariantExists(name)
|
return b.bp.OtherModuleReverseDependencyVariantExists(name)
|
||||||
}
|
}
|
||||||
|
|
|
@ -454,13 +454,30 @@ func (p *baseSnapshotDecorator) snapshotAndroidMkSuffix() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *baseSnapshotDecorator) setSnapshotAndroidMkSuffix(ctx android.ModuleContext) {
|
func (p *baseSnapshotDecorator) setSnapshotAndroidMkSuffix(ctx android.ModuleContext) {
|
||||||
if ctx.OtherModuleDependencyVariantExists([]blueprint.Variation{
|
coreVariations := append(ctx.Target().Variations(), blueprint.Variation{
|
||||||
{Mutator: "image", Variation: android.CoreVariation},
|
Mutator: "image",
|
||||||
}, ctx.Module().(*Module).BaseModuleName()) {
|
Variation: android.CoreVariation})
|
||||||
|
|
||||||
|
if ctx.OtherModuleFarDependencyVariantExists(coreVariations, ctx.Module().(*Module).BaseModuleName()) {
|
||||||
p.baseProperties.Androidmk_suffix = p.image.moduleNameSuffix()
|
p.baseProperties.Androidmk_suffix = p.image.moduleNameSuffix()
|
||||||
} else {
|
return
|
||||||
p.baseProperties.Androidmk_suffix = ""
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If there is no matching core variation, there could still be a
|
||||||
|
// product variation, for example if a module is product specific and
|
||||||
|
// vendor available. In that case, we also want to add the androidmk
|
||||||
|
// suffix.
|
||||||
|
|
||||||
|
productVariations := append(ctx.Target().Variations(), blueprint.Variation{
|
||||||
|
Mutator: "image",
|
||||||
|
Variation: ProductVariationPrefix + ctx.DeviceConfig().PlatformVndkVersion()})
|
||||||
|
|
||||||
|
if ctx.OtherModuleFarDependencyVariantExists(productVariations, ctx.Module().(*Module).BaseModuleName()) {
|
||||||
|
p.baseProperties.Androidmk_suffix = p.image.moduleNameSuffix()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
p.baseProperties.Androidmk_suffix = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call this with a module suffix after creating a snapshot module, such as
|
// Call this with a module suffix after creating a snapshot module, such as
|
||||||
|
|
Loading…
Reference in New Issue