refactor fn bootstrap::builder::Builder::compiler_for
- check compiler stage before forcing for stage2. - check if download_rustc is not set before forcing for stage1. Signed-off-by: ozkanonur <work@onurozkan.dev>
This commit is contained in:
parent
0058748944
commit
2ec7f6c8d5
@ -919,9 +919,9 @@ impl<'a> Builder<'a> {
|
||||
host: TargetSelection,
|
||||
target: TargetSelection,
|
||||
) -> Compiler {
|
||||
if self.build.force_use_stage2() {
|
||||
if self.build.force_use_stage2(stage) {
|
||||
self.compiler(2, self.config.build)
|
||||
} else if self.build.force_use_stage1(Compiler { stage, host }, target) {
|
||||
} else if self.build.force_use_stage1(stage, target) {
|
||||
self.compiler(1, self.config.build)
|
||||
} else {
|
||||
self.compiler(stage, host)
|
||||
|
@ -1198,19 +1198,20 @@ impl Build {
|
||||
///
|
||||
/// When all of these conditions are met the build will lift artifacts from
|
||||
/// the previous stage forward.
|
||||
fn force_use_stage1(&self, compiler: Compiler, target: TargetSelection) -> bool {
|
||||
fn force_use_stage1(&self, stage: u32, target: TargetSelection) -> bool {
|
||||
!self.config.full_bootstrap
|
||||
&& compiler.stage >= 2
|
||||
&& !self.config.download_rustc()
|
||||
&& stage >= 2
|
||||
&& (self.hosts.iter().any(|h| *h == target) || target == self.build)
|
||||
}
|
||||
|
||||
/// Checks whether the `compiler` compiling for `target` should be forced to
|
||||
/// use a stage2 compiler instead.
|
||||
///
|
||||
/// When we download the pre-compiled version of rustc it should be forced to
|
||||
/// use a stage2 compiler.
|
||||
fn force_use_stage2(&self) -> bool {
|
||||
self.config.download_rustc()
|
||||
/// When we download the pre-compiled version of rustc and compiler stage is >= 2,
|
||||
/// it should be forced to use a stage2 compiler.
|
||||
fn force_use_stage2(&self, stage: u32) -> bool {
|
||||
self.config.download_rustc() && stage >= 2
|
||||
}
|
||||
|
||||
/// Given `num` in the form "a.b.c" return a "release string" which
|
||||
|
Loading…
x
Reference in New Issue
Block a user