@@ -85,6 +85,8 @@ impl Step for Rustc {
8585 let compiler = builder. compiler ( 0 , builder. config . build ) ;
8686 let target = self . target ;
8787
88+ builder. ensure ( Test { target } ) ;
89+
8890 let mut cargo = builder. cargo ( compiler, Mode :: Rustc , target, "check" ) ;
8991 rustc_cargo ( builder, & mut cargo) ;
9092
@@ -132,8 +134,7 @@ impl Step for CodegenBackend {
132134 let target = self . target ;
133135 let backend = self . backend ;
134136
135- let out_dir = builder. cargo_out ( compiler, Mode :: Codegen , target) ;
136- builder. clear_if_dirty ( & out_dir, & librustc_stamp ( builder, compiler, target) ) ;
137+ builder. ensure ( Rustc { target } ) ;
137138
138139 let mut cargo = builder. cargo ( compiler, Mode :: Codegen , target, "check" ) ;
139140 cargo. arg ( "--manifest-path" ) . arg ( builder. src . join ( "src/librustc_codegen_llvm/Cargo.toml" ) ) ;
@@ -173,6 +174,8 @@ impl Step for Test {
173174 let compiler = builder. compiler ( 0 , builder. config . build ) ;
174175 let target = self . target ;
175176
177+ builder. ensure ( Std { target } ) ;
178+
176179 let mut cargo = builder. cargo ( compiler, Mode :: Test , target, "check" ) ;
177180 test_cargo ( builder, & compiler, target, & mut cargo) ;
178181
@@ -213,10 +216,7 @@ impl Step for Rustdoc {
213216 let compiler = builder. compiler ( 0 , builder. config . build ) ;
214217 let target = self . target ;
215218
216- let stage_out = builder. stage_out ( compiler, Mode :: ToolRustc ) ;
217- builder. clear_if_dirty ( & stage_out, & libstd_stamp ( builder, compiler, target) ) ;
218- builder. clear_if_dirty ( & stage_out, & libtest_stamp ( builder, compiler, target) ) ;
219- builder. clear_if_dirty ( & stage_out, & librustc_stamp ( builder, compiler, target) ) ;
219+ builder. ensure ( Rustc { target } ) ;
220220
221221 let mut cargo = prepare_tool_cargo ( builder,
222222 compiler,
0 commit comments