Add a Name property

Blueprint is going to abdicate responsibility for determining the name
of a module.  Add a name property, and a method to retreive the name.

Test: build.ninja identical
Change-Id: I09c6f5283cd6e28ad4b04c24c5ab8b00f71ae2ab
diff --git a/android/defaults.go b/android/defaults.go
index 11ce099..df1409e 100644
--- a/android/defaults.go
+++ b/android/defaults.go
@@ -80,7 +80,20 @@
 }
 
 func InitDefaultsModule(module Module, d Defaults, props ...interface{}) (blueprint.Module, []interface{}) {
-	return InitDefaultableModule(module, d, props...)
+	props = append(props,
+		&hostAndDeviceProperties{},
+		&commonProperties{},
+		&variableProperties{})
+
+	_, props = InitArchModule(module, props...)
+
+	_, props = InitDefaultableModule(module, d, props...)
+
+	props = append(props, &module.base().nameProperties)
+
+	module.base().module = module
+
+	return module, props
 }
 
 var _ Defaults = (*DefaultsModule)(nil)
diff --git a/android/module.go b/android/module.go
index 06f1fca..52280d2 100644
--- a/android/module.go
+++ b/android/module.go
@@ -99,9 +99,12 @@
 	InstallInData() bool
 }
 
-type commonProperties struct {
+type nameProperties struct {
+	// The name of the module.  Must be unique across all modules.
 	Name string
-	Deps []string
+}
+
+type commonProperties struct {
 	Tags []string
 
 	// emit build rules for this module
@@ -177,7 +180,10 @@
 	base := m.base()
 	base.module = m
 
-	propertyStructs = append(propertyStructs, &base.commonProperties, &base.variableProperties)
+	propertyStructs = append(propertyStructs,
+		&base.nameProperties,
+		&base.commonProperties,
+		&base.variableProperties)
 
 	return m, propertyStructs
 }
@@ -250,6 +256,7 @@
 	// the thing pattern to good use.
 	module Module
 
+	nameProperties          nameProperties
 	commonProperties        commonProperties
 	variableProperties      variableProperties
 	hostAndDeviceProperties hostAndDeviceProperties
@@ -270,6 +277,10 @@
 	hooks hooks
 }
 
+func (a *ModuleBase) Name() string {
+	return a.nameProperties.Name
+}
+
 func (a *ModuleBase) base() *ModuleBase {
 	return a
 }
diff --git a/cc/cc.go b/cc/cc.go
index 5811b0a..b51e13c 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -935,9 +935,6 @@
 		&InstallerProperties{},
 	)
 
-	_, props = android.InitAndroidArchModule(module, android.HostAndDeviceDefault,
-		android.MultilibDefault, props...)
-
 	return android.InitDefaultsModule(module, module, props...)
 }