diff --git a/android/arch.go b/android/arch.go index a5d416c12..afb9c7fc9 100644 --- a/android/arch.go +++ b/android/arch.go @@ -757,7 +757,7 @@ func osMutator(bpctx blueprint.BottomUpMutatorContext) { for _, os := range OsTypeList { for _, t := range mctx.Config().Targets[os] { - if base.supportsTarget(t) && base.osEnabled(os) { + if base.supportsTarget(t) { moduleOSList = append(moduleOSList, os) break } @@ -1183,16 +1183,6 @@ func InitArchModule(m Module) { } base.archProperties = append(base.archProperties, archProperties) m.AddProperties(archProperties...) - - // Special case the enabled property so the osMutator can skip creating variants that - // are disabled. - if properties == &base.enabledProperties { - if len(archProperties) != 1 { - panic(fmt.Errorf("expected a single arch-specific enabledProperties type, found %d", - len(archProperties))) - } - base.archEnabledProperties = archProperties[0].(*archPropRoot) - } } base.customizableProperties = m.GetProperties() diff --git a/android/defaults.go b/android/defaults.go index be5359f12..eb013d7ab 100644 --- a/android/defaults.go +++ b/android/defaults.go @@ -174,22 +174,20 @@ func (d *DefaultsModuleBase) GenerateAndroidBuildActions(ctx ModuleContext) { func InitDefaultsModule(module DefaultsModule) { commonProperties := &commonProperties{} - enabledProperties := &enabledProperties{} module.AddProperties( &hostAndDeviceProperties{}, - enabledProperties, commonProperties, &ApexProperties{}, &distProperties{}) - base := module.base() initAndroidModuleBase(module) initProductVariableModule(module) InitArchModule(module) InitDefaultableModule(module) // Add properties that will not have defaults applied to them. + base := module.base() defaultsVisibility := &DefaultsVisibilityProperties{} module.AddProperties(&base.nameProperties, defaultsVisibility) diff --git a/android/module.go b/android/module.go index fa2f108b4..9bcb22f04 100644 --- a/android/module.go +++ b/android/module.go @@ -19,7 +19,6 @@ import ( "os" "path" "path/filepath" - "reflect" "regexp" "strings" "text/scanner" @@ -513,7 +512,7 @@ type nameProperties struct { Name *string } -type enabledProperties struct { +type commonProperties struct { // emit build rules for this module // // Disabling a module should only be done for those modules that cannot be built @@ -522,9 +521,7 @@ type enabledProperties struct { // disabled as that will prevent them from being built by the checkbuild target // and so prevent early detection of changes that have broken those modules. Enabled *bool `android:"arch_variant"` -} -type commonProperties struct { // Controls the visibility of this module to other modules. Allowable values are one or more of // these formats: // @@ -833,7 +830,6 @@ func InitAndroidModule(m Module) { m.AddProperties( &base.nameProperties, - &base.enabledProperties, &base.commonProperties, &base.distProperties) @@ -932,11 +928,6 @@ type ModuleBase struct { archProperties [][]interface{} customizableProperties []interface{} - // The enabled property is special-cased so that the osMutator can skip creating variants - // that are disabled. - enabledProperties enabledProperties - archEnabledProperties *archPropRoot - // Information about all the properties on the module that contains visibility rules that need // checking. visibilityPropertyInfo []visibilityProperty @@ -1127,33 +1118,6 @@ func (m *ModuleBase) supportsTarget(target Target) bool { } } -// osEnabled returns true if the given OS is enabled for the current module. -func (m *ModuleBase) osEnabled(os OsType) bool { - targetStruct := reflect.ValueOf(m.archEnabledProperties.Target) - - if targetStruct.Kind() != reflect.Ptr || targetStruct.Type().Elem().Kind() != reflect.Struct { - panic(fmt.Errorf("expected a pointer to a struct, found %s", targetStruct.Type())) - } - - if targetStruct.IsNil() { - return !os.DefaultDisabled - } - - osStruct := targetStruct.Elem().FieldByName(os.Field) - - if targetStruct.Kind() != reflect.Ptr || targetStruct.Type().Elem().Kind() != reflect.Struct { - panic(fmt.Errorf("expected a pointer to a struct, found %s", targetStruct.Type())) - } - - if osStruct.IsNil() { - return !os.DefaultDisabled - } - - enabledField := osStruct.Elem().FieldByName("Enabled") - - return proptools.BoolDefault(enabledField.Interface().(*bool), !os.DefaultDisabled) -} - // DeviceSupported returns true if the current module is supported and enabled for device targets, // i.e. the factory method set the HostOrDeviceSupported value to include device support and // the device support is enabled by default or enabled by the device_supported property. @@ -1253,7 +1217,10 @@ func (m *ModuleBase) Enabled() bool { if m.commonProperties.ForcedDisabled { return false } - return proptools.BoolDefault(m.enabledProperties.Enabled, !m.Os().DefaultDisabled) + if m.commonProperties.Enabled == nil { + return !m.Os().DefaultDisabled + } + return *m.commonProperties.Enabled } func (m *ModuleBase) Disable() { diff --git a/android/path_properties.go b/android/path_properties.go index ee84c676f..6b1cdb308 100644 --- a/android/path_properties.go +++ b/android/path_properties.go @@ -29,7 +29,7 @@ func registerPathDepsMutator(ctx RegisterMutatorsContext) { // property that is tagged with android:"path". func pathDepsMutator(ctx BottomUpMutatorContext) { m := ctx.Module().(Module) - if m == nil || !m.Enabled() { + if m == nil { return } diff --git a/genrule/genrule.go b/genrule/genrule.go index 978a8ffda..53b9dbeb2 100644 --- a/genrule/genrule.go +++ b/genrule/genrule.go @@ -184,9 +184,6 @@ func (g *Module) GeneratedDeps() android.Paths { func toolDepsMutator(ctx android.BottomUpMutatorContext) { if g, ok := ctx.Module().(*Module); ok { - if !g.Enabled() { - return - } for _, tool := range g.properties.Tools { tag := hostToolDependencyTag{label: tool} if m := android.SrcIsModule(tool); m != "" {