Skip to content

Commit 27a45d0

Browse files
committed
Auto merge of #76708 - Mark-Simulacrum:lld-macos, r=alexcrichton
Always try to promote shared LLVM to the sysroot Even when LLVM is not generally participating in a shared link with rustc, we will likely still link to the shared dylib from rust-lld, so we still need to promote it. This reverts part of #76349; my expectation that the link-shared rule was sufficient was likely wrong. Hopefully fixes #76698. r? `@alexcrichton`
2 parents 4c1966f + f001a0c commit 27a45d0

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/bootstrap/native.rs

+4
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,10 @@ impl Step for Llvm {
129129
Err(m) => m,
130130
};
131131

132+
if builder.config.llvm_link_shared && target.contains("windows") {
133+
panic!("shared linking to LLVM is not currently supported on Windows");
134+
}
135+
132136
builder.info(&format!("Building LLVM for {}", target));
133137
t!(stamp.remove());
134138
let _time = util::timeit(&builder);

src/ci/run.sh

+7
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,13 @@ if [ "$DEPLOY$DEPLOY_ALT" = "1" ]; then
7575
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.remap-debuginfo"
7676
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --debuginfo-level-std=1"
7777

78+
# If we're distributing binaries, we want a shared LLVM link. We're already
79+
# going to link LLVM to the LLVM tools dynamically, so we need to ship a
80+
# libLLVM library anyway.
81+
if !isWindows; then
82+
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set llvm.link-shared=true"
83+
fi
84+
7885
if [ "$NO_LLVM_ASSERTIONS" = "1" ]; then
7986
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-llvm-assertions"
8087
elif [ "$DEPLOY_ALT" != "" ]; then

0 commit comments

Comments
 (0)