diff options
| author | onur-ozkan <work@onurozkan.dev> | 2024-03-02 20:34:38 +0300 |
|---|---|---|
| committer | onur-ozkan <work@onurozkan.dev> | 2024-03-10 18:52:21 +0300 |
| commit | e5e1fa610b4b6945903246b030d7d1cad2866afb (patch) | |
| tree | da10081587770cd300afcddaf0748d1a44c334ad | |
| parent | b6e4299415646106095a7c3ca71aba9d174ee4ea (diff) | |
| download | rust-e5e1fa610b4b6945903246b030d7d1cad2866afb.tar.gz rust-e5e1fa610b4b6945903246b030d7d1cad2866afb.zip | |
skip sanity check for non-host targets in `check` builds
For `check` builds, since we only need to perform a sanity check on the host target, this patch skips target sanity checks on non-host targets. Signed-off-by: onur-ozkan <work@onurozkan.dev>
| -rw-r--r-- | src/bootstrap/src/core/sanity.rs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/bootstrap/src/core/sanity.rs b/src/bootstrap/src/core/sanity.rs index 1dce8d8ac71..e03b1e17908 100644 --- a/src/bootstrap/src/core/sanity.rs +++ b/src/bootstrap/src/core/sanity.rs @@ -15,6 +15,7 @@ use std::fs; use std::path::PathBuf; use std::process::Command; +use crate::builder::Kind; use crate::core::config::Target; use crate::utils::helpers::output; use crate::Build; @@ -64,6 +65,8 @@ pub fn check(build: &mut Build) { let mut skip_target_sanity = env::var_os("BOOTSTRAP_SKIP_TARGET_SANITY").is_some_and(|s| s == "1" || s == "true"); + skip_target_sanity |= build.config.cmd.kind() == Kind::Check; + // Skip target sanity checks when we are doing anything with mir-opt tests or Miri let skipped_paths = [OsStr::new("mir-opt"), OsStr::new("miri")]; skip_target_sanity |= build.config.paths.iter().any(|path| { @@ -169,11 +172,8 @@ than building it. continue; } - // Some environments don't want or need these tools, such as when testing Miri. - // FIXME: it would be better to refactor this code to split necessary setup from pure sanity - // checks, and have a regular flag for skipping the latter. Also see - // <https://github.com/rust-lang/rust/pull/103569#discussion_r1008741742>. - if skip_target_sanity { + // skip check for cross-targets + if skip_target_sanity && target != &build.build { continue; } @@ -215,11 +215,8 @@ than building it. panic!("All the *-none-* and nvptx* targets are no-std targets") } - // Some environments don't want or need these tools, such as when testing Miri. - // FIXME: it would be better to refactor this code to split necessary setup from pure sanity - // checks, and have a regular flag for skipping the latter. Also see - // <https://github.com/rust-lang/rust/pull/103569#discussion_r1008741742>. - if skip_target_sanity { + // skip check for cross-targets + if skip_target_sanity && target != &build.build { continue; } |
