aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2017-04-27 14:28:00 -0700
committerDan Willemsen <dwillemsen@google.com>2017-04-27 14:33:24 -0700
commitf173d595c2773144a62442e32457324bc2f989ad (patch)
tree923c9c708ff17bf34df3fbdff90a40587c6fb5db /ui
parent96247cef212e81199ea57b50f4e5ec4fdac5808a (diff)
downloadbuild_soong-f173d595c2773144a62442e32457324bc2f989ad.tar.gz
build_soong-f173d595c2773144a62442e32457324bc2f989ad.tar.bz2
build_soong-f173d595c2773144a62442e32457324bc2f989ad.zip
Support ASAN for ckati and ninja
I missed this when converting to soong_ui. Test: m -j blueprint_tools (check soong.log) Test: SANITIZE_HOST=address m -j blueprint_tools Change-Id: I01eb567db6848dc36dd679557291a4e600a63bba
Diffstat (limited to 'ui')
-rw-r--r--ui/build/config.go12
-rw-r--r--ui/build/kati.go2
-rw-r--r--ui/build/ninja.go2
3 files changed, 14 insertions, 2 deletions
diff --git a/ui/build/config.go b/ui/build/config.go
index c01bf4c9..f5007b1b 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -318,3 +318,15 @@ func (c *configImpl) HostPrebuiltTag() string {
panic("Unsupported OS")
}
}
+
+func (c *configImpl) PrebuiltBuildTool(name string) string {
+ if v, ok := c.environ.Get("SANITIZE_HOST"); ok {
+ if sanitize := strings.Fields(v); inList("address", sanitize) {
+ asan := filepath.Join("prebuilts/build-tools", c.HostPrebuiltTag(), "asan/bin", name)
+ if _, err := os.Stat(asan); err == nil {
+ return asan
+ }
+ }
+ }
+ return filepath.Join("prebuilts/build-tools", c.HostPrebuiltTag(), "bin", name)
+}
diff --git a/ui/build/kati.go b/ui/build/kati.go
index f9907675..218ca698 100644
--- a/ui/build/kati.go
+++ b/ui/build/kati.go
@@ -65,7 +65,7 @@ func runKati(ctx Context, config Config) {
genKatiSuffix(ctx, config)
- executable := "prebuilts/build-tools/" + config.HostPrebuiltTag() + "/bin/ckati"
+ executable := config.PrebuiltBuildTool("ckati")
args := []string{
"--ninja",
"--ninja_dir=" + config.OutDir(),
diff --git a/ui/build/ninja.go b/ui/build/ninja.go
index 33f9a07b..054af243 100644
--- a/ui/build/ninja.go
+++ b/ui/build/ninja.go
@@ -26,7 +26,7 @@ func runNinja(ctx Context, config Config) {
ctx.BeginTrace("ninja")
defer ctx.EndTrace()
- executable := "prebuilts/build-tools/" + config.HostPrebuiltTag() + "/bin/ninja"
+ executable := config.PrebuiltBuildTool("ninja")
args := []string{
"-d", "keepdepfile",
}