Dynamically generate arch struct

Now we don't need to hardcode the list of OS/Arch/Variant/Features in
android/arch.go.

Change-Id: I0f9cc35d55baa31f036825fdf5b9dd30d076e56e
diff --git a/cc/config/mips_device.go b/cc/config/mips_device.go
index deef10f..f5b14bd 100644
--- a/cc/config/mips_device.go
+++ b/cc/config/mips_device.go
@@ -126,7 +126,15 @@
 )
 
 func init() {
-	android.RegisterArchFeatures(android.Mips, "mips32r6",
+	android.RegisterArchVariants(android.Mips,
+		"mips32_fp",
+		"mips32r2_fp",
+		"mips32r2_fp_xburst",
+		"mips32r2dsp_fp",
+		"mips32r2dspr2_fp",
+		"mips32r6")
+	android.RegisterArchFeatures(android.Mips, "rev6")
+	android.RegisterArchVariantFeatures(android.Mips, "mips32r6",
 		"rev6")
 
 	pctx.StaticVariable("mipsGccVersion", mipsGccVersion)