about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-10-04 05:02:06 +0200
committerGitHub <noreply@github.com>2023-10-04 05:02:06 +0200
commite6a9bb11fbc500d35d78f330728acfb892f95696 (patch)
tree7cffa843922fb00d6da96bebac55430667ab041e
parent0363cc561d213ea06f8f5a541c1c60a8984d2a5d (diff)
parentf55c87966923fb8d3ba86da875225aaf687a187a (diff)
downloadrust-e6a9bb11fbc500d35d78f330728acfb892f95696.tar.gz
rust-e6a9bb11fbc500d35d78f330728acfb892f95696.zip
Rollup merge of #116365 - P1n3appl3:master, r=onur-ozkan
bootstrap: make copying linker binaries conditional

The change in #116276 breaks bootstrapping if you don't use `lld` for linking with your stage0 compiler. Making this copy conditional should be enough to fix it.
-rw-r--r--src/bootstrap/compile.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
index daf0798357b..cf1f97c5b41 100644
--- a/src/bootstrap/compile.rs
+++ b/src/bootstrap/compile.rs
@@ -167,12 +167,14 @@ impl Step for Std {
                 .rustc_snapshot_sysroot()
                 .join("lib")
                 .join("rustlib")
-                .join(&compiler.host.triple)
+                .join(compiler.host.triple)
                 .join("bin");
-            let target_sysroot_bin =
-                builder.sysroot_libdir(compiler, target).parent().unwrap().join("bin");
-            t!(fs::create_dir_all(&target_sysroot_bin));
-            builder.cp_r(&src_sysroot_bin, &target_sysroot_bin);
+            if src_sysroot_bin.exists() {
+                let target_sysroot_bin =
+                    builder.sysroot_libdir(compiler, target).parent().unwrap().join("bin");
+                t!(fs::create_dir_all(&target_sysroot_bin));
+                builder.cp_r(&src_sysroot_bin, &target_sysroot_bin);
+            }
         }
 
         let mut cargo = builder.cargo(compiler, Mode::Std, SourceType::InTree, target, "build");