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:
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
|
||||
// from the exported libraries.
|
||||
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 {
|
||||
@@ -865,6 +883,18 @@ func (c *Module) HiddenFromMake() bool {
|
||||
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 {
|
||||
if c.linker != nil {
|
||||
if library, ok := c.linker.(libraryInterface); ok {
|
||||
|
Reference in New Issue
Block a user