Rollup merge of #124903 - Skepfyr:rustc-wrapper, r=clubby789

Ignore empty RUSTC_WRAPPER in bootstrap

This change ignores the RUSTC_WRAPPER_REAL environment variable if it's set to the empty string. This matches cargo behaviour and allows users to easily shadow a globally set RUSTC_WRAPPER (which they might have set for non-rustc projects).

I hit this because I have RUSTC_WRAPPER set to `sccache` in my fish universal env vars, and I can only shadow those locally with an empty string, I can't unset it entirely.
This commit is contained in:
Matthias Krüger 2024-05-08 23:33:27 +02:00 committed by GitHub
commit 18639db87c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -91,12 +91,13 @@ fn main() {
rustc_real
};
let mut cmd = if let Some(wrapper) = env::var_os("RUSTC_WRAPPER_REAL") {
let mut cmd = Command::new(wrapper);
cmd.arg(rustc_driver);
cmd
} else {
Command::new(rustc_driver)
let mut cmd = match env::var_os("RUSTC_WRAPPER_REAL") {
Some(wrapper) if !wrapper.is_empty() => {
let mut cmd = Command::new(wrapper);
cmd.arg(rustc_driver);
cmd
}
_ => Command::new(rustc_driver),
};
cmd.args(&args).env(dylib_path_var(), env::join_paths(&dylib_path).unwrap());