diff options
| author | Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> | 2025-05-31 18:51:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-31 18:51:51 +0200 |
| commit | 23cc24e0bfbbefccfc7787da636925f0fec53fae (patch) | |
| tree | 119c7880d3f6367a152b070d2ed5f969a164684f | |
| parent | 0254c67b1aa26a9eb64ee919a5a70098bfebd2f9 (diff) | |
| parent | 885184ae41b5dd857d3e1b3c5a326a5858699550 (diff) | |
| download | rust-23cc24e0bfbbefccfc7787da636925f0fec53fae.tar.gz rust-23cc24e0bfbbefccfc7787da636925f0fec53fae.zip | |
Rollup merge of #141819 - mati865:windows-gnullvm-host-fixes, r=jieyouxu
Fixes for building windows-gnullvm hosts Split out from: https://github.com/rust-lang/rust/pull/140772
| -rw-r--r-- | src/bootstrap/src/core/build_steps/compile.rs | 6 | ||||
| -rw-r--r-- | src/bootstrap/src/core/build_steps/llvm.rs | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs index d5ea96b43f5..8668550bddf 100644 --- a/src/bootstrap/src/core/build_steps/compile.rs +++ b/src/bootstrap/src/core/build_steps/compile.rs @@ -1409,7 +1409,7 @@ fn rustc_llvm_env(builder: &Builder<'_>, cargo: &mut Cargo, target: TargetSelect cargo.env("LLVM_LINKER_FLAGS", llvm_linker_flags); } - // Building with a static libstdc++ is only supported on linux right now, + // Building with a static libstdc++ is only supported on Linux and windows-gnu* right now, // not for MSVC or macOS if builder.config.llvm_static_stdcpp && !target.contains("freebsd") @@ -1417,12 +1417,14 @@ fn rustc_llvm_env(builder: &Builder<'_>, cargo: &mut Cargo, target: TargetSelect && !target.contains("apple") && !target.contains("solaris") { + let libstdcxx_name = + if target.contains("windows-gnullvm") { "libc++.a" } else { "libstdc++.a" }; let file = compiler_file( builder, &builder.cxx(target).unwrap(), target, CLang::Cxx, - "libstdc++.a", + libstdcxx_name, ); cargo.env("LLVM_STATIC_STDCPP", file); } diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index 5e4a1c7d9f0..979ff399267 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -285,7 +285,8 @@ impl Step for Llvm { LlvmBuildStatus::ShouldBuild(m) => m, }; - if builder.llvm_link_shared() && target.is_windows() { + if builder.llvm_link_shared() && target.is_windows() && !target.ends_with("windows-gnullvm") + { panic!("shared linking to LLVM is not currently supported on {}", target.triple); } |
