12
12
13
13
use compile:: { run_cargo, std_cargo, test_cargo, rustc_cargo, rustc_cargo_env, add_to_sysroot} ;
14
14
use builder:: { RunConfig , Builder , ShouldRun , Step } ;
15
- use tool:: { self , prepare_tool_cargo, SourceType } ;
15
+ use tool:: { prepare_tool_cargo, SourceType } ;
16
16
use { Compiler , Mode } ;
17
17
use cache:: { INTERNER , Interned } ;
18
18
use std:: path:: PathBuf ;
@@ -40,14 +40,11 @@ impl Step for Std {
40
40
let target = self . target ;
41
41
let compiler = builder. compiler ( 0 , builder. config . build ) ;
42
42
43
- let out_dir = builder. stage_out ( compiler, Mode :: Std ) ;
44
- builder. clear_if_dirty ( & out_dir, & builder. rustc ( compiler) ) ;
45
-
46
43
let mut cargo = builder. cargo ( compiler, Mode :: Std , target, "check" ) ;
47
44
std_cargo ( builder, & compiler, target, & mut cargo) ;
48
45
49
46
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) ) ;
51
48
run_cargo ( builder,
52
49
& mut cargo,
53
50
vec ! [ ] ,
@@ -88,15 +85,13 @@ impl Step for Rustc {
88
85
let compiler = builder. compiler ( 0 , builder. config . build ) ;
89
86
let target = self . target ;
90
87
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 } ) ;
94
89
95
90
let mut cargo = builder. cargo ( compiler, Mode :: Rustc , target, "check" ) ;
96
91
rustc_cargo ( builder, & mut cargo) ;
97
92
98
93
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) ) ;
100
95
run_cargo ( builder,
101
96
& mut cargo,
102
97
vec ! [ ] ,
@@ -139,8 +134,7 @@ impl Step for CodegenBackend {
139
134
let target = self . target ;
140
135
let backend = self . backend ;
141
136
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 } ) ;
144
138
145
139
let mut cargo = builder. cargo ( compiler, Mode :: Codegen , target, "check" ) ;
146
140
cargo. arg ( "--manifest-path" ) . arg ( builder. src . join ( "src/librustc_codegen_llvm/Cargo.toml" ) ) ;
@@ -180,14 +174,13 @@ impl Step for Test {
180
174
let compiler = builder. compiler ( 0 , builder. config . build ) ;
181
175
let target = self . target ;
182
176
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 } ) ;
185
178
186
179
let mut cargo = builder. cargo ( compiler, Mode :: Test , target, "check" ) ;
187
180
test_cargo ( builder, & compiler, target, & mut cargo) ;
188
181
189
182
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) ) ;
191
184
run_cargo ( builder,
192
185
& mut cargo,
193
186
vec ! [ ] ,
@@ -223,10 +216,7 @@ impl Step for Rustdoc {
223
216
let compiler = builder. compiler ( 0 , builder. config . build ) ;
224
217
let target = self . target ;
225
218
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 } ) ;
230
220
231
221
let mut cargo = prepare_tool_cargo ( builder,
232
222
compiler,
@@ -246,12 +236,7 @@ impl Step for Rustdoc {
246
236
247
237
let libdir = builder. sysroot_libdir ( compiler, target) ;
248
238
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" ) ;
255
240
}
256
241
}
257
242
0 commit comments