diff options
| author | Collins Abitekaniza <abtcolns@gmail.com> | 2018-07-13 16:53:29 +0300 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2018-09-12 13:31:53 -0600 |
| commit | e792d1d96a88dbf737675de0682d82b7ddff8984 (patch) | |
| tree | 9f14079143a9bdac11ea26fbe8f0d32702e95e2c /src/bootstrap | |
| parent | de3ec8dd1a2c0fbc09b025e7d7276f91f72420d9 (diff) | |
| download | rust-e792d1d96a88dbf737675de0682d82b7ddff8984.tar.gz rust-e792d1d96a88dbf737675de0682d82b7ddff8984.zip | |
remove struct CleanTools
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/builder.rs | 17 | ||||
| -rw-r--r-- | src/bootstrap/check.rs | 9 | ||||
| -rw-r--r-- | src/bootstrap/compile.rs | 20 | ||||
| -rw-r--r-- | src/bootstrap/lib.rs | 2 | ||||
| -rw-r--r-- | src/bootstrap/tool.rs | 27 |
5 files changed, 22 insertions, 53 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 03608518da1..13449f0e00f 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -754,6 +754,7 @@ impl<'a> Builder<'a> { match mode { Mode::Std => { self.clear_if_dirty(&my_out, &self.rustc(compiler)); + self.clear_if_dirty(&my_out, &libstd_stamp); }, Mode::Test => { self.clear_if_dirty(&my_out, &libstd_stamp); @@ -763,9 +764,19 @@ impl<'a> Builder<'a> { self.clear_if_dirty(&my_out, &libstd_stamp); self.clear_if_dirty(&my_out, &libtest_stamp); }, - Mode::Codegen => { }, - Mode::ToolStd => { }, - Mode::ToolTest => { }, + Mode::Codegen => { + self.clear_if_dirty(&my_out, &self.rustc(compiler)); + self.clear_if_dirty(&my_out, &libstd_stamp); + self.clear_if_dirty(&my_out, &libtest_stamp); + }, + Mode::ToolBootstrap => { }, + Mode::ToolStd => { + self.clear_if_dirty(&my_out, &libstd_stamp); + }, + Mode::ToolTest => { + self.clear_if_dirty(&my_out, &libstd_stamp); + self.clear_if_dirty(&my_out, &libtest_stamp); + }, Mode::ToolRustc => { self.clear_if_dirty(&my_out, &libstd_stamp); self.clear_if_dirty(&my_out, &libtest_stamp); diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs index 55153808393..04de97b5315 100644 --- a/src/bootstrap/check.rs +++ b/src/bootstrap/check.rs @@ -12,7 +12,7 @@ use compile::{run_cargo, std_cargo, test_cargo, rustc_cargo, rustc_cargo_env, add_to_sysroot}; use builder::{RunConfig, Builder, ShouldRun, Step}; -use tool::{self, prepare_tool_cargo, SourceType}; +use tool::{prepare_tool_cargo, SourceType}; use {Compiler, Mode}; use cache::{INTERNER, Interned}; use std::path::PathBuf; @@ -236,12 +236,7 @@ impl Step for Rustdoc { let libdir = builder.sysroot_libdir(compiler, target); add_to_sysroot(&builder, &libdir, &rustdoc_stamp(builder, compiler, target)); - - builder.ensure(tool::CleanTools { - compiler, - target, - cause: Mode::Rustc, - }); + builder.cargo(compiler, Mode::ToolRustc, target, "clean"); } } diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index c59247e1fd6..ff6d2b504d2 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -32,7 +32,6 @@ use serde_json; use util::{exe, libdir, is_dylib, CiEnv}; use {Compiler, Mode}; use native; -use tool; use cache::{INTERNER, Interned}; use builder::{Step, RunConfig, ShouldRun, Builder}; @@ -244,11 +243,7 @@ impl Step for StdLink { copy_apple_sanitizer_dylibs(builder, &builder.native_dir(target), "osx", &libdir); } - builder.ensure(tool::CleanTools { - compiler: target_compiler, - target, - cause: Mode::Std, - }); + builder.cargo(target_compiler, Mode::ToolStd, target, "clean"); } } @@ -444,11 +439,8 @@ impl Step for TestLink { target)); add_to_sysroot(builder, &builder.sysroot_libdir(target_compiler, target), &libtest_stamp(builder, compiler, target)); - builder.ensure(tool::CleanTools { - compiler: target_compiler, - target, - cause: Mode::Test, - }); + + builder.cargo(target_compiler, Mode::ToolTest, target, "clean"); } } @@ -606,11 +598,7 @@ impl Step for RustcLink { target)); add_to_sysroot(builder, &builder.sysroot_libdir(target_compiler, target), &librustc_stamp(builder, compiler, target)); - builder.ensure(tool::CleanTools { - compiler: target_compiler, - target, - cause: Mode::Rustc, - }); + builder.cargo(target_compiler, Mode::ToolRustc, target, "clean"); } } diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 2725abdc3d9..5e4c1786b0d 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -347,6 +347,7 @@ pub enum Mode { /// Compile a tool which uses all libraries we compile (up to rustc). /// Doesn't use the stage0 compiler libraries like "other", and includes /// tools like rustdoc, cargo, rls, etc. + ToolTest, ToolStd, ToolRustc, } @@ -567,6 +568,7 @@ impl Build { Mode::Codegen => "-codegen", Mode::ToolBootstrap => "-bootstrap-tools", Mode::ToolStd => "-tools", + Mode::ToolTest => "-tools", Mode::ToolRustc => "-tools", }; self.out.join(&*compiler.host) diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs index 4cdb3080d8d..e5299761a15 100644 --- a/src/bootstrap/tool.rs +++ b/src/bootstrap/tool.rs @@ -25,33 +25,6 @@ use channel::GitInfo; use cache::Interned; use toolstate::ToolState; -#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub struct CleanTools { - pub compiler: Compiler, - pub target: Interned<String>, - pub cause: Mode, -} - -impl Step for CleanTools { - type Output = (); - - fn should_run(run: ShouldRun) -> ShouldRun { - run.never() - } - - fn run(self, _builder: &Builder) { - let cause = self.cause; - - for &cur_mode in &[Mode::Std, Mode::Test, Mode::Rustc] { - // If we are a rustc tool, and std changed, we also need to clear ourselves out -- our - // dependencies depend on std. Therefore, we iterate up until our own mode. - if cause == cur_mode { - break; - } - } - } -} - #[derive(Debug, Clone, Hash, PartialEq, Eq)] pub enum SourceType { InTree, |
