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
diff --git a/ui/build/config.go b/ui/build/config.go
index c01bf4c..f5007b1 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -318,3 +318,15 @@
 		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 f990767..218ca69 100644
--- a/ui/build/kati.go
+++ b/ui/build/kati.go
@@ -65,7 +65,7 @@
 
 	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 33f9a07..054af24 100644
--- a/ui/build/ninja.go
+++ b/ui/build/ninja.go
@@ -26,7 +26,7 @@
 	ctx.BeginTrace("ninja")
 	defer ctx.EndTrace()
 
-	executable := "prebuilts/build-tools/" + config.HostPrebuiltTag() + "/bin/ninja"
+	executable := config.PrebuiltBuildTool("ninja")
 	args := []string{
 		"-d", "keepdepfile",
 	}