Skip to content

Commit 1dfb6b1

Browse files
committed
Auto merge of rust-lang#117328 - lqd:cranelift-rocket, r=Mark-Simulacrum
pass `CODEGEN_BACKENDS` to docker The backends to build are now defined in the `CODEGEN_BACKENDS` env var. It's correctly set in CI, but wasn't passed to docker, hence cg_clif wasn't actually built in rust-lang#81746. r? `@Kobzol:` I locally tried `CODEGEN_BACKENDS="cranelift" DEPLOY=1 src/ci/docker/run.sh dist-x86_64-linux` and this change was enough for `ci/run.sh` to read the env var. So I'll try as-is and we'll see.
2 parents bcb5798 + f656acc commit 1dfb6b1

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/bootstrap/src/core/build_steps/dist.rs

+11
Original file line numberDiff line numberDiff line change
@@ -1298,13 +1298,21 @@ impl Step for CodegenBackend {
12981298
}
12991299

13001300
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
1301+
if builder.config.dry_run() {
1302+
return None;
1303+
}
1304+
13011305
// This prevents rustc_codegen_cranelift from being built for "dist"
13021306
// or "install" on the stable/beta channels. It is not yet stable and
13031307
// should not be included.
13041308
if !builder.build.unstable_features() {
13051309
return None;
13061310
}
13071311

1312+
if !builder.config.rust_codegen_backends.contains(&self.backend) {
1313+
return None;
1314+
}
1315+
13081316
if self.backend == "cranelift" {
13091317
if !target_supports_cranelift_backend(self.compiler.host) {
13101318
builder.info("target not supported by rustc_codegen_cranelift. skipping");
@@ -1343,12 +1351,15 @@ impl Step for CodegenBackend {
13431351
let backends_dst = PathBuf::from("lib").join(&backends_rel);
13441352

13451353
let backend_name = format!("rustc_codegen_{}", backend);
1354+
let mut found_backend = false;
13461355
for backend in fs::read_dir(&backends_src).unwrap() {
13471356
let file_name = backend.unwrap().file_name();
13481357
if file_name.to_str().unwrap().contains(&backend_name) {
13491358
tarball.add_file(backends_src.join(file_name), &backends_dst, 0o644);
1359+
found_backend = true;
13501360
}
13511361
}
1362+
assert!(found_backend);
13521363

13531364
Some(tarball.generate())
13541365
}

src/ci/docker/run.sh

+1
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ docker \
288288
--env DIST_TRY_BUILD \
289289
--env PR_CI_JOB \
290290
--env OBJDIR_ON_HOST="$objdir" \
291+
--env CODEGEN_BACKENDS \
291292
--init \
292293
--rm \
293294
rust-ci \

0 commit comments

Comments
 (0)