Support mixed ASAN and non-ASAN host builds
Host builds may build binaries that must have ASAN disabled. Convert
host ASAN to use variants. Since there is only one install location for
shared libraries, don't install the non-ASAN variant at all for now.
Test: mmma -j art SANITIZE_HOST=address
Change-Id: Iacefecac93df44823316624b4c540c24f643fb80
diff --git a/cc/sanitize.go b/cc/sanitize.go
index de19b82..bb1a2ad 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -354,20 +354,18 @@
modules := mctx.CreateVariations(t.String())
modules[0].(*Module).sanitize.SetSanitizer(t, true)
} else if c.sanitize.Properties.SanitizeDep {
- if c.Host() {
- modules := mctx.CreateVariations(t.String())
- modules[0].(*Module).sanitize.SetSanitizer(t, true)
- modules[0].(*Module).sanitize.Properties.SanitizeDep = false
- } else {
- modules := mctx.CreateVariations("", t.String())
- modules[0].(*Module).sanitize.SetSanitizer(t, false)
- modules[1].(*Module).sanitize.SetSanitizer(t, true)
- modules[0].(*Module).sanitize.Properties.SanitizeDep = false
- modules[1].(*Module).sanitize.Properties.SanitizeDep = false
+ modules := mctx.CreateVariations("", t.String())
+ modules[0].(*Module).sanitize.SetSanitizer(t, false)
+ modules[1].(*Module).sanitize.SetSanitizer(t, true)
+ modules[0].(*Module).sanitize.Properties.SanitizeDep = false
+ modules[1].(*Module).sanitize.Properties.SanitizeDep = false
+ if mctx.Device() {
modules[1].(*Module).sanitize.Properties.InData = true
- if mctx.AConfig().EmbeddedInMake() {
- modules[0].(*Module).Properties.HideFromMake = true
- }
+ } else {
+ modules[0].(*Module).Properties.PreventInstall = true
+ }
+ if mctx.AConfig().EmbeddedInMake() {
+ modules[0].(*Module).Properties.HideFromMake = true
}
}
c.sanitize.Properties.SanitizeDep = false