Add recovery_available to cc_genrule
am: 3f736c9661
Change-Id: I88d3a144e56ef090ffce41e28339a24bb665f89a
This commit is contained in:
commit
f1e8411c2a
29
cc/cc.go
29
cc/cc.go
|
@ -1554,16 +1554,35 @@ func imageMutator(mctx android.BottomUpMutatorContext) {
|
|||
}
|
||||
|
||||
if genrule, ok := mctx.Module().(*genrule.Module); ok {
|
||||
if props, ok := genrule.Extra.(*VendorProperties); ok {
|
||||
if props, ok := genrule.Extra.(*GenruleExtraProperties); ok {
|
||||
var coreVariantNeeded bool = false
|
||||
var vendorVariantNeeded bool = false
|
||||
var recoveryVariantNeeded bool = false
|
||||
if mctx.DeviceConfig().VndkVersion() == "" {
|
||||
mctx.CreateVariations(coreMode)
|
||||
coreVariantNeeded = true
|
||||
} else if Bool(props.Vendor_available) {
|
||||
mctx.CreateVariations(coreMode, vendorMode)
|
||||
coreVariantNeeded = true
|
||||
vendorVariantNeeded = true
|
||||
} else if mctx.SocSpecific() || mctx.DeviceSpecific() {
|
||||
mctx.CreateVariations(vendorMode)
|
||||
vendorVariantNeeded = true
|
||||
} else {
|
||||
mctx.CreateVariations(coreMode)
|
||||
coreVariantNeeded = true
|
||||
}
|
||||
if Bool(props.Recovery_available) {
|
||||
recoveryVariantNeeded = true
|
||||
}
|
||||
|
||||
var variants []string
|
||||
if coreVariantNeeded {
|
||||
variants = append(variants, coreMode)
|
||||
}
|
||||
if vendorVariantNeeded {
|
||||
variants = append(variants, vendorMode)
|
||||
}
|
||||
if recoveryVariantNeeded {
|
||||
variants = append(variants, recoveryMode)
|
||||
}
|
||||
mctx.CreateVariations(variants...)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,13 +23,18 @@ func init() {
|
|||
android.RegisterModuleType("cc_genrule", genRuleFactory)
|
||||
}
|
||||
|
||||
type GenruleExtraProperties struct {
|
||||
Vendor_available *bool
|
||||
Recovery_available *bool
|
||||
}
|
||||
|
||||
// cc_genrule is a genrule that can depend on other cc_* objects.
|
||||
// The cmd may be run multiple times, once for each of the different arch/etc
|
||||
// variations.
|
||||
func genRuleFactory() android.Module {
|
||||
module := genrule.NewGenRule()
|
||||
|
||||
module.Extra = &VendorProperties{}
|
||||
module.Extra = &GenruleExtraProperties{}
|
||||
module.AddProperties(module.Extra)
|
||||
|
||||
android.InitAndroidArchModule(module, android.HostAndDeviceSupported, android.MultilibBoth)
|
||||
|
|
Loading…
Reference in New Issue