@@ -186,13 +186,10 @@ impl Step for CodegenBackend {
186
186
_ => panic ! ( "unknown backend: {}" , self . backend) ,
187
187
}
188
188
189
- let tmp_stamp = build. cargo_out ( compiler, Mode :: Librustc , target)
190
- . join ( ".tmp.stamp" ) ;
191
-
192
189
let _folder = build. fold_output ( || format ! ( "stage{}-rustc_trans" , compiler. stage) ) ;
193
190
run_cargo ( build,
194
191
cargo. arg ( "--features" ) . arg ( features) ,
195
- & tmp_stamp ,
192
+ & codegen_backend_stamp ( build , compiler , target , self . backend ) ,
196
193
true ) ;
197
194
}
198
195
}
@@ -254,3 +251,13 @@ pub fn libtest_stamp(builder: &Builder, compiler: Compiler, target: Interned<Str
254
251
pub fn librustc_stamp ( builder : & Builder , compiler : Compiler , target : Interned < String > ) -> PathBuf {
255
252
builder. cargo_out ( compiler, Mode :: Librustc , target) . join ( ".librustc-check.stamp" )
256
253
}
254
+
255
+ /// Cargo's output path for librustc_trans in a given stage, compiled by a particular
256
+ /// compiler for the specified target and backend.
257
+ fn codegen_backend_stamp ( build : & Build ,
258
+ compiler : Compiler ,
259
+ target : Interned < String > ,
260
+ backend : Interned < String > ) -> PathBuf {
261
+ build. cargo_out ( compiler, Mode :: Librustc , target)
262
+ . join ( format ! ( ".librustc_trans-{}-check.stamp" , backend) )
263
+ }
0 commit comments