]> git.lizzy.rs Git - rust.git/blobdiff - src/bootstrap/compile.rs
Add wrapper for -Z gcc-ld=lld to invoke rust-lld with the correct flavor
[rust.git] / src / bootstrap / compile.rs
index ae234fb1dc729ba9cef9b98992c44dbd88252b99..4b189672226ea5984ee75c6f2780b12baac1df43 100644 (file)
@@ -1136,14 +1136,14 @@ fn run(self, builder: &Builder<'_>) -> Compiler {
             // for `-Z gcc-ld=lld`
             let gcc_ld_dir = libdir_bin.join("gcc-ld");
             t!(fs::create_dir(&gcc_ld_dir));
-            builder.copy(
-                &lld_install.join("bin").join(&src_exe),
-                &gcc_ld_dir.join(exe("ld", target_compiler.host)),
-            );
-            builder.copy(
-                &lld_install.join("bin").join(&src_exe),
-                &gcc_ld_dir.join(exe("ld64", target_compiler.host)),
-            );
+            for flavor in ["ld", "ld64"] {
+                let lld_wrapper_exe = builder.ensure(crate::tool::LldWrapper {
+                    compiler: build_compiler,
+                    target: target_compiler.host,
+                    flavor_feature: flavor,
+                });
+                builder.copy(&lld_wrapper_exe, &gcc_ld_dir.join(exe(flavor, target_compiler.host)));
+            }
         }
 
         // Similarly, copy `llvm-dwp` into libdir for Split DWARF. Only copy it when the LLVM