@@ -74,7 +74,7 @@ rm genbindings_path_map_test_file.c
74
74
case " $ENV_TARGET " in
75
75
" x86_64" * )
76
76
export RUSTFLAGS=" $BASE_RUSTFLAGS -C target-cpu=sandybridge"
77
- export BASE_HOST_CFLAGS=" $BASE_HOST_CFLAGS -march=sandybridge -mcpu=sandybridge - mtune=sandybridge"
77
+ export BASE_HOST_CFLAGS=" $BASE_HOST_CFLAGS -march=sandybridge -mtune=sandybridge"
78
78
export CFLAGS_$ENV_TARGET =" $BASE_HOST_CFLAGS "
79
79
;;
80
80
" aarch64_apple_darwin" )
@@ -85,7 +85,7 @@ case "$ENV_TARGET" in
85
85
* )
86
86
# Assume this isn't targeted at another host and build for the host's CPU.
87
87
export RUSTFLAGS=" $BASE_RUSTFLAGS -C target-cpu=native"
88
- export BASE_HOST_CFLAGS=" $BASE_HOST_CFLAGS -mcpu =native"
88
+ export BASE_HOST_CFLAGS=" $BASE_HOST_CFLAGS -march=native -mtune =native"
89
89
export CFLAGS_$ENV_TARGET =" $BASE_HOST_CFLAGS "
90
90
;;
91
91
esac
@@ -429,7 +429,9 @@ if [ "$HOST_OSX" = "true" ]; then
429
429
fi
430
430
fi
431
431
else
432
- CLANG_LLVM_V=$( clang --version | head -n1 | awk ' { print substr($4, 0, 2); }' )
432
+ # Output is something like clang version 17.0.3 (Fedora 17.0.3-1.fc39) or Debian clang version 14.0.6
433
+ CLANG_LLVM_V=$( clang --version | head -n1 | awk ' { print substr($3, 0, 2); }' )
434
+ [ " $CLANG_LLVM_V " = " ve" ] && CLANG_LLVM_V=$( clang --version | head -n1 | awk ' { print substr($4, 0, 2); }' )
433
435
if [ -x " $( which ld.lld) " ]; then
434
436
LLD_LLVM_V=" $( ld.lld --version | awk ' { print $2; }' ) "
435
437
if [ " $LLD_LLVM_V " = " LLD" ]; then # eg if the output is "Debian LLD ..."
@@ -586,7 +588,7 @@ if [ "$CLANGPP" != "" -a "$LLD" != "" ]; then
586
588
MANUAL_LINK_CFLAGS=" $MANUAL_LINK_CFLAGS -C link-arg=$ARG "
587
589
done
588
590
export CFLAGS_x86_64_apple_darwin=" $CFLAGS_x86_64_apple_darwin -O3 -fPIC -fembed-bitcode"
589
- RUSTC_BOOTSTRAP=1 RUSTFLAGS=" $BASE_RUSTFLAGS -C target-cpu=sandybridge -C embed-bitcode=yes -C linker-plugin-lto -C lto -C linker=$CLANG $MANUAL_LINK_CFLAGS $LINK_ARG_FLAGS -C link-arg=-mcpu =sandybridge -C link-arg=-mtune=sandybridge" CARGO_PROFILE_RELEASE_LTO=true cargo build $CARGO_BUILD_ARGS --offline -v --release --target x86_64-apple-darwin -Zbuild-std=std,panic_abort
591
+ RUSTC_BOOTSTRAP=1 RUSTFLAGS=" $BASE_RUSTFLAGS -C target-cpu=sandybridge -C embed-bitcode=yes -C linker-plugin-lto -C lto -C linker=$CLANG $MANUAL_LINK_CFLAGS $LINK_ARG_FLAGS -C link-arg=-march =sandybridge -C link-arg=-mtune=sandybridge" CARGO_PROFILE_RELEASE_LTO=true cargo build $CARGO_BUILD_ARGS --offline -v --release --target x86_64-apple-darwin -Zbuild-std=std,panic_abort
590
592
fi
591
593
fi
592
594
# If we're on an M1 don't bother building X86 binaries
@@ -595,7 +597,7 @@ if [ "$CLANGPP" != "" -a "$LLD" != "" ]; then
595
597
export CFLAGS_$ENV_TARGET =" $BASE_HOST_CFLAGS -O3 -fPIC -fembed-bitcode"
596
598
# Rust doesn't recognize CFLAGS changes, so we need to clean build artifacts
597
599
cargo clean --release
598
- CARGO_PROFILE_RELEASE_LTO=true RUSTFLAGS=" $RUSTFLAGS -C embed-bitcode=yes -C linker-plugin-lto -C lto -C linker=$CLANG $LINK_ARG_FLAGS -C link-arg=-march=sandybridge -C link-arg=-mcpu=sandybridge -C link-arg=- mtune=sandybridge" cargo build $CARGO_BUILD_ARGS -v --release
600
+ CARGO_PROFILE_RELEASE_LTO=true RUSTFLAGS=" $RUSTFLAGS -C embed-bitcode=yes -C linker-plugin-lto -C lto -C linker=$CLANG $LINK_ARG_FLAGS -C link-arg=-march=sandybridge -C link-arg=-mtune=sandybridge" cargo build $CARGO_BUILD_ARGS -v --release
599
601
600
602
if [ " $2 " = " true" ]; then
601
603
$CLANGPP $LOCAL_CFLAGS -flto -fuse-ld=$LLD -O2 -c demo.cpp -o demo.o
0 commit comments