Support no configured device architectures

There are some builds where we only want to build host tools, and we may
not have a valid device configuration. Support 0 device architectures
and modules that don't have any configured way to build.

Change-Id: I732251e1cd3cdbfafbc6ef6a550e33e653876f7c
This commit is contained in:
Dan Willemsen 2016-07-11 14:36:48 -07:00
parent 76f0827ce3
commit 3f32f03067
2 changed files with 17 additions and 14 deletions

View File

@ -435,6 +435,11 @@ func ArchMutator(mctx BottomUpMutatorContext) {
moduleTargets = append(moduleTargets, targets...)
}
if len(moduleTargets) == 0 {
module.base().commonProperties.Enabled = boolPtr(false)
return
}
targetNames := make([]string, len(moduleTargets))
for i, target := range moduleTargets {
@ -762,21 +767,19 @@ func decodeTargetProductVariables(config Config) (map[OsClass][]Target, error) {
}
}
if variables.DeviceArch == nil {
return nil, fmt.Errorf("No device primary architecture set")
}
if variables.DeviceArch != nil && *variables.DeviceArch != "" {
addTarget(Android, *variables.DeviceArch, variables.DeviceArchVariant,
variables.DeviceCpuVariant, variables.DeviceAbi)
addTarget(Android, *variables.DeviceArch, variables.DeviceArchVariant,
variables.DeviceCpuVariant, variables.DeviceAbi)
if variables.DeviceSecondaryArch != nil && *variables.DeviceSecondaryArch != "" {
addTarget(Android, *variables.DeviceSecondaryArch,
variables.DeviceSecondaryArchVariant, variables.DeviceSecondaryCpuVariant,
variables.DeviceSecondaryAbi)
if variables.DeviceSecondaryArch != nil && *variables.DeviceSecondaryArch != "" {
addTarget(Android, *variables.DeviceSecondaryArch,
variables.DeviceSecondaryArchVariant, variables.DeviceSecondaryCpuVariant,
variables.DeviceSecondaryAbi)
deviceArches := targets[Device]
if deviceArches[0].Arch.ArchType.Multilib == deviceArches[1].Arch.ArchType.Multilib {
deviceArches[1].Arch.Native = false
deviceArches := targets[Device]
if deviceArches[0].Arch.ArchType.Multilib == deviceArches[1].Arch.ArchType.Multilib {
deviceArches[1].Arch.Native = false
}
}
}

View File

@ -909,7 +909,7 @@ func (c *Module) depsMutator(actx android.BottomUpMutatorContext) {
}
func depsMutator(ctx android.BottomUpMutatorContext) {
if c, ok := ctx.Module().(*Module); ok {
if c, ok := ctx.Module().(*Module); ok && c.Enabled() {
c.depsMutator(ctx)
}
}