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