@@ -102,6 +102,11 @@ enum EnvironmentCmd {
102
102
/// Will be LLVM built during the run?
103
103
#[ arg( long, default_value_t = true , action( clap:: ArgAction :: Set ) ) ]
104
104
build_llvm : bool ,
105
+
106
+ /// Set build artifacts dir. Relative to `checkout_dir`, should point to the directory set
107
+ /// in bootstrap.toml via `build.build-dir` option
108
+ #[ arg( long, default_value = "build" ) ]
109
+ build_dir : Utf8PathBuf ,
105
110
} ,
106
111
/// Perform an optimized build on Linux CI, from inside Docker.
107
112
LinuxCi {
@@ -138,14 +143,15 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
138
143
shared,
139
144
run_tests,
140
145
build_llvm,
146
+ build_dir,
141
147
} => {
142
148
let env = EnvironmentBuilder :: default ( )
143
149
. host_tuple ( target_triple)
144
150
. python_binary ( python)
145
151
. checkout_dir ( checkout_dir. clone ( ) )
146
152
. host_llvm_dir ( llvm_dir)
147
153
. artifact_dir ( artifact_dir)
148
- . build_dir ( checkout_dir)
154
+ . build_dir ( checkout_dir. join ( build_dir ) )
149
155
. prebuilt_rustc_perf ( rustc_perf_checkout_dir)
150
156
. shared_llvm ( llvm_shared)
151
157
. use_bolt ( use_bolt)
@@ -171,7 +177,7 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
171
177
. checkout_dir ( checkout_dir. clone ( ) )
172
178
. host_llvm_dir ( Utf8PathBuf :: from ( "/rustroot" ) )
173
179
. artifact_dir ( Utf8PathBuf :: from ( "/tmp/tmp-multistage/opt-artifacts" ) )
174
- . build_dir ( checkout_dir. join ( "obj" ) )
180
+ . build_dir ( checkout_dir. join ( "obj" ) . join ( "build" ) )
175
181
. shared_llvm ( true )
176
182
// FIXME: Enable bolt for aarch64 once it's fixed upstream. Broken as of December 2024.
177
183
. use_bolt ( !is_aarch64)
@@ -194,7 +200,7 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
194
200
. checkout_dir ( checkout_dir. clone ( ) )
195
201
. host_llvm_dir ( checkout_dir. join ( "citools" ) . join ( "clang-rust" ) )
196
202
. artifact_dir ( checkout_dir. join ( "opt-artifacts" ) )
197
- . build_dir ( checkout_dir)
203
+ . build_dir ( checkout_dir. join ( "build" ) )
198
204
. shared_llvm ( false )
199
205
. use_bolt ( false )
200
206
. skipped_tests ( vec ! [ ] )
0 commit comments