Rollup merge of #78842 - shepmaster:bootstrap-rustfmt, r=Mark-Simulacrum
Honor the rustfmt setting in config.toml Prior to this, setting the rustfmt configuration was ignored: ``` % mkdir example % cd example % ../configure --set build.rustfmt=/usr/bin/true % ../x.py fmt ./x.py fmt is not supported on this channel failed to run: /Users/shep/Projects/rust/example/build/bootstrap/debug/bootstrap fmt Build completed unsuccessfully in 0:00:01 ``` And after: ``` % ../x.py fmt Build completed successfully in 0:00:11 ``` r? `@Mark-Simulacrum`
This commit is contained in:
commit
cb90042049
@ -913,11 +913,18 @@ impl Config {
|
|||||||
set(&mut config.missing_tools, t.missing_tools);
|
set(&mut config.missing_tools, t.missing_tools);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cargo does not provide a RUSTFMT environment variable, so we
|
config.initial_rustfmt = config.initial_rustfmt.or_else({
|
||||||
// synthesize it manually. Note that we also later check the config.toml
|
let build = config.build;
|
||||||
// and set this to that path if necessary.
|
let initial_rustc = &config.initial_rustc;
|
||||||
let rustfmt = config.initial_rustc.with_file_name(exe("rustfmt", config.build));
|
|
||||||
config.initial_rustfmt = if rustfmt.exists() { Some(rustfmt) } else { None };
|
move || {
|
||||||
|
// Cargo does not provide a RUSTFMT environment variable, so we
|
||||||
|
// synthesize it manually.
|
||||||
|
let rustfmt = initial_rustc.with_file_name(exe("rustfmt", build));
|
||||||
|
|
||||||
|
if rustfmt.exists() { Some(rustfmt) } else { None }
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Now that we've reached the end of our configuration, infer the
|
// Now that we've reached the end of our configuration, infer the
|
||||||
// default values for all options that we haven't otherwise stored yet.
|
// default values for all options that we haven't otherwise stored yet.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user