Add an NDK ABIs mega build configuration.

The NDK needs generic prebuilts for all architectures.

Test: echo '{ "Ndk_abis": true }' > soong.config && \
          ./soong $OUT_DIR/ndk.timestamp
Bug: None

Change-Id: I2ee3ebbf4cbd1bc593f9e4e9fb44fb66711da9d5
diff --git a/android/arch.go b/android/arch.go
index 61564d8..6c99684 100644
--- a/android/arch.go
+++ b/android/arch.go
@@ -799,13 +799,15 @@
 	return targets, nil
 }
 
-func decodeMegaDevice() ([]Target, error) {
-	archSettings := []struct {
-		arch        string
-		archVariant string
-		cpuVariant  string
-		abi         []string
-	}{
+type archConfig struct {
+	arch        string
+	archVariant string
+	cpuVariant  string
+	abi         []string
+}
+
+func getMegaDeviceConfig() []archConfig {
+	return []archConfig{
 		// armv5 is only used for unbundled apps
 		//{"arm", "armv5te", "", []string{"armeabi"}},
 		{"arm", "armv7-a", "generic", []string{"armeabi-v7a"}},
@@ -846,10 +848,23 @@
 		{"x86_64", "sandybridge", "", []string{"x86_64"}},
 		{"x86_64", "silvermont", "", []string{"x86_64"}},
 	}
+}
 
+func getNdkAbisConfig() []archConfig {
+	return []archConfig{
+		{"arm", "armv5te", "", []string{"armeabi"}},
+		{"arm64", "armv8-a", "", []string{"arm64-v8a"}},
+		{"mips", "mips32-fp", "", []string{"mips"}},
+		{"mips64", "mips64r6", "", []string{"mips64"}},
+		{"x86", "", "", []string{"x86"}},
+		{"x86_64", "", "", []string{"x86_64"}},
+	}
+}
+
+func decodeArchSettings(archConfigs []archConfig) ([]Target, error) {
 	var ret []Target
 
-	for _, config := range archSettings {
+	for _, config := range archConfigs {
 		arch, err := decodeArch(config.arch, &config.archVariant,
 			&config.cpuVariant, &config.abi)
 		if err != nil {