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/arm_device.go b/cc/config/arm_device.go
index 85a891a..1b60eae 100644
--- a/cc/config/arm_device.go
+++ b/cc/config/arm_device.go
@@ -145,6 +145,19 @@
 )
 
 func init() {
+	android.RegisterArchVariants(android.Arm,
+		"armv5te",
+		"armv7_a",
+		"armv7_a_neon",
+		"cortex_a7",
+		"cortex_a8",
+		"cortex_a9",
+		"cortex_a15",
+		"cortex_a53",
+		"cortex_a53_a57",
+		"krait",
+		"denver")
+
 	replaceFirst := func(slice []string, from, to string) {
 		if slice[0] != from {
 			panic(fmt.Errorf("Expected %q, found %q", from, to))