about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-08-04 11:32:35 +0200
committerGitHub <noreply@github.com>2024-08-04 11:32:35 +0200
commitad5b9c24c0103671f434f4fac654cecc0197656e (patch)
treeeff0c707bffc612ddb622908436ea55738091474
parent8c826923aeac30d812fca5dc1d0f9f26c73168e9 (diff)
parent5ce554f4ecaffe1161eaecc9111a06da3a95cc12 (diff)
downloadrust-ad5b9c24c0103671f434f4fac654cecc0197656e.tar.gz
rust-ad5b9c24c0103671f434f4fac654cecc0197656e.zip
Rollup merge of #128589 - onur-ozkan:llvm-configs, r=cuviper
allow setting `link-shared` and `static-libstdcpp` with CI LLVM

These options also affect `compiler/rustc_llvm` builds. They should be configurable even when using CI LLVM.

r? ```@cuviper```
-rw-r--r--src/bootstrap/src/core/config/config.rs20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs
index 776e2c5cb17..14beef20bad 100644
--- a/src/bootstrap/src/core/config/config.rs
+++ b/src/bootstrap/src/core/config/config.rs
@@ -1845,6 +1845,23 @@ impl Config {
             config.llvm_from_ci = config.parse_download_ci_llvm(download_ci_llvm, asserts);
 
             if config.llvm_from_ci {
+                let warn = |option: &str| {
+                    println!(
+                        "WARNING: `{option}` will only be used on `compiler/rustc_llvm` build, not for the LLVM build."
+                    );
+                    println!(
+                        "HELP: To use `{option}` for LLVM builds, set `download-ci-llvm` option to false."
+                    );
+                };
+
+                if static_libstdcpp.is_some() {
+                    warn("static-libstdcpp");
+                }
+
+                if link_shared.is_some() {
+                    warn("link-shared");
+                }
+
                 // None of the LLVM options, except assertions, are supported
                 // when using downloaded LLVM. We could just ignore these but
                 // that's potentially confusing, so force them to not be
@@ -1854,9 +1871,6 @@ impl Config {
                 check_ci_llvm!(optimize_toml);
                 check_ci_llvm!(thin_lto);
                 check_ci_llvm!(release_debuginfo);
-                // CI-built LLVM can be either dynamic or static. We won't know until we download it.
-                check_ci_llvm!(link_shared);
-                check_ci_llvm!(static_libstdcpp);
                 check_ci_llvm!(targets);
                 check_ci_llvm!(experimental_targets);
                 check_ci_llvm!(clang_cl);