Add Mega_device configuration option

This lets you configure soong to build for every supported architecture
in one build. Installation is disabled, since it's not actually setting
up multiple devices, and would try to install multiple versions to a
single path.

Configurations that do not build are commented out.

Change-Id: I92ddea0b9ddbd53e12187c7f581b8ac5bd5fdec3
diff --git a/common/config.go b/common/config.go
index 74e0660..a4a2039 100644
--- a/common/config.go
+++ b/common/config.go
@@ -35,6 +35,7 @@
 // A FileConfigurableOptions contains options which can be configured by the
 // config file. These will be included in the config struct.
 type FileConfigurableOptions struct {
+	Mega_device *bool `json:",omitempty"`
 }
 
 func (f *FileConfigurableOptions) SetDefaultConfig() {
@@ -179,6 +180,13 @@
 		return Config{}, err
 	}
 
+	if Bool(config.Mega_device) {
+		deviceArches, err = decodeMegaDevice()
+		if err != nil {
+			return Config{}, err
+		}
+	}
+
 	config.HostArches = hostArches
 	config.DeviceArches = deviceArches
 
@@ -295,3 +303,7 @@
 func (c *config) AllowMissingDependencies() bool {
 	return Bool(c.ProductVariables.Unbundled_build)
 }
+
+func (c *config) SkipInstall() bool {
+	return c.EmbeddedInMake() || Bool(c.Mega_device)
+}