tINSTALL: build arm64 binaries on arm64 Macs - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit bab7b73b85f865d20a5c4f2d78ac9e81b3d39109
parent d0d440860f2000a1560abb3f593cdc325fcead4c
Author: Russ Cox 
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