diff options
Diffstat (limited to 'src/bootstrap/compile.rs')
| -rw-r--r-- | src/bootstrap/compile.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index 0b430f64e1e..f1960e39a41 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -42,8 +42,10 @@ impl Step for Std { fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { // When downloading stage1, the standard library has already been copied to the sysroot, so // there's no need to rebuild it. - let download_rustc = run.builder.config.download_rustc; - run.all_krates("test").path("library").default_condition(!download_rustc) + let builder = run.builder; + run.all_krates("test") + .path("library") + .lazy_default_condition(Box::new(|| !builder.download_rustc())) } fn make_run(run: RunConfig<'_>) { @@ -66,7 +68,7 @@ impl Step for Std { // Don't recompile them. // NOTE: the ABI of the beta compiler is different from the ABI of the downloaded compiler, // so its artifacts can't be reused. - if builder.config.download_rustc && compiler.stage != 0 { + if builder.download_rustc() && compiler.stage != 0 { return; } @@ -551,7 +553,7 @@ impl Step for Rustc { // NOTE: the ABI of the beta compiler is different from the ABI of the downloaded compiler, // so its artifacts can't be reused. - if builder.config.download_rustc && compiler.stage != 0 { + if builder.download_rustc() && compiler.stage != 0 { // Copy the existing artifacts instead of rebuilding them. // NOTE: this path is only taken for tools linking to rustc-dev. builder.ensure(Sysroot { compiler }); @@ -995,7 +997,7 @@ impl Step for Sysroot { t!(fs::create_dir_all(&sysroot)); // If we're downloading a compiler from CI, we can use the same compiler for all stages other than 0. - if builder.config.download_rustc && compiler.stage != 0 { + if builder.download_rustc() && compiler.stage != 0 { assert_eq!( builder.config.build, compiler.host, "Cross-compiling is not yet supported with `download-rustc`", @@ -1090,7 +1092,7 @@ impl Step for Assemble { let build_compiler = builder.compiler(target_compiler.stage - 1, builder.config.build); // If we're downloading a compiler from CI, we can use the same compiler for all stages other than 0. - if builder.config.download_rustc { + if builder.download_rustc() { builder.ensure(Sysroot { compiler: target_compiler }); return target_compiler; } |
