Add CC_WRAPPER support

Change-Id: If252c41ec1e3d708f599990c72be69dc8117ae14
diff --git a/cc/builder.go b/cc/builder.go
index b84c928..f016cbd 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -43,7 +43,7 @@
 		blueprint.RuleParams{
 			Depfile:     "${out}.d",
 			Deps:        blueprint.DepsGCC,
-			Command:     "$relPwd $ccCmd -c $cFlags -MD -MF ${out}.d -o $out $in",
+			Command:     "$relPwd ${config.CcWrapper}$ccCmd -c $cFlags -MD -MF ${out}.d -o $out $in",
 			CommandDeps: []string{"$ccCmd"},
 			Description: "cc $out",
 		},
diff --git a/cc/config/global.go b/cc/config/global.go
index 9d8a25d..f1989a2 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -127,6 +127,13 @@
 	pctx.StaticVariable("ClangBin", "${ClangPath}/bin")
 
 	pctx.StaticVariable("ClangAsanLibDir", "${ClangPath}/lib64/clang/3.8/lib/linux")
+
+	pctx.VariableFunc("CcWrapper", func(config interface{}) (string, error) {
+		if override := config.(android.Config).Getenv("CC_WRAPPER"); override != "" {
+			return override + " ", nil
+		}
+		return "", nil
+	})
 }
 
 var HostPrebuiltTag = pctx.VariableConfigMethod("HostPrebuiltTag", android.Config.PrebuiltOS)