Only copy, rename and link llvm-objcopy if llvm tools are enabled

Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
This commit is contained in:
Jieyou Xu 2024-11-07 19:39:18 +08:00
parent 9200cbc712
commit cf9cec3d84

View file

@ -1976,9 +1976,13 @@ impl Step for Assemble {
}
}
{
// `llvm-strip` is used by rustc, which is actually just a symlink to `llvm-objcopy`,
// so copy and rename `llvm-objcopy`.
if builder.config.llvm_enabled(target_compiler.host) && builder.config.llvm_tools_enabled {
// `llvm-strip` is used by rustc, which is actually just a symlink to `llvm-objcopy`, so
// copy and rename `llvm-objcopy`.
//
// But only do so if llvm-tools are enabled, as bootstrap compiler might not contain any
// LLVM tools, e.g. for cg_clif.
// See <https://github.com/rust-lang/rust/issues/132719>.
let src_exe = exe("llvm-objcopy", target_compiler.host);
let dst_exe = exe("rust-objcopy", target_compiler.host);
builder.copy_link(&libdir_bin.join(src_exe), &libdir_bin.join(dst_exe));