Auto merge of #117328 - lqd:cranelift-rocket, r=Mark-Simulacrum · rust-lang/rust@1dfb6b1 (original) (raw)

File tree

2 files changed

lines changed

2 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -1298,13 +1298,21 @@ impl Step for CodegenBackend {
1298 1298 }
1299 1299
1300 1300 fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
1301 +if builder.config.dry_run() {
1302 +return None;
1303 +}
1304 +
1301 1305 // This prevents rustc_codegen_cranelift from being built for "dist"
1302 1306 // or "install" on the stable/beta channels. It is not yet stable and
1303 1307 // should not be included.
1304 1308 if !builder.build.unstable_features() {
1305 1309 return None;
1306 1310 }
1307 1311
1312 +if !builder.config.rust_codegen_backends.contains(&self.backend) {
1313 +return None;
1314 +}
1315 +
1308 1316 if self.backend == "cranelift" {
1309 1317 if !target_supports_cranelift_backend(self.compiler.host) {
1310 1318 builder.info("target not supported by rustc_codegen_cranelift. skipping");
@@ -1343,12 +1351,15 @@ impl Step for CodegenBackend {
1343 1351 let backends_dst = PathBuf::from("lib").join(&backends_rel);
1344 1352
1345 1353 let backend_name = format!("rustc_codegen_{}", backend);
1354 +let mut found_backend = false;
1346 1355 for backend in fs::read_dir(&backends_src).unwrap() {
1347 1356 let file_name = backend.unwrap().file_name();
1348 1357 if file_name.to_str().unwrap().contains(&backend_name) {
1349 1358 tarball.add_file(backends_src.join(file_name), &backends_dst, 0o644);
1359 + found_backend = true;
1350 1360 }
1351 1361 }
1362 +assert!(found_backend);
1352 1363
1353 1364 Some(tarball.generate())
1354 1365 }
Original file line number Diff line number Diff line change
@@ -288,6 +288,7 @@ docker \
288 288 --env DIST_TRY_BUILD \
289 289 --env PR_CI_JOB \
290 290 --env OBJDIR_ON_HOST="$objdir" \
291 + --env CODEGEN_BACKENDS \
291 292 --init \
292 293 --rm \
293 294 rust-ci \