Auto merge of #137541 - onur-ozkan:fix-cargo-clippy-bin, r=jieyouxu
add `tool::CargoClippy` and `tool::Cargofmt` binary to target sysroot When running `x build clippy`, we expect `stage1-tool-bin/cargo-clippy` and `stage2/bin/cargo-clippy` to be the same, but they aren't. This happens because `tool::CargoClippy` doesn't place its binary in the `stage2` directory. As a result, `stage1-tool-bin/cargo-clippy` comes from `tool::CargoClippy`, while `stage2/bin/cargo-clippy` comes from `tool::Cargo`. Same applies for `tool::Cargofmt`. This PR fixes the issue by adding `tool::CargoClippy` and ``tool::Cargofmt`` binaries to the expected sysroot and makes sure both directories share the same binary. To test this, run `x build --stage 2 compiler clippy rustfmt`, link the stage2 sysroot with rustup, and then call `cargo +stage2 fmt` and `cargo +stage2 clippy` on any rust project (it wouldn't work without this PR).
This commit is contained in:
commit
a96fa317d7
2 changed files with 15 additions and 4 deletions
|
@ -1201,13 +1201,23 @@ fn run_tool_build_step(
|
|||
}
|
||||
}
|
||||
|
||||
tool_extended!(Cargofmt { path: "src/tools/rustfmt", tool_name: "cargo-fmt", stable: true });
|
||||
tool_extended!(CargoClippy { path: "src/tools/clippy", tool_name: "cargo-clippy", stable: true });
|
||||
tool_extended!(Cargofmt {
|
||||
path: "src/tools/rustfmt",
|
||||
tool_name: "cargo-fmt",
|
||||
stable: true,
|
||||
add_bins_to_sysroot: ["cargo-fmt"]
|
||||
});
|
||||
tool_extended!(CargoClippy {
|
||||
path: "src/tools/clippy",
|
||||
tool_name: "cargo-clippy",
|
||||
stable: true,
|
||||
add_bins_to_sysroot: ["cargo-clippy"]
|
||||
});
|
||||
tool_extended!(Clippy {
|
||||
path: "src/tools/clippy",
|
||||
tool_name: "clippy-driver",
|
||||
stable: true,
|
||||
add_bins_to_sysroot: ["clippy-driver", "cargo-clippy"]
|
||||
add_bins_to_sysroot: ["clippy-driver"]
|
||||
});
|
||||
tool_extended!(Miri {
|
||||
path: "src/tools/miri",
|
||||
|
@ -1226,7 +1236,7 @@ tool_extended!(Rustfmt {
|
|||
path: "src/tools/rustfmt",
|
||||
tool_name: "rustfmt",
|
||||
stable: true,
|
||||
add_bins_to_sysroot: ["rustfmt", "cargo-fmt"]
|
||||
add_bins_to_sysroot: ["rustfmt"]
|
||||
});
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
|
|
|
@ -890,6 +890,7 @@ impl<'a> Builder<'a> {
|
|||
gcc::Gcc,
|
||||
llvm::Sanitizers,
|
||||
tool::Rustfmt,
|
||||
tool::Cargofmt,
|
||||
tool::Miri,
|
||||
tool::CargoMiri,
|
||||
llvm::Lld,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue