From bab7b73b85f865d20a5c4f2d78ac9e81b3d39109 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 24 Jan 2022 13:47:27 -0500 Subject: [PATCH] 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. --- INSTALL | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index 79c0745f..92ac1959 100755 --- a/INSTALL +++ b/INSTALL @@ -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