@@ -7,7 +7,6 @@ use crate::target_specs::update_target_specs_files;
7
7
use crate :: { cache_dir, spirv_source:: SpirvSource } ;
8
8
use anyhow:: Context as _;
9
9
use spirv_builder:: SpirvBuilder ;
10
- use std:: env;
11
10
use std:: path:: { Path , PathBuf } ;
12
11
13
12
/// Represents a functional backend installation, whether it was cached or just installed.
@@ -279,8 +278,8 @@ package = "rustc_codegen_spirv"
279
278
. context ( "remove Cargo.lock" ) ?;
280
279
}
281
280
282
- crate :: user_output!( "Compiling `rustc_codegen_spirv` from source {}\n " , source, ) ;
283
- let mut cargo = std :: process :: Command :: new ( "cargo" ) ;
281
+ crate :: user_output!( "Compiling `rustc_codegen_spirv` from source {}\n " , source) ;
282
+ let mut cargo = spirv_builder :: cargo_cmd :: CargoCmd :: new ( ) ;
284
283
cargo
285
284
. current_dir ( & install_dir)
286
285
. arg ( format ! ( "+{toolchain_channel}" ) )
@@ -289,24 +288,7 @@ package = "rustc_codegen_spirv"
289
288
cargo. args ( [ "-p" , "rustc_codegen_spirv" , "--lib" ] ) ;
290
289
}
291
290
292
- // Clear Cargo environment variables that we don't want to leak into the
293
- // inner invocation of Cargo and mess with our `rustc_codegen_spirv` build.
294
- for ( key, _) in env:: vars_os ( ) {
295
- let remove = key. to_str ( ) . is_some_and ( |st| {
296
- st. starts_with ( "CARGO_FEATURES_" ) || st. starts_with ( "CARGO_CFG_" )
297
- } ) ;
298
- if remove {
299
- cargo. env_remove ( key) ;
300
- }
301
- }
302
- cargo
303
- . env_remove ( "RUSTC" )
304
- . env_remove ( "RUSTC_WRAPPER" )
305
- . env_remove ( "RUSTFLAGS" )
306
- // ignore any externally supplied target dir, we want to build it in our cache dir
307
- . env_remove ( "CARGO_TARGET_DIR" ) ;
308
-
309
- log:: debug!( "building artifacts with `{cargo:?}`" ) ;
291
+ log:: debug!( "building artifacts with `{cargo}`" ) ;
310
292
cargo
311
293
. stdout ( std:: process:: Stdio :: inherit ( ) )
312
294
. stderr ( std:: process:: Stdio :: inherit ( ) )
0 commit comments