Support sanitizer variants inside make builds

Create both sanitized and unsanitized variants inside make builds with
sanitizers enabled.  Only export the sanitized version to make, and
always install the sanitized version in /data to match the make build.

Change-Id: I5a17bcbddc7a9d871c929c84d3c116228ef3258f
diff --git a/cc/cc.go b/cc/cc.go
index d5f17a8..0fa3ca9 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -427,6 +427,7 @@
 	No_default_compiler_flags *bool
 
 	AndroidMkSharedLibs []string `blueprint:"mutated"`
+	HideFromMake        bool     `blueprint:"mutated"`
 }
 
 type InstallerProperties struct {
@@ -992,20 +993,6 @@
 	return c.installer.inData()
 }
 
-type appendVariantName interface {
-	appendVariantName(string)
-}
-
-func (c *Module) appendVariantName(name string) {
-	if c.linker == nil {
-		return
-	}
-
-	if l, ok := c.linker.(appendVariantName); ok {
-		l.appendVariantName(name)
-	}
-}
-
 // Compiler
 
 type baseCompiler struct {
@@ -1476,7 +1463,6 @@
 }
 
 var _ linker = (*libraryLinker)(nil)
-var _ appendVariantName = (*libraryLinker)(nil)
 
 func (library *libraryLinker) props() []interface{} {
 	props := library.baseLinker.props()
@@ -1667,10 +1653,6 @@
 	return !library.static()
 }
 
-func (library *libraryLinker) appendVariantName(variant string) {
-	library.Properties.VariantName += variant
-}
-
 type libraryInstaller struct {
 	baseInstaller