1212
1313use compile:: { run_cargo, std_cargo, test_cargo, rustc_cargo, rustc_cargo_env, add_to_sysroot} ;
1414use builder:: { RunConfig , Builder , ShouldRun , Step } ;
15- use tool:: { self , prepare_tool_cargo, SourceType } ;
15+ use tool:: { prepare_tool_cargo, SourceType } ;
1616use { Compiler , Mode } ;
1717use cache:: { INTERNER , Interned } ;
1818use std:: path:: PathBuf ;
@@ -40,14 +40,11 @@ impl Step for Std {
4040 let target = self . target ;
4141 let compiler = builder. compiler ( 0 , builder. config . build ) ;
4242
43- let out_dir = builder. stage_out ( compiler, Mode :: Std ) ;
44- builder. clear_if_dirty ( & out_dir, & builder. rustc ( compiler) ) ;
45-
4643 let mut cargo = builder. cargo ( compiler, Mode :: Std , target, "check" ) ;
4744 std_cargo ( builder, & compiler, target, & mut cargo) ;
4845
4946 let _folder = builder. fold_output ( || format ! ( "stage{}-std" , compiler. stage) ) ;
50- println ! ( "Checking std artifacts ({} -> {})" , & compiler. host, target) ;
47+ builder . info ( & format ! ( "Checking std artifacts ({} -> {})" , & compiler. host, target) ) ;
5148 run_cargo ( builder,
5249 & mut cargo,
5350 vec ! [ ] ,
@@ -88,15 +85,13 @@ impl Step for Rustc {
8885 let compiler = builder. compiler ( 0 , builder. config . build ) ;
8986 let target = self . target ;
9087
91- let stage_out = builder. stage_out ( compiler, Mode :: Rustc ) ;
92- builder. clear_if_dirty ( & stage_out, & libstd_stamp ( builder, compiler, target) ) ;
93- builder. clear_if_dirty ( & stage_out, & libtest_stamp ( builder, compiler, target) ) ;
88+ builder. ensure ( Test { target } ) ;
9489
9590 let mut cargo = builder. cargo ( compiler, Mode :: Rustc , target, "check" ) ;
9691 rustc_cargo ( builder, & mut cargo) ;
9792
9893 let _folder = builder. fold_output ( || format ! ( "stage{}-rustc" , compiler. stage) ) ;
99- println ! ( "Checking compiler artifacts ({} -> {})" , & compiler. host, target) ;
94+ builder . info ( & format ! ( "Checking compiler artifacts ({} -> {})" , & compiler. host, target) ) ;
10095 run_cargo ( builder,
10196 & mut cargo,
10297 vec ! [ ] ,
@@ -139,8 +134,7 @@ impl Step for CodegenBackend {
139134 let target = self . target ;
140135 let backend = self . backend ;
141136
142- let out_dir = builder. cargo_out ( compiler, Mode :: Codegen , target) ;
143- builder. clear_if_dirty ( & out_dir, & librustc_stamp ( builder, compiler, target) ) ;
137+ builder. ensure ( Rustc { target } ) ;
144138
145139 let mut cargo = builder. cargo ( compiler, Mode :: Codegen , target, "check" ) ;
146140 cargo. arg ( "--manifest-path" ) . arg ( builder. src . join ( "src/librustc_codegen_llvm/Cargo.toml" ) ) ;
@@ -180,14 +174,13 @@ impl Step for Test {
180174 let compiler = builder. compiler ( 0 , builder. config . build ) ;
181175 let target = self . target ;
182176
183- let out_dir = builder. stage_out ( compiler, Mode :: Test ) ;
184- builder. clear_if_dirty ( & out_dir, & libstd_stamp ( builder, compiler, target) ) ;
177+ builder. ensure ( Std { target } ) ;
185178
186179 let mut cargo = builder. cargo ( compiler, Mode :: Test , target, "check" ) ;
187180 test_cargo ( builder, & compiler, target, & mut cargo) ;
188181
189182 let _folder = builder. fold_output ( || format ! ( "stage{}-test" , compiler. stage) ) ;
190- println ! ( "Checking test artifacts ({} -> {})" , & compiler. host, target) ;
183+ builder . info ( & format ! ( "Checking test artifacts ({} -> {})" , & compiler. host, target) ) ;
191184 run_cargo ( builder,
192185 & mut cargo,
193186 vec ! [ ] ,
@@ -223,10 +216,7 @@ impl Step for Rustdoc {
223216 let compiler = builder. compiler ( 0 , builder. config . build ) ;
224217 let target = self . target ;
225218
226- let stage_out = builder. stage_out ( compiler, Mode :: ToolRustc ) ;
227- builder. clear_if_dirty ( & stage_out, & libstd_stamp ( builder, compiler, target) ) ;
228- builder. clear_if_dirty ( & stage_out, & libtest_stamp ( builder, compiler, target) ) ;
229- builder. clear_if_dirty ( & stage_out, & librustc_stamp ( builder, compiler, target) ) ;
219+ builder. ensure ( Rustc { target } ) ;
230220
231221 let mut cargo = prepare_tool_cargo ( builder,
232222 compiler,
@@ -246,12 +236,7 @@ impl Step for Rustdoc {
246236
247237 let libdir = builder. sysroot_libdir ( compiler, target) ;
248238 add_to_sysroot ( & builder, & libdir, & rustdoc_stamp ( builder, compiler, target) ) ;
249-
250- builder. ensure ( tool:: CleanTools {
251- compiler,
252- target,
253- cause : Mode :: Rustc ,
254- } ) ;
239+ builder. cargo ( compiler, Mode :: ToolRustc , target, "clean" ) ;
255240 }
256241}
257242
0 commit comments