Skip to content

Commit adec693

Browse files
committed
tools: Update scripts
1 parent 7fd1f60 commit adec693

File tree

3 files changed

+42
-28
lines changed

3 files changed

+42
-28
lines changed

tools/build.sh

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ rustc_minor_version="${rustc_minor_version%%.*}"
187187
llvm_version=$(rustc ${pre_args[@]+"${pre_args[@]}"} -Vv | (grep 'LLVM version: ' || true) | (sed 's/LLVM version: //' || true))
188188
llvm_version="${llvm_version%%.*}"
189189
base_args=(${pre_args[@]+"${pre_args[@]}"} hack build)
190+
target_dir=$(pwd)/target
190191
nightly=''
191192
if [[ "${rustc_version}" == *"nightly"* ]] || [[ "${rustc_version}" == *"dev"* ]]; then
192193
nightly=1
@@ -253,8 +254,9 @@ build() {
253254
case "${target}" in
254255
*-apple-*) ;;
255256
*)
256-
RUSTFLAGS="${target_rustflags} -C target-feature=+cmpxchg16b" \
257-
x_cargo "${args[@]}" --target-dir target/cmpxchg16b "$@"
257+
CARGO_TARGET_DIR="${target_dir}/cmpxchg16b" \
258+
RUSTFLAGS="${target_rustflags} -C target-feature=+cmpxchg16b" \
259+
x_cargo "${args[@]}" "$@"
258260
;;
259261
esac
260262
;;
@@ -263,39 +265,48 @@ build() {
263265
case "${target}" in
264266
*-darwin) ;;
265267
*)
266-
RUSTFLAGS="${target_rustflags} -C target-feature=+lse" \
267-
x_cargo "${args[@]}" --target-dir target/lse "$@"
268+
CARGO_TARGET_DIR="${target_dir}/lse" \
269+
RUSTFLAGS="${target_rustflags} -C target-feature=+lse" \
270+
x_cargo "${args[@]}" "$@"
268271
# FEAT_LSE2 doesn't imply FEAT_LSE.
269-
RUSTFLAGS="${target_rustflags} -C target-feature=+lse,+lse2" \
270-
x_cargo "${args[@]}" --target-dir target/lse2 "$@"
271-
RUSTFLAGS="${target_rustflags} -C target-feature=+rcpc" \
272-
x_cargo "${args[@]}" --target-dir target/rcpc "$@"
272+
CARGO_TARGET_DIR="${target_dir}/lse2" \
273+
RUSTFLAGS="${target_rustflags} -C target-feature=+lse,+lse2" \
274+
x_cargo "${args[@]}" "$@"
275+
CARGO_TARGET_DIR="${target_dir}/rcpc" \
276+
RUSTFLAGS="${target_rustflags} -C target-feature=+rcpc" \
277+
x_cargo "${args[@]}" "$@"
273278
;;
274279
esac
275280
# Support for FEAT_LRCPC3 and FEAT_LSE128 requires LLVM 16+.
276281
if [[ "${llvm_version}" -ge 16 ]]; then
277-
RUSTFLAGS="${target_rustflags} -C target-feature=+lse,+lse2,+rcpc3" \
278-
x_cargo "${args[@]}" --target-dir target/rcpc3 "$@"
282+
CARGO_TARGET_DIR="${target_dir}/rcpc3" \
283+
RUSTFLAGS="${target_rustflags} -C target-feature=+lse,+lse2,+rcpc3" \
284+
x_cargo "${args[@]}" "$@"
279285
# FEAT_LSE128 implies FEAT_LSE but not FEAT_LSE2.
280-
RUSTFLAGS="${target_rustflags} -C target-feature=+lse2,+lse128" \
281-
x_cargo "${args[@]}" --target-dir target/lse128 "$@"
282-
RUSTFLAGS="${target_rustflags} -C target-feature=+lse2,+lse128,+rcpc3" \
283-
x_cargo "${args[@]}" --target-dir target/lse128-rcpc3 "$@"
286+
CARGO_TARGET_DIR="${target_dir}/lse128" \
287+
RUSTFLAGS="${target_rustflags} -C target-feature=+lse2,+lse128" \
288+
x_cargo "${args[@]}" "$@"
289+
CARGO_TARGET_DIR="${target_dir}/lse128-rcpc3" \
290+
RUSTFLAGS="${target_rustflags} -C target-feature=+lse2,+lse128,+rcpc3" \
291+
x_cargo "${args[@]}" "$@"
284292
fi
285293
;;
286294
powerpc64-*)
287295
# powerpc64le- (little-endian) is skipped because it is pwr8 by default
288-
RUSTFLAGS="${target_rustflags} -C target-cpu=pwr8" \
289-
x_cargo "${args[@]}" --target-dir target/pwr8 "$@"
296+
CARGO_TARGET_DIR="${target_dir}/pwr8" \
297+
RUSTFLAGS="${target_rustflags} -C target-cpu=pwr8" \
298+
x_cargo "${args[@]}" "$@"
290299
;;
291300
powerpc64le-*)
292301
# powerpc64- (big-endian) is skipped because it is pre-pwr8 by default
293-
RUSTFLAGS="${target_rustflags} -C target-cpu=pwr7" \
294-
x_cargo "${args[@]}" --target-dir target/pwr7 "$@"
302+
CARGO_TARGET_DIR="${target_dir}/pwr7" \
303+
RUSTFLAGS="${target_rustflags} -C target-cpu=pwr7" \
304+
x_cargo "${args[@]}" "$@"
295305
;;
296306
s390x*)
297-
RUSTFLAGS="${target_rustflags} -C target-cpu=z196" \
298-
x_cargo "${args[@]}" --target-dir target/z196 "$@"
307+
CARGO_TARGET_DIR="${target_dir}/z196" \
308+
RUSTFLAGS="${target_rustflags} -C target-cpu=z196" \
309+
x_cargo "${args[@]}" "$@"
299310
;;
300311
esac
301312
}

tools/no-std.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ fi
7373
rustup_target_list=$(rustup ${pre_args[@]+"${pre_args[@]}"} target list | sed 's/ .*//g')
7474
rustc_target_list=$(rustc ${pre_args[@]+"${pre_args[@]}"} --print target-list)
7575
rustc_version=$(rustc ${pre_args[@]+"${pre_args[@]}"} -Vv | grep 'release: ' | sed 's/release: //')
76-
metadata=$(cargo metadata --format-version=1 --no-deps)
77-
target_dir=$(jq <<<"${metadata}" -r '.target_directory')
76+
target_dir=$(pwd)/target
7877
nightly=''
7978
if [[ "${rustc_version}" == *"nightly"* ]] || [[ "${rustc_version}" == *"dev"* ]]; then
8079
nightly=1

tools/test.sh

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ rustc_version=$(rustc ${pre_args[@]+"${pre_args[@]}"} -Vv | grep 'release: ' | s
117117
rustc_minor_version="${rustc_version#*.}"
118118
rustc_minor_version="${rustc_minor_version%%.*}"
119119
host=$(rustc ${pre_args[@]+"${pre_args[@]}"} -Vv | grep 'host: ' | sed 's/host: //')
120+
target_dir=$(pwd)/target
120121
nightly=''
121122
if [[ "${rustc_version}" == *"nightly"* ]] || [[ "${rustc_version}" == *"dev"* ]]; then
122123
nightly=1
@@ -242,9 +243,10 @@ run() {
242243
hexagon-unknown-linux-musl) ;;
243244
*)
244245
# LTO + doctests is very slow on some platforms (probably related to the fact that they compile binaries for each example)
245-
CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 \
246+
CARGO_TARGET_DIR="${target_dir}/fat-lto" \
247+
CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 \
246248
CARGO_PROFILE_RELEASE_LTO=fat \
247-
x_cargo test ${build_std[@]+"${build_std[@]}"} --release --tests --target-dir target/fat-lto "$@"
249+
x_cargo test ${build_std[@]+"${build_std[@]}"} --release --tests "$@"
248250
;;
249251
esac
250252

@@ -268,14 +270,16 @@ run() {
268270
*-windows-gnu*) ;;
269271
*)
270272
if [[ ${#build_std[@]} -gt 0 ]]; then
271-
RUSTFLAGS="${RUSTFLAGS:-}${flags}" \
273+
CARGO_TARGET_DIR="${target_dir}/careful" \
274+
RUSTFLAGS="${RUSTFLAGS:-}${flags}" \
272275
RUSTDOCFLAGS="${RUSTDOCFLAGS:-}${flags}" \
273-
x_cargo careful test -Z doctest-xcompile ${release[@]+"${release[@]}"} ${tests[@]+"${tests[@]}"} --target-dir target/careful "$@"
276+
x_cargo careful test -Z doctest-xcompile ${release[@]+"${release[@]}"} ${tests[@]+"${tests[@]}"} "$@"
274277
else
275278
# -Z doctest-xcompile is already passed
276-
RUSTFLAGS="${RUSTFLAGS:-}${flags}" \
279+
CARGO_TARGET_DIR="${target_dir}/careful" \
280+
RUSTFLAGS="${RUSTFLAGS:-}${flags}" \
277281
RUSTDOCFLAGS="${RUSTDOCFLAGS:-}${flags}" \
278-
x_cargo careful test ${release[@]+"${release[@]}"} ${tests[@]+"${tests[@]}"} --target-dir target/careful "$@"
282+
x_cargo careful test ${release[@]+"${release[@]}"} ${tests[@]+"${tests[@]}"} "$@"
279283
fi
280284
;;
281285
esac

0 commit comments

Comments
 (0)