diff options
author | Dan Willemsen <dwillemsen@google.com> | 2017-04-27 14:28:00 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2017-04-27 14:33:24 -0700 |
commit | f173d595c2773144a62442e32457324bc2f989ad (patch) | |
tree | 923c9c708ff17bf34df3fbdff90a40587c6fb5db /ui | |
parent | 96247cef212e81199ea57b50f4e5ec4fdac5808a (diff) | |
download | build_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.go | 12 | ||||
-rw-r--r-- | ui/build/kati.go | 2 | ||||
-rw-r--r-- | ui/build/ninja.go | 2 |
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", } |