diff options
Diffstat (limited to 'src/bootstrap/install.rs')
| -rw-r--r-- | src/bootstrap/install.rs | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs index 608924c9c28..743f32ece99 100644 --- a/src/bootstrap/install.rs +++ b/src/bootstrap/install.rs @@ -27,10 +27,8 @@ pub fn install_docs(builder: &Builder, stage: u32, host: Interned<String>) { install_sh(builder, "docs", "rust-docs", stage, Some(host)); } -pub fn install_std(builder: &Builder, stage: u32) { - for target in &builder.build.targets { - install_sh(builder, "std", "rust-std", stage, Some(*target)); - } +pub fn install_std(builder: &Builder, stage: u32, target: Interned<String>) { + install_sh(builder, "std", "rust-std", stage, Some(target)); } pub fn install_cargo(builder: &Builder, stage: u32, host: Interned<String>) { @@ -41,6 +39,10 @@ pub fn install_rls(builder: &Builder, stage: u32, host: Interned<String>) { install_sh(builder, "rls", "rls", stage, Some(host)); } +pub fn install_rustfmt(builder: &Builder, stage: u32, host: Interned<String>) { + install_sh(builder, "rustfmt", "rustfmt", stage, Some(host)); +} + pub fn install_analysis(builder: &Builder, stage: u32, host: Interned<String>) { install_sh(builder, "analysis", "rust-analysis", stage, Some(host)); } @@ -175,19 +177,31 @@ install!((self, builder, _config), install_docs(builder, self.stage, self.target); }; Std, "src/libstd", true, only_hosts: true, { - builder.ensure(dist::Std { - compiler: builder.compiler(self.stage, self.host), - target: self.target - }); - install_std(builder, self.stage); + for target in &builder.build.targets { + builder.ensure(dist::Std { + compiler: builder.compiler(self.stage, self.host), + target: *target + }); + install_std(builder, self.stage, *target); + } }; Cargo, "cargo", _config.extended, only_hosts: true, { builder.ensure(dist::Cargo { stage: self.stage, target: self.target }); install_cargo(builder, self.stage, self.target); }; Rls, "rls", _config.extended, only_hosts: true, { - builder.ensure(dist::Rls { stage: self.stage, target: self.target }); - install_rls(builder, self.stage, self.target); + if builder.ensure(dist::Rls { stage: self.stage, target: self.target }).is_some() { + install_rls(builder, self.stage, self.target); + } else { + println!("skipping Install RLS stage{} ({})", self.stage, self.target); + } + }; + Rustfmt, "rustfmt", _config.extended, only_hosts: true, { + if builder.ensure(dist::Rustfmt { stage: self.stage, target: self.target }).is_some() { + install_rustfmt(builder, self.stage, self.target); + } else { + println!("skipping Install Rustfmt stage{} ({})", self.stage, self.target); + } }; Analysis, "analysis", _config.extended, only_hosts: false, { builder.ensure(dist::Analysis { |
