Merge "Fixing protoOutParams concatenation."
diff --git a/ui/build/config.go b/ui/build/config.go
index a1b5bd4..aa60b3f 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -48,6 +48,8 @@
ninjaArgs []string
katiSuffix string
targetDevice string
+
+ brokenDupRules bool
}
const srcDirFileCheck = "build/soong/root.bp"
@@ -556,3 +558,11 @@
}
return filepath.Join("prebuilts/build-tools", c.HostPrebuiltTag(), "bin", name)
}
+
+func (c *configImpl) SetBuildBrokenDupRules(val bool) {
+ c.brokenDupRules = val
+}
+
+func (c *configImpl) BuildBrokenDupRules() bool {
+ return c.brokenDupRules
+}
diff --git a/ui/build/dumpvars.go b/ui/build/dumpvars.go
index a0e1eca..eb43ed6 100644
--- a/ui/build/dumpvars.go
+++ b/ui/build/dumpvars.go
@@ -156,6 +156,9 @@
// To find target/product/<DEVICE>
"TARGET_DEVICE",
+
+ // Whether --werror_overriding_commands will work
+ "BUILD_BROKEN_DUP_RULES",
}, exportEnvVars...), BannerVars...)
make_vars, err := dumpMakeVars(ctx, config, config.Arguments(), allVars, true)
@@ -179,4 +182,6 @@
config.SetKatiArgs(strings.Fields(make_vars["KATI_GOALS"]))
config.SetNinjaArgs(strings.Fields(make_vars["NINJA_GOALS"]))
config.SetTargetDevice(make_vars["TARGET_DEVICE"])
+
+ config.SetBuildBrokenDupRules(make_vars["BUILD_BROKEN_DUP_RULES"] != "false")
}
diff --git a/ui/build/kati.go b/ui/build/kati.go
index dde5ecc..a73ebdf 100644
--- a/ui/build/kati.go
+++ b/ui/build/kati.go
@@ -81,6 +81,10 @@
"-f", "build/make/core/main.mk",
}
+ if !config.BuildBrokenDupRules() {
+ args = append(args, "--werror_overriding_commands")
+ }
+
if !config.Environment().IsFalse("KATI_EMULATE_FIND") {
args = append(args, "--use_find_emulator")
}
@@ -190,6 +194,7 @@
"--color_warnings",
"--gen_all_targets",
"--werror_find_emulator",
+ "--werror_overriding_commands",
"--use_find_emulator",
"-f", "build/make/core/cleanbuild.mk",
"BUILDING_WITH_NINJA=true",