diff options
| author | bors <bors@rust-lang.org> | 2023-12-15 06:24:30 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-12-15 06:24:30 +0000 |
| commit | c9e0610055d313390bce55e26234aa496d41c46e (patch) | |
| tree | a05200c33404b43f367f4fde0f8e3c5cb262c9e7 /src/bootstrap | |
| parent | 5747646aab51c430690afa993aa5268cfd00cd8c (diff) | |
| parent | b0d92a7653c49b5e82b68c624fe0f28944dfe988 (diff) | |
Auto merge of #3227 - rust-lang:rustup-2023-12-15, r=RalfJung
Automatic Rustup
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/src/bin/main.rs | 2 | ||||
| -rw-r--r-- | src/bootstrap/src/core/config/config.rs | 38 | ||||
| -rw-r--r-- | src/bootstrap/src/tests/config.rs | 6 |
3 files changed, 23 insertions, 23 deletions
diff --git a/src/bootstrap/src/bin/main.rs b/src/bootstrap/src/bin/main.rs index fd103876319..b1ab8dae535 100644 --- a/src/bootstrap/src/bin/main.rs +++ b/src/bootstrap/src/bin/main.rs @@ -174,7 +174,7 @@ fn check_version(config: &Config) -> Option<String> { "update `config.toml` to use `change-id = {latest_change_id}` instead" )); - if io::stdout().is_terminal() { + if io::stdout().is_terminal() && !config.dry_run() { t!(fs::write(warned_id_path, latest_change_id.to_string())); } } diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs index ff51760e193..f1e1b89d9ba 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs @@ -1795,8 +1795,7 @@ impl Config { config.llvm_link_shared.set(Some(true)); } } else { - config.llvm_from_ci = config.channel == "dev" - && crate::core::build_steps::llvm::is_ci_llvm_available(&config, false); + config.llvm_from_ci = config.parse_download_ci_llvm(None, false); } if let Some(t) = toml.target { @@ -1969,7 +1968,7 @@ impl Config { config } - pub(crate) fn dry_run(&self) -> bool { + pub fn dry_run(&self) -> bool { match self.dry_run { DryRun::Disabled => false, DryRun::SelfCheck | DryRun::UserSelected => true, @@ -2341,29 +2340,30 @@ impl Config { download_ci_llvm: Option<StringOrBool>, asserts: bool, ) -> bool { + let if_unchanged = || { + // Git is needed to track modifications here, but tarball source is not available. + // If not modified here or built through tarball source, we maintain consistency + // with '"if available"'. + if !self.rust_info.is_from_tarball() + && self + .last_modified_commit(&["src/llvm-project"], "download-ci-llvm", true) + .is_none() + { + // there are some untracked changes in the the given paths. + false + } else { + llvm::is_ci_llvm_available(&self, asserts) + } + }; match download_ci_llvm { - None => self.channel == "dev" && llvm::is_ci_llvm_available(&self, asserts), + None => self.channel == "dev" && if_unchanged(), Some(StringOrBool::Bool(b)) => b, // FIXME: "if-available" is deprecated. Remove this block later (around mid 2024) // to not break builds between the recent-to-old checkouts. Some(StringOrBool::String(s)) if s == "if-available" => { llvm::is_ci_llvm_available(&self, asserts) } - Some(StringOrBool::String(s)) if s == "if-unchanged" => { - // Git is needed to track modifications here, but tarball source is not available. - // If not modified here or built through tarball source, we maintain consistency - // with '"if available"'. - if !self.rust_info.is_from_tarball() - && self - .last_modified_commit(&["src/llvm-project"], "download-ci-llvm", true) - .is_none() - { - // there are some untracked changes in the the given paths. - false - } else { - llvm::is_ci_llvm_available(&self, asserts) - } - } + Some(StringOrBool::String(s)) if s == "if-unchanged" => if_unchanged(), Some(StringOrBool::String(other)) => { panic!("unrecognized option for download-ci-llvm: {:?}", other) } diff --git a/src/bootstrap/src/tests/config.rs b/src/bootstrap/src/tests/config.rs index c24d57fb8f8..6f432343882 100644 --- a/src/bootstrap/src/tests/config.rs +++ b/src/bootstrap/src/tests/config.rs @@ -31,10 +31,10 @@ fn download_ci_llvm() { assert_eq!(parse_llvm(""), if_unchanged); assert_eq!(parse_llvm("rust.channel = \"dev\""), if_unchanged); assert!(!parse_llvm("rust.channel = \"stable\"")); - assert!(parse_llvm("build.build = \"x86_64-unknown-linux-gnu\"")); - assert!(parse_llvm( + assert_eq!(parse_llvm("build.build = \"x86_64-unknown-linux-gnu\""), if_unchanged); + assert_eq!(parse_llvm( "llvm.assertions = true \r\n build.build = \"x86_64-unknown-linux-gnu\" \r\n llvm.download-ci-llvm = \"if-unchanged\"" - )); + ), if_unchanged); assert!(!parse_llvm( "llvm.assertions = true \r\n build.build = \"aarch64-apple-darwin\" \r\n llvm.download-ci-llvm = \"if-unchanged\"" )); |
