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
diff --git a/android/arch.go b/android/arch.go
index 0673249..08b7b1f 100644
--- a/android/arch.go
+++ b/android/arch.go
@@ -435,6 +435,11 @@
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 @@
}
}
- 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
+ }
}
}