Export DefaultsFactory

Add an exported DefaultsFactory so that external module types can extend
cc_defaults.  DefaultsFactory takes a variadic list of additional
property structures.  defaultsFactory remains as the module factory for
cc_defaults.

Change-Id: I03b450ab3a31625e7baca165d393a0007fb3e421
This commit is contained in:
Colin Cross
2016-08-18 14:18:32 -07:00
parent 9272ade7a8
commit e1d764e369

View File

@@ -888,9 +888,13 @@ func (*Defaults) GenerateAndroidBuildActions(ctx android.ModuleContext) {
} }
func defaultsFactory() (blueprint.Module, []interface{}) { func defaultsFactory() (blueprint.Module, []interface{}) {
return DefaultsFactory()
}
func DefaultsFactory(props ...interface{}) (blueprint.Module, []interface{}) {
module := &Defaults{} module := &Defaults{}
propertyStructs := []interface{}{ props = append(props,
&BaseProperties{}, &BaseProperties{},
&BaseCompilerProperties{}, &BaseCompilerProperties{},
&BaseLinkerProperties{}, &BaseLinkerProperties{},
@@ -903,12 +907,12 @@ func defaultsFactory() (blueprint.Module, []interface{}) {
&StlProperties{}, &StlProperties{},
&SanitizeProperties{}, &SanitizeProperties{},
&StripProperties{}, &StripProperties{},
} )
_, propertyStructs = android.InitAndroidArchModule(module, android.HostAndDeviceDefault, _, props = android.InitAndroidArchModule(module, android.HostAndDeviceDefault,
android.MultilibDefault, propertyStructs...) android.MultilibDefault, props...)
return android.InitDefaultsModule(module, module, propertyStructs...) return android.InitDefaultsModule(module, module, props...)
} }
// lastUniqueElements returns all unique elements of a slice, keeping the last copy of each // lastUniqueElements returns all unique elements of a slice, keeping the last copy of each