@@ -102,6 +102,10 @@ enum EnvironmentCmd {
102102 /// Will be LLVM built during the run?
103103 #[ arg( long, default_value_t = true , action( clap:: ArgAction :: Set ) ) ]
104104 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 ,
105109 } ,
106110 /// Perform an optimized build on Linux CI, from inside Docker.
107111 LinuxCi {
@@ -138,14 +142,15 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
138142 shared,
139143 run_tests,
140144 build_llvm,
145+ build_dir,
141146 } => {
142147 let env = EnvironmentBuilder :: default ( )
143148 . host_tuple ( target_triple)
144149 . python_binary ( python)
145150 . checkout_dir ( checkout_dir. clone ( ) )
146151 . host_llvm_dir ( llvm_dir)
147152 . artifact_dir ( artifact_dir)
148- . build_dir ( checkout_dir)
153+ . build_dir ( checkout_dir. join ( build_dir ) )
149154 . prebuilt_rustc_perf ( rustc_perf_checkout_dir)
150155 . shared_llvm ( llvm_shared)
151156 . use_bolt ( use_bolt)
@@ -171,7 +176,7 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
171176 . checkout_dir ( checkout_dir. clone ( ) )
172177 . host_llvm_dir ( Utf8PathBuf :: from ( "/rustroot" ) )
173178 . 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" ) )
175180 . shared_llvm ( true )
176181 // FIXME: Enable bolt for aarch64 once it's fixed upstream. Broken as of December 2024.
177182 . use_bolt ( !is_aarch64)
@@ -194,7 +199,7 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
194199 . checkout_dir ( checkout_dir. clone ( ) )
195200 . host_llvm_dir ( checkout_dir. join ( "citools" ) . join ( "clang-rust" ) )
196201 . artifact_dir ( checkout_dir. join ( "opt-artifacts" ) )
197- . build_dir ( checkout_dir)
202+ . build_dir ( checkout_dir. join ( "build" ) )
198203 . shared_llvm ( false )
199204 . use_bolt ( false )
200205 . skipped_tests ( vec ! [ ] )
0 commit comments