itINSTALL: build arm64 binaries on arm64 Macs - plan9port - [fork] Plan 9 from user space Err mx1.adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/plan9port URL:git://src.adamsgaard.dk/plan9port mx1.adamsgaard.dk 70 1Log /src/plan9port/log.gph mx1.adamsgaard.dk 70 1Files /src/plan9port/files.gph mx1.adamsgaard.dk 70 1Refs /src/plan9port/refs.gph mx1.adamsgaard.dk 70 1README /src/plan9port/file/README.md.gph mx1.adamsgaard.dk 70 1LICENSE /src/plan9port/file/LICENSE.gph mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1commit bab7b73b85f865d20a5c4f2d78ac9e81b3d39109 /src/plan9port/commit/bab7b73b85f865d20a5c4f2d78ac9e81b3d39109.gph mx1.adamsgaard.dk 70 1parent d0d440860f2000a1560abb3f593cdc325fcead4c /src/plan9port/commit/d0d440860f2000a1560abb3f593cdc325fcead4c.gph mx1.adamsgaard.dk 70 hAuthor: Russ Cox URL:mailto:rsc@swtch.com mx1.adamsgaard.dk 70 iDate: Mon, 24 Jan 2022 13:47:27 -0500 Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iINSTALL: build arm64 binaries on arm64 Macs Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iIf there is any x86 binary in the chain of parent processes from Err mx1.adamsgaard.dk 70 itthe current one, then uname -m prints x86_64 and clang Err mx1.adamsgaard.dk 70 idefaults to building x86_64 binaries. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iDetect arm64 using the kernel version and force building Err mx1.adamsgaard.dk 70 ian arm64 toolchain instead of perpetuating x86. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iThis is particularly important when the user shell is rc, Err mx1.adamsgaard.dk 70 iwhich has been built for x86, because then rebuilding Err mx1.adamsgaard.dk 70 iunder rc continues to use x86. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iDiffstat: Err mx1.adamsgaard.dk 70 i M INSTALL | 10 +++++++++- Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i1 file changed, 9 insertions(+), 1 deletion(-) Err mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1diff --git a/INSTALL b/INSTALL /src/plan9port/file/INSTALL.gph mx1.adamsgaard.dk 70 it@@ -95,7 +95,15 @@ if [ `uname` = Darwin ]; then Err mx1.adamsgaard.dk 70 i echo "See http://swtch.com/go/xcodegcc for details." >&2 Err mx1.adamsgaard.dk 70 i exit 1 Err mx1.adamsgaard.dk 70 i fi Err mx1.adamsgaard.dk 70 i- echo "CC9='xcrun --sdk macosx clang'" >>$PLAN9/config Err mx1.adamsgaard.dk 70 i+ CC9="xcrun --sdk macosx clang" Err mx1.adamsgaard.dk 70 i+ case "$(uname -a)" in Err mx1.adamsgaard.dk 70 i+ *ARM64*) Err mx1.adamsgaard.dk 70 i+ CC9="$CC9 -arch arm64" Err mx1.adamsgaard.dk 70 i+ echo ' Forcing arm64 binaries with clang.' Err mx1.adamsgaard.dk 70 i+ ;; Err mx1.adamsgaard.dk 70 i+ esac Err mx1.adamsgaard.dk 70 i+ Err mx1.adamsgaard.dk 70 i+ echo "CC9='$CC9'" >>$PLAN9/config Err mx1.adamsgaard.dk 70 i rm -f ./a.out Err mx1.adamsgaard.dk 70 i fi Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 .