Set incremental or codegen-units, not both

This CL changes the handling of Rust flags to only pass one of either
incremental or codegen-units.  This is necessary because incremental
implies a codegen-units value of 128 and it may be overridden by the
separate codegen-units argument.

Test: TH
Change-Id: Ia474e4f9fc071d5054cb479ec9de550fa886677e
This commit is contained in:
Chris Wailes 2023-10-12 10:56:34 -07:00
parent d56338cc6f
commit 7c1b29c9a4
2 changed files with 4 additions and 3 deletions

View file

@ -278,7 +278,9 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
if ctx.Config().IsEnvTrue("SOONG_RUSTC_INCREMENTAL") {
incrementalPath := android.PathForOutput(ctx, "rustc").String()
rustcFlags = append(rustcFlags, "-Cincremental="+incrementalPath)
rustcFlags = append(rustcFlags, "-C incremental="+incrementalPath)
} else {
rustcFlags = append(rustcFlags, "-C codegen-units=1")
}
// Disallow experimental features

View file

@ -44,7 +44,6 @@ var (
GlobalRustFlags = []string{
"-Z stack-protector=strong",
"-Z remap-cwd-prefix=.",
"-C codegen-units=1",
"-C debuginfo=2",
"-C opt-level=3",
"-C relocation-model=pic",
@ -55,7 +54,7 @@ var (
// This flag requires to have no space so that when it's exported to bazel
// it can be removed. See aosp/2768339
"--color=always",
"-Zdylib-lto",
"-Z dylib-lto",
"-Z link-native-libraries=no",
}