diff --git a/android/image.go b/android/image.go index 66101be02..bc6b8cd86 100644 --- a/android/image.go +++ b/android/image.go @@ -43,10 +43,9 @@ type ImageInterface interface { // its variation. ExtraImageVariations(ctx BaseModuleContext) []string - // SetImageVariation will be passed a newly created recovery variant of the module. ModuleBase implements - // SetImageVariation, most module types will not need to override it, and those that do must call the - // overridden method. Implementors of SetImageVariation must be careful to modify the module argument - // and not the receiver. + // SetImageVariation is called for each newly created image variant. The receiver is the original + // module, "variation" is the name of the newly created variant and "module" is the newly created + // variant itself. SetImageVariation(ctx BaseModuleContext, variation string, module Module) } diff --git a/cc/cc.go b/cc/cc.go index 555cb6ca1..d049aa8dc 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -290,9 +290,15 @@ type BaseProperties struct { // Set by DepsMutator. AndroidMkSystemSharedLibs []string `blueprint:"mutated"` + // The name of the image this module is built for, suffixed with a '.' ImageVariationPrefix string `blueprint:"mutated"` - VndkVersion string `blueprint:"mutated"` - SubName string `blueprint:"mutated"` + + // The VNDK version this module is built against. If empty, the module is not + // build against the VNDK. + VndkVersion string `blueprint:"mutated"` + + // Suffix for the name of Android.mk entries generated by this module + SubName string `blueprint:"mutated"` // *.logtags files, to combine together in order to generate the /system/etc/event-log-tags // file @@ -315,12 +321,15 @@ type BaseProperties struct { // Make this module available when building for recovery Recovery_available *bool - // Set by imageMutator - CoreVariantNeeded bool `blueprint:"mutated"` - RamdiskVariantNeeded bool `blueprint:"mutated"` - VendorRamdiskVariantNeeded bool `blueprint:"mutated"` - RecoveryVariantNeeded bool `blueprint:"mutated"` - ExtraVariants []string `blueprint:"mutated"` + // Used by imageMutator, set by ImageMutatorBegin() + CoreVariantNeeded bool `blueprint:"mutated"` + RamdiskVariantNeeded bool `blueprint:"mutated"` + VendorRamdiskVariantNeeded bool `blueprint:"mutated"` + RecoveryVariantNeeded bool `blueprint:"mutated"` + + // A list of variations for the "image" mutator of the form + // '.' , for example, 'vendor.S' + ExtraVersionedImageVariations []string `blueprint:"mutated"` // Allows this module to use non-APEX version of libraries. Useful // for building binaries that are started before APEXes are activated. diff --git a/cc/image.go b/cc/image.go index c9c0e63a6..15ec1c867 100644 --- a/cc/image.go +++ b/cc/image.go @@ -341,11 +341,11 @@ func (m *Module) RecoveryAvailable() bool { } func (m *Module) ExtraVariants() []string { - return m.Properties.ExtraVariants + return m.Properties.ExtraVersionedImageVariations } func (m *Module) AppendExtraVariant(extraVariant string) { - m.Properties.ExtraVariants = append(m.Properties.ExtraVariants, extraVariant) + m.Properties.ExtraVersionedImageVariations = append(m.Properties.ExtraVersionedImageVariations, extraVariant) } func (m *Module) SetRamdiskVariantNeeded(b bool) { @@ -629,7 +629,7 @@ func (c *Module) RecoveryVariantNeeded(ctx android.BaseModuleContext) bool { } func (c *Module) ExtraImageVariations(ctx android.BaseModuleContext) []string { - return c.Properties.ExtraVariants + return c.Properties.ExtraVersionedImageVariations } func squashVendorSrcs(m *Module) {