From 7bcc1d178b8a25a23953bc7d00327022fca13eeb Mon Sep 17 00:00:00 2001 From: Howard Lewis Ship Date: Thu, 13 Aug 2026 19:14:29 -0700 Subject: [PATCH 1/3] feat(build): produce universal (arm64+x86_64) macOS binaries Add arm64 and x86_64 -arch flags on Darwin so dialogc and dgdebug build as fat binaries instead of native-arch only. Co-Authored-By: Claude Sonnet 5 --- src/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Makefile b/src/Makefile index e03bc5dc..f34d492f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -8,6 +8,12 @@ WINLIB = ../prebuilt/win32 MINGW32 = i686-w64-mingw32-gcc WINDRES = i686-w64-mingw32-windres +UNAME_S := $(shell uname -s) +ifeq (${UNAME_S},Darwin) +CFLAGS += -arch arm64 -arch x86_64 +LDFLAGS += -arch arm64 -arch x86_64 +endif + INSTALLDIR = /usr/local/bin all: dialogc dgdebug From 71eb133bd4eb7f3cdf1ad62e37b162abe1dc0334 Mon Sep 17 00:00:00 2001 From: Howard Lewis Ship Date: Thu, 13 Aug 2026 19:14:34 -0700 Subject: [PATCH 2/3] ci: rename macos-arm64 artifact to macos-universal Reflects the macOS build now producing fat arm64+x86_64 binaries. Co-Authored-By: Claude Sonnet 5 --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b26baa84..c542421e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,7 +88,7 @@ jobs: run: make test - uses: actions/upload-artifact@v4 with: - name: macos-arm64 + name: macos-universal path: | src/dgdebug src/dialogc @@ -119,7 +119,7 @@ jobs: # Create the bundle and add the prebuild binaries in mkdir -p "$BUNDLE/prebuilt" mv artifacts/linux-x86_64 "$BUNDLE/prebuilt/" - mv artifacts/macos-arm64 "$BUNDLE/prebuilt/" + mv artifacts/macos-universal "$BUNDLE/prebuilt/" mv artifacts/win32 "$BUNDLE/prebuilt/" chmod +x "$BUNDLE"/prebuilt/*/* # Include all the other relevant files from the release From 4ae09c74e16a6bb032cf37c090778aad3c0f6e06 Mon Sep 17 00:00:00 2001 From: Howard Lewis Ship Date: Sat, 5 Sep 2026 11:40:37 -0700 Subject: [PATCH 3/3] docs: Update that downloaded binaries include OS X (combined Intel + ARM) --- manual/modules/ROOT/pages/software.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manual/modules/ROOT/pages/software.adoc b/manual/modules/ROOT/pages/software.adoc index a139fbcd..05c129ab 100644 --- a/manual/modules/ROOT/pages/software.adoc +++ b/manual/modules/ROOT/pages/software.adoc @@ -10,8 +10,8 @@ Versions from 2025 onward can be found here: The archive contains the full source code for the Dialog compiler and interactive debugger, as well as pre-built executable files for Linux -(x86_64) and Windows. The compiler is called `dialogc`, and the debugger -is called `dgdebug`. +(x86_64), OS X (single binaries for both Intel and ARM), and Windows. +The compiler is called `dialogc`, and the debugger is called `dgdebug`. Alternately, if you are on OS X, you can install the [Homebrew package manager](https://brew.sh/), @@ -272,7 +272,7 @@ of a code change. Performs an undo operation, and then re-enters the most recent line of input. This command offers more fine-grained control than `@replay`, and generally -works better for games with randomized behaviour. It lets you focus on the local +works better for games with randomized behavior. It lets you focus on the local effects of a code change. @g::