Skip to content

Commit e0f8e86

Browse files
committed
Skip unnecessary components in x64 try builds
1 parent 2801f9a commit e0f8e86

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

src/tools/opt-dist/src/exec.rs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ impl Bootstrap {
113113
"library/std",
114114
])
115115
.env("RUST_BACKTRACE", "full");
116-
let cmd = add_shared_x_flags(env, cmd);
116+
let mut cmd = add_shared_x_flags(env, cmd);
117117

118118
Self { cmd, metrics_path }
119119
}
@@ -122,7 +122,12 @@ impl Bootstrap {
122122
let metrics_path = env.build_root().join("build").join("metrics.json");
123123
let args = dist_args.iter().map(|arg| arg.as_str()).collect::<Vec<_>>();
124124
let cmd = cmd(&args).env("RUST_BACKTRACE", "full");
125-
let cmd = add_shared_x_flags(env, cmd);
125+
let mut cmd = add_shared_x_flags(env, cmd);
126+
if env.is_fast_try_build() {
127+
// We set build.extended=false for fast try builds, but we still need Cargo
128+
cmd = cmd.arg("cargo");
129+
}
130+
126131
Self { cmd, metrics_path }
127132
}
128133

@@ -188,6 +193,19 @@ impl Bootstrap {
188193
}
189194
}
190195

191-
fn add_shared_x_flags(env: &Environment, cmd: CmdBuilder) -> CmdBuilder {
192-
if env.is_fast_try_build() { cmd.arg("--set").arg("rust.deny-warnings=false") } else { cmd }
196+
fn add_shared_x_flags(env: &Environment, mut cmd: CmdBuilder) -> CmdBuilder {
197+
if env.is_fast_try_build() {
198+
// Skip things that cannot be skipped through `x ... --skip`
199+
cmd.arg("--set")
200+
.arg("rust.llvm-bitcode-linker=false")
201+
// Skip wasm-component-ld. This also skips cargo, which we need to re-enable for dist
202+
.arg("--set")
203+
.arg("build.extended=false")
204+
.arg("--set")
205+
.arg("rust.codegen-backends=['llvm']")
206+
.arg("--set")
207+
.arg("rust.deny-warnings=false")
208+
} else {
209+
cmd
210+
}
193211
}

0 commit comments

Comments
 (0)