@@ -113,7 +113,7 @@ impl Bootstrap {
113113 "library/std" ,
114114 ] )
115115 . env ( "RUST_BACKTRACE" , "full" ) ;
116- let cmd = add_shared_x_flags ( env, cmd) ;
116+ let mut cmd = add_shared_x_flags ( env, cmd) ;
117117
118118 Self { cmd, metrics_path }
119119 }
@@ -122,7 +122,12 @@ impl Bootstrap {
122122 let metrics_path = env. build_root ( ) . join ( "build" ) . join ( "metrics.json" ) ;
123123 let args = dist_args. iter ( ) . map ( |arg| arg. as_str ( ) ) . collect :: < Vec < _ > > ( ) ;
124124 let cmd = cmd ( & args) . env ( "RUST_BACKTRACE" , "full" ) ;
125- let cmd = add_shared_x_flags ( env, cmd) ;
125+ let mut cmd = add_shared_x_flags ( env, cmd) ;
126+ if env. is_fast_try_build ( ) {
127+ // We set build.extended=false for fast try builds, but we still need Cargo
128+ cmd = cmd. arg ( "cargo" ) ;
129+ }
130+
126131 Self { cmd, metrics_path }
127132 }
128133
@@ -188,6 +193,19 @@ impl Bootstrap {
188193 }
189194}
190195
191- fn add_shared_x_flags ( env : & Environment , cmd : CmdBuilder ) -> CmdBuilder {
192- if env. is_fast_try_build ( ) { cmd. arg ( "--set" ) . arg ( "rust.deny-warnings=false" ) } else { cmd }
196+ fn add_shared_x_flags ( env : & Environment , mut cmd : CmdBuilder ) -> CmdBuilder {
197+ if env. is_fast_try_build ( ) {
198+ // Skip things that cannot be skipped through `x ... --skip`
199+ cmd. arg ( "--set" )
200+ . arg ( "rust.llvm-bitcode-linker=false" )
201+ // Skip wasm-component-ld. This also skips cargo, which we need to re-enable for dist
202+ . arg ( "--set" )
203+ . arg ( "build.extended=false" )
204+ . arg ( "--set" )
205+ . arg ( "rust.codegen-backends=['llvm']" )
206+ . arg ( "--set" )
207+ . arg ( "rust.deny-warnings=false" )
208+ } else {
209+ cmd
210+ }
193211}
0 commit comments