about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/bootstrap/builder.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index dc27fd56fb0..03608518da1 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -709,6 +709,7 @@ impl<'a> Builder<'a> {
         let mut cargo = Command::new(&self.initial_cargo);
         let out_dir = self.stage_out(compiler, mode);
 
+        // command specific path, we call clear_if_dirty with this
         let mut my_out = match cmd {
             "build" => self.cargo_out(compiler, mode, target),
 
@@ -754,20 +755,22 @@ impl<'a> Builder<'a> {
                 Mode::Std => {
                     self.clear_if_dirty(&my_out, &self.rustc(compiler));
                 },
+                Mode::Test => {
+                    self.clear_if_dirty(&my_out, &libstd_stamp);
+                },
                 Mode::Rustc => {
                     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::Test => {
-                    self.clear_if_dirty(&my_out, &libstd_stamp);
-                },
+                Mode::Codegen => { },
+                Mode::ToolStd => { },
+                Mode::ToolTest => { },
                 Mode::ToolRustc => {
                     self.clear_if_dirty(&my_out, &libstd_stamp);
                     self.clear_if_dirty(&my_out, &libtest_stamp);
                     self.clear_if_dirty(&my_out, &librustc_stamp);
-                }
-                _ => { }
+                },
             }
         }