summaryrefslogtreecommitdiffstats
path: root/src/bootstrap/check.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootstrap/check.rs')
-rw-r--r--src/bootstrap/check.rs95
1 files changed, 66 insertions, 29 deletions
diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs
index 4b8a58e87..cd1966713 100644
--- a/src/bootstrap/check.rs
+++ b/src/bootstrap/check.rs
@@ -58,9 +58,10 @@ fn args(builder: &Builder<'_>) -> Vec<String> {
clippy_lint_warn.iter().for_each(|v| clippy_lint_levels.push(format!("-W{}", v)));
clippy_lint_forbid.iter().for_each(|v| clippy_lint_levels.push(format!("-F{}", v)));
args.extend(clippy_lint_levels);
+ args.extend(builder.config.free_args.clone());
args
} else {
- vec![]
+ builder.config.free_args.clone()
}
}
@@ -99,11 +100,20 @@ impl Step for Std {
cargo_subcommand(builder.kind),
);
std_cargo(builder, target, compiler.stage, &mut cargo);
+ if matches!(builder.config.cmd, Subcommand::Fix { .. }) {
+ // By default, cargo tries to fix all targets. Tell it not to fix tests until we've added `test` to the sysroot.
+ cargo.arg("--lib");
+ }
- builder.info(&format!(
- "Checking stage{} library artifacts ({} -> {})",
- builder.top_stage, &compiler.host, target
- ));
+ let msg = if compiler.host == target {
+ format!("Checking stage{} library artifacts ({target})", builder.top_stage)
+ } else {
+ format!(
+ "Checking stage{} library artifacts ({} -> {})",
+ builder.top_stage, &compiler.host, target
+ )
+ };
+ builder.info(&msg);
run_cargo(
builder,
cargo,
@@ -157,10 +167,18 @@ impl Step for Std {
cargo.arg("-p").arg(krate.name);
}
- builder.info(&format!(
- "Checking stage{} library test/bench/example targets ({} -> {})",
- builder.top_stage, &compiler.host, target
- ));
+ let msg = if compiler.host == target {
+ format!(
+ "Checking stage{} library test/bench/example targets ({target})",
+ builder.top_stage
+ )
+ } else {
+ format!(
+ "Checking stage{} library test/bench/example targets ({} -> {})",
+ builder.top_stage, &compiler.host, target
+ )
+ };
+ builder.info(&msg);
run_cargo(
builder,
cargo,
@@ -234,10 +252,15 @@ impl Step for Rustc {
cargo.arg("-p").arg(krate.name);
}
- builder.info(&format!(
- "Checking stage{} compiler artifacts ({} -> {})",
- builder.top_stage, &compiler.host, target
- ));
+ let msg = if compiler.host == target {
+ format!("Checking stage{} compiler artifacts ({target})", builder.top_stage)
+ } else {
+ format!(
+ "Checking stage{} compiler artifacts ({} -> {})",
+ builder.top_stage, &compiler.host, target
+ )
+ };
+ builder.info(&msg);
run_cargo(
builder,
cargo,
@@ -294,10 +317,15 @@ impl Step for CodegenBackend {
.arg(builder.src.join(format!("compiler/rustc_codegen_{}/Cargo.toml", backend)));
rustc_cargo_env(builder, &mut cargo, target);
- builder.info(&format!(
- "Checking stage{} {} artifacts ({} -> {})",
- builder.top_stage, backend, &compiler.host.triple, target.triple
- ));
+ let msg = if compiler.host == target {
+ format!("Checking stage{} {} artifacts ({target})", builder.top_stage, backend)
+ } else {
+ format!(
+ "Checking stage{} {} library ({} -> {})",
+ builder.top_stage, backend, &compiler.host.triple, target.triple
+ )
+ };
+ builder.info(&msg);
run_cargo(
builder,
@@ -357,10 +385,15 @@ impl Step for RustAnalyzer {
cargo.arg("--benches");
}
- builder.info(&format!(
- "Checking stage{} {} artifacts ({} -> {})",
- compiler.stage, "rust-analyzer", &compiler.host.triple, target.triple
- ));
+ let msg = if compiler.host == target {
+ format!("Checking stage{} {} artifacts ({target})", compiler.stage, "rust-analyzer")
+ } else {
+ format!(
+ "Checking stage{} {} artifacts ({} -> {})",
+ compiler.stage, "rust-analyzer", &compiler.host.triple, target.triple
+ )
+ };
+ builder.info(&msg);
run_cargo(
builder,
cargo,
@@ -427,14 +460,18 @@ macro_rules! tool_check_step {
// NOTE: this doesn't enable lints for any other tools unless they explicitly add `#![warn(rustc::internal)]`
// See https://github.com/rust-lang/rust/pull/80573#issuecomment-754010776
cargo.rustflag("-Zunstable-options");
-
- builder.info(&format!(
- "Checking stage{} {} artifacts ({} -> {})",
- builder.top_stage,
- stringify!($name).to_lowercase(),
- &compiler.host.triple,
- target.triple
- ));
+ let msg = if compiler.host == target {
+ format!("Checking stage{} {} artifacts ({target})", builder.top_stage, stringify!($name).to_lowercase())
+ } else {
+ format!(
+ "Checking stage{} {} artifacts ({} -> {})",
+ builder.top_stage,
+ stringify!($name).to_lowercase(),
+ &compiler.host.triple,
+ target.triple
+ )
+ };
+ builder.info(&msg);
run_cargo(
builder,
cargo,