@@ -113,7 +113,7 @@ impl Bootstrap {
113
113
"library/std" ,
114
114
] )
115
115
. env ( "RUST_BACKTRACE" , "full" ) ;
116
- let cmd = add_shared_x_flags ( env, cmd) ;
116
+ let mut cmd = add_shared_x_flags ( env, cmd) ;
117
117
118
118
Self { cmd, metrics_path }
119
119
}
@@ -122,7 +122,12 @@ impl Bootstrap {
122
122
let metrics_path = env. build_root ( ) . join ( "build" ) . join ( "metrics.json" ) ;
123
123
let args = dist_args. iter ( ) . map ( |arg| arg. as_str ( ) ) . collect :: < Vec < _ > > ( ) ;
124
124
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
+
126
131
Self { cmd, metrics_path }
127
132
}
128
133
@@ -188,6 +193,19 @@ impl Bootstrap {
188
193
}
189
194
}
190
195
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
+ }
193
211
}
0 commit comments