INSTALL: build arm64 binaries on arm64 Macs

If there is any x86 binary in the chain of parent processes from
the current one, then uname -m prints x86_64 and clang
defaults to building x86_64 binaries.

Detect arm64 using the kernel version and force building
an arm64 toolchain instead of perpetuating x86.

This is particularly important when the user shell is rc,
which has been built for x86, because then rebuilding
under rc continues to use x86.
This commit is contained in:
Russ Cox 2022-01-24 13:47:27 -05:00
parent d0d440860f
commit bab7b73b85

10
INSTALL
View file

@ -95,7 +95,15 @@ if [ `uname` = Darwin ]; then
echo "See http://swtch.com/go/xcodegcc for details." >&2
exit 1
fi
echo "CC9='xcrun --sdk macosx clang'" >>$PLAN9/config
CC9="xcrun --sdk macosx clang"
case "$(uname -a)" in
*ARM64*)
CC9="$CC9 -arch arm64"
echo ' Forcing arm64 binaries with clang.'
;;
esac
echo "CC9='$CC9'" >>$PLAN9/config
rm -f ./a.out
fi