Hybrid soong/mk build using prebuilts

Change-Id: I96daa69af27bd19c8bfbe327a1318f51c738fc03
diff --git a/common/config.go b/common/config.go
index fbd2be9..c67023e 100644
--- a/common/config.go
+++ b/common/config.go
@@ -38,9 +38,11 @@
 
 type Config struct {
 	*config
+
+	dontCreateNinjaFile bool
 }
 
-// A config object represents the entire build configuration for Blue.
+// A config object represents the entire build configuration for Android.
 type config struct {
 	FileConfigurableOptions
 	ProductVariables productVariables
@@ -48,6 +50,9 @@
 	ConfigFileName           string
 	ProductVariablesFileName string
 
+	DeviceArches []Arch
+	HostArches   map[HostType][]Arch
+
 	srcDir   string // the path of the root source directory
 	buildDir string // the path of the build output directory
 
@@ -143,6 +148,14 @@
 		return Config{}, err
 	}
 
+	hostArches, deviceArches, err := decodeArchProductVariables(config.ProductVariables)
+	if err != nil {
+		return Config{}, err
+	}
+
+	config.HostArches = hostArches
+	config.DeviceArches = deviceArches
+
 	return config, nil
 }
 
@@ -158,6 +171,10 @@
 	return filepath.Join(c.BuildDir(), ".intermediates")
 }
 
+func (c *config) RemoveAbandonedFiles() bool {
+	return false
+}
+
 // PrebuiltOS returns the name of the host OS used in prebuilts directories
 func (c *config) PrebuiltOS() string {
 	switch runtime.GOOS {