Skip to content

Commit 52c5d30

Browse files
committed
refactor initial-sysroot handling
Signed-off-by: onur-ozkan <[email protected]>
1 parent e1fb288 commit 52c5d30

File tree

3 files changed

+9
-12
lines changed

3 files changed

+9
-12
lines changed

src/bootstrap/src/core/build_steps/test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,7 @@ impl Step for Tidy {
10621062
if builder.config.channel == "dev" || builder.config.channel == "nightly" {
10631063
builder.info("fmt check");
10641064
if builder.initial_rustfmt().is_none() {
1065-
let inferred_rustfmt_dir = builder.initial_rustc.parent().unwrap();
1065+
let inferred_rustfmt_dir = builder.initial_sysroot.join("bin");
10661066
eprintln!(
10671067
"\
10681068
ERROR: no `rustfmt` binary found in {PATH}

src/bootstrap/src/core/config/config.rs

+6-8
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,7 @@ pub struct Config {
360360
pub initial_cargo: PathBuf,
361361
pub initial_rustc: PathBuf,
362362
pub initial_cargo_clippy: Option<PathBuf>,
363+
pub initial_sysroot: PathBuf,
363364

364365
#[cfg(not(test))]
365366
initial_rustfmt: RefCell<RustfmtState>,
@@ -1541,8 +1542,6 @@ impl Config {
15411542
);
15421543
}
15431544

1544-
config.initial_cargo_clippy = cargo_clippy;
1545-
15461545
config.initial_rustc = if let Some(rustc) = rustc {
15471546
if !flags.skip_stage0_validation {
15481547
config.check_stage0_version(&rustc, "rustc");
@@ -1558,19 +1557,18 @@ impl Config {
15581557
.join(exe("rustc", config.build))
15591558
};
15601559

1560+
config.initial_sysroot = config.initial_rustc.ancestors().nth(2).unwrap().into();
1561+
1562+
config.initial_cargo_clippy = cargo_clippy;
1563+
15611564
config.initial_cargo = if let Some(cargo) = cargo {
15621565
if !flags.skip_stage0_validation {
15631566
config.check_stage0_version(&cargo, "cargo");
15641567
}
15651568
cargo
15661569
} else {
15671570
config.download_beta_toolchain();
1568-
config
1569-
.out
1570-
.join(config.build)
1571-
.join("stage0")
1572-
.join("bin")
1573-
.join(exe("cargo", config.build))
1571+
config.initial_sysroot.join("bin").join(exe("cargo", config.build))
15741572
};
15751573

15761574
// NOTE: it's important this comes *after* we set `initial_rustc` just above.

src/bootstrap/src/core/download.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -427,9 +427,8 @@ impl Config {
427427
let version = &self.stage0_metadata.compiler.version;
428428
let host = self.build;
429429

430-
let bin_root = self.out.join(host).join("stage0");
431-
let clippy_stamp = bin_root.join(".clippy-stamp");
432-
let cargo_clippy = bin_root.join("bin").join(exe("cargo-clippy", host));
430+
let clippy_stamp = self.initial_sysroot.join(".clippy-stamp");
431+
let cargo_clippy = self.initial_sysroot.join("bin").join(exe("cargo-clippy", host));
433432
if cargo_clippy.exists() && !program_out_of_date(&clippy_stamp, date) {
434433
return cargo_clippy;
435434
}

0 commit comments

Comments
 (0)