Merge changes from topic "variational-required"
* changes: cc/cc.go: Support per-image-variation "required" android/androidmk.go: Calls *RequiredModuleNames() to get required modules
This commit is contained in:
@@ -486,9 +486,9 @@ func (a *AndroidMkEntries) fillInEntries(ctx fillInEntriesContext, mod blueprint
|
|||||||
if a.Include == "" {
|
if a.Include == "" {
|
||||||
a.Include = "$(BUILD_PREBUILT)"
|
a.Include = "$(BUILD_PREBUILT)"
|
||||||
}
|
}
|
||||||
a.Required = append(a.Required, amod.commonProperties.Required...)
|
a.Required = append(a.Required, mod.(Module).RequiredModuleNames()...)
|
||||||
a.Host_required = append(a.Host_required, amod.commonProperties.Host_required...)
|
a.Host_required = append(a.Host_required, mod.(Module).HostRequiredModuleNames()...)
|
||||||
a.Target_required = append(a.Target_required, amod.commonProperties.Target_required...)
|
a.Target_required = append(a.Target_required, mod.(Module).TargetRequiredModuleNames()...)
|
||||||
|
|
||||||
for _, distString := range a.GetDistForGoals(mod) {
|
for _, distString := range a.GetDistForGoals(mod) {
|
||||||
fmt.Fprintf(&a.header, distString)
|
fmt.Fprintf(&a.header, distString)
|
||||||
|
30
cc/cc.go
30
cc/cc.go
@@ -354,6 +354,24 @@ type BaseProperties struct {
|
|||||||
// can depend on libraries that are not exported by the APEXes and use private symbols
|
// can depend on libraries that are not exported by the APEXes and use private symbols
|
||||||
// from the exported libraries.
|
// from the exported libraries.
|
||||||
Test_for []string `android:"arch_variant"`
|
Test_for []string `android:"arch_variant"`
|
||||||
|
|
||||||
|
Target struct {
|
||||||
|
Platform struct {
|
||||||
|
// List of modules required by the core variant.
|
||||||
|
Required []string `android:"arch_variant"`
|
||||||
|
|
||||||
|
// List of modules not required by the core variant.
|
||||||
|
Exclude_required []string `android:"arch_variant"`
|
||||||
|
} `android:"arch_variant"`
|
||||||
|
|
||||||
|
Recovery struct {
|
||||||
|
// List of modules required by the recovery variant.
|
||||||
|
Required []string `android:"arch_variant"`
|
||||||
|
|
||||||
|
// List of modules not required by the recovery variant.
|
||||||
|
Exclude_required []string `android:"arch_variant"`
|
||||||
|
} `android:"arch_variant"`
|
||||||
|
} `android:"arch_variant"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type VendorProperties struct {
|
type VendorProperties struct {
|
||||||
@@ -865,6 +883,18 @@ func (c *Module) HiddenFromMake() bool {
|
|||||||
return c.Properties.HideFromMake
|
return c.Properties.HideFromMake
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Module) RequiredModuleNames() []string {
|
||||||
|
required := android.CopyOf(c.ModuleBase.RequiredModuleNames())
|
||||||
|
if c.ImageVariation().Variation == android.CoreVariation {
|
||||||
|
required = append(required, c.Properties.Target.Platform.Required...)
|
||||||
|
required = removeListFromList(required, c.Properties.Target.Platform.Exclude_required)
|
||||||
|
} else if c.InRecovery() {
|
||||||
|
required = append(required, c.Properties.Target.Recovery.Required...)
|
||||||
|
required = removeListFromList(required, c.Properties.Target.Recovery.Exclude_required)
|
||||||
|
}
|
||||||
|
return android.FirstUniqueStrings(required)
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Module) Toc() android.OptionalPath {
|
func (c *Module) Toc() android.OptionalPath {
|
||||||
if c.linker != nil {
|
if c.linker != nil {
|
||||||
if library, ok := c.linker.(libraryInterface); ok {
|
if library, ok := c.linker.(libraryInterface); ok {
|
||||||
|
Reference in New Issue
Block a user