Move Ndk_abis from soong.config to soong.variables

soong.config is not cleared between builds, which can cause
problems when switching between an ndk build and a platform build.

Bug: 118398924
Test: OUT_DIR=out_ndk DIST_DIR=dist build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: Ifc03a0c25f46625375cdda5723e4a09d7d8050d5
diff --git a/android/config.go b/android/config.go
index 0aee0e3..3b7b477 100644
--- a/android/config.go
+++ b/android/config.go
@@ -41,7 +41,6 @@
 // config file. These will be included in the config struct.
 type FileConfigurableOptions struct {
 	Mega_device *bool `json:",omitempty"`
-	Ndk_abis    *bool `json:",omitempty"`
 	Host_bionic *bool `json:",omitempty"`
 }
 
@@ -299,7 +298,7 @@
 	var archConfig []archConfig
 	if Bool(config.Mega_device) {
 		archConfig = getMegaDeviceConfig()
-	} else if Bool(config.Ndk_abis) {
+	} else if config.NdkAbis() {
 		archConfig = getNdkAbisConfig()
 	}
 
@@ -862,6 +861,10 @@
 	return ok
 }
 
+func (c *config) NdkAbis() bool {
+	return Bool(c.productVariables.Ndk_abis)
+}
+
 func stringSlice(s *[]string) []string {
 	if s != nil {
 		return *s
diff --git a/android/variable.go b/android/variable.go
index 476171b..2eb9900 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -239,6 +239,8 @@
 	BoardPlatPrivateSepolicyDirs []string `json:",omitempty"`
 
 	VendorVars map[string]map[string]string `json:",omitempty"`
+
+	Ndk_abis *bool `json:",omitempty"`
 }
 
 func boolPtr(v bool) *bool {
diff --git a/cc/ndk_headers.go b/cc/ndk_headers.go
index cdf63d8..a7d6e04 100644
--- a/cc/ndk_headers.go
+++ b/cc/ndk_headers.go
@@ -134,7 +134,7 @@
 	// but keep them when doing regular platform build.
 	// Ndk_abis property is only set to true with build/soong/scripts/build-ndk-prebuilts.sh
 	// TODO: Revert this once MIPS is supported in NDK again.
-	if Bool(ctx.AConfig().Ndk_abis) && strings.Contains(ctx.ModuleName(), "mips") {
+	if ctx.Config().NdkAbis() && strings.Contains(ctx.ModuleName(), "mips") {
 		return
 	}
 
diff --git a/scripts/build-ndk-prebuilts.sh b/scripts/build-ndk-prebuilts.sh
index 7f6e2c9..0143d1e 100755
--- a/scripts/build-ndk-prebuilts.sh
+++ b/scripts/build-ndk-prebuilts.sh
@@ -34,11 +34,6 @@
 SOONG_NDK_OUT=${OUT_DIR}/soong/ndk
 rm -rf ${SOONG_OUT}
 mkdir -p ${SOONG_OUT}
-cat > ${SOONG_OUT}/soong.config << EOF
-{
-    "Ndk_abis": true
-}
-EOF
 
 # We only really need to set some of these variables, but soong won't merge this
 # with the defaults, so we need to write out all the defaults with our values
@@ -63,7 +58,9 @@
     ],
     "HostArch": "x86_64",
     "Malloc_not_svelte": false,
-    "Safestack": false
+    "Safestack": false,
+
+    "Ndk_abis": true
 }
 EOF
 m --skip-make ${SOONG_OUT}/ndk.timestamp