@@ -14,7 +14,6 @@ use std::ffi::OsStr;
1414use std:: fs;
1515use std:: io:: Write ;
1616use std:: path:: { Path , PathBuf } ;
17- use std:: process:: Command ;
1817
1918use object:: read:: archive:: ArchiveFile ;
2019use object:: BinaryFormat ;
@@ -28,7 +27,7 @@ use crate::core::config::TargetSelection;
2827use crate :: utils:: channel:: { self , Info } ;
2928use crate :: utils:: exec:: BootstrapCommand ;
3029use crate :: utils:: helpers:: {
31- exe, is_dylib, move_file, output , t, target_supports_cranelift_backend, timeit,
30+ exe, is_dylib, move_file, t, target_supports_cranelift_backend, timeit,
3231} ;
3332use crate :: utils:: tarball:: { GeneratedTarball , OverlayKind , Tarball } ;
3433use crate :: { Compiler , DependencyType , Mode , LLVM_TOOLS } ;
@@ -181,9 +180,9 @@ fn make_win_dist(
181180 }
182181
183182 //Ask gcc where it keeps its stuff
184- let mut cmd = Command :: new ( builder. cc ( target) ) ;
183+ let mut cmd = BootstrapCommand :: new ( builder. cc ( target) ) ;
185184 cmd. arg ( "-print-search-dirs" ) ;
186- let gcc_out = output ( & mut cmd) ;
185+ let gcc_out = builder . run ( cmd. capture_stdout ( ) ) . stdout ( ) ;
187186
188187 let mut bin_path: Vec < _ > = env:: split_paths ( & env:: var_os ( "PATH" ) . unwrap_or_default ( ) ) . collect ( ) ;
189188 let mut lib_path = Vec :: new ( ) ;
@@ -1024,7 +1023,7 @@ impl Step for PlainSourceTarball {
10241023 }
10251024
10261025 // Vendor all Cargo dependencies
1027- let mut cmd = Command :: new ( & builder. initial_cargo ) ;
1026+ let mut cmd = BootstrapCommand :: new ( & builder. initial_cargo ) ;
10281027 cmd. arg ( "vendor" )
10291028 . arg ( "--versioned-dirs" )
10301029 . arg ( "--sync" )
@@ -1062,7 +1061,7 @@ impl Step for PlainSourceTarball {
10621061 }
10631062
10641063 let config = if !builder. config . dry_run ( ) {
1065- t ! ( String :: from_utf8 ( t! ( cmd. output ( ) ) . stdout) )
1064+ builder . run ( cmd. capture ( ) ) . stdout ( )
10661065 } else {
10671066 String :: new ( )
10681067 } ;
@@ -2079,10 +2078,14 @@ fn maybe_install_llvm(
20792078 } else if let llvm:: LlvmBuildStatus :: AlreadyBuilt ( llvm:: LlvmResult { llvm_config, .. } ) =
20802079 llvm:: prebuilt_llvm_config ( builder, target)
20812080 {
2082- let mut cmd = Command :: new ( llvm_config) ;
2081+ let mut cmd = BootstrapCommand :: new ( llvm_config) ;
20832082 cmd. arg ( "--libfiles" ) ;
20842083 builder. verbose ( || println ! ( "running {cmd:?}" ) ) ;
2085- let files = if builder. config . dry_run ( ) { "" . into ( ) } else { output ( & mut cmd) } ;
2084+ let files = if builder. config . dry_run ( ) {
2085+ "" . into ( )
2086+ } else {
2087+ builder. run ( cmd. capture_stdout ( ) ) . stdout ( )
2088+ } ;
20862089 let build_llvm_out = & builder. llvm_out ( builder. config . build ) ;
20872090 let target_llvm_out = & builder. llvm_out ( target) ;
20882091 for file in files. trim_end ( ) . split ( ' ' ) {
0 commit comments