tINSTALL: build arm64 binaries on arm64 Macs - plan9port - [fork] Plan 9 from u… | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit bab7b73b85f865d20a5c4f2d78ac9e81b3d39109 | |
parent d0d440860f2000a1560abb3f593cdc325fcead4c | |
Author: Russ Cox <[email protected]> | |
Date: Mon, 24 Jan 2022 13:47:27 -0500 | |
INSTALL: build arm64 binaries on arm64 Macs | |
If there is any x86 binary in the chain of parent processes from | |
tthe 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. | |
Diffstat: | |
M INSTALL | 10 +++++++++- | |
1 file changed, 9 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/INSTALL b/INSTALL | |
t@@ -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 | |