From d54ca2c6a911ef8005e0bdb93ea937c199076248 Mon Sep 17 00:00:00 2001 From: Joshua Root Date: Tue, 14 Apr 2026 07:06:24 +1000 Subject: [PATCH] critcl: handle macos platform synonym Tcl 9 reports the platform name as 'macosx' for some versions and as 'macos' for others. --- configure | 3 +- configure.ac | 3 +- .../lib/critcl-platform/platform.tcl | 29 +++++++++++++++++-- vendor/critcl-3.3.1/lib/critcl/Config.in | 29 ++++++++++++++++--- 4 files changed, 55 insertions(+), 9 deletions(-) diff --git a/configure b/configure index 4c384c1d5..a8df8d44f 100755 --- a/configure +++ b/configure @@ -9791,7 +9791,8 @@ if test "$CRITCL_PLATFORMS" = "" -a "$OS_PLATFORM" = darwin; then CRITCL_PLATFORMS=macosx-$host_cpu fi CRITCL_PLATFORMS="$(echo "$CRITCL_PLATFORMS" | \ - sed -E -e 's/macosx-a(rm|arch)64/macosx-aarch64 macosx-arm macosx-arm64/' \ + sed -E -e 's/macosx-a(rm|arch)64/macosx-aarch64 macosx-arm macosx-arm64 macos-aarch64 macos-arm macos-arm64/' \ + -e 's/macosx-x86_64/macosx-x86_64 macos-x86_64/' -e 's/macosx-i[3-6]86/macosx-ix86/' \ -e 's/macosx-ppc/macosx-powerpc/' \ | tr '\n' ' ')" diff --git a/configure.ac b/configure.ac index 0f31372b5..1b1840692 100644 --- a/configure.ac +++ b/configure.ac @@ -516,7 +516,8 @@ if test "$CRITCL_PLATFORMS" = "" -a "$OS_PLATFORM" = darwin; then CRITCL_PLATFORMS=macosx-$host_cpu fi CRITCL_PLATFORMS="$(echo "$CRITCL_PLATFORMS" | \ - sed -E -e 's/macosx-a(rm|arch)64/macosx-aarch64 macosx-arm macosx-arm64/' \ + sed -E -e 's/macosx-a(rm|arch)64/macosx-aarch64 macosx-arm macosx-arm64 macos-aarch64 macos-arm macos-arm64/' \ + -e 's/macosx-x86_64/macosx-x86_64 macos-x86_64/' -e 's/macosx-i[[3-6]]86/macosx-ix86/' \ -e 's/macosx-ppc/macosx-powerpc/' \ | tr '\n' ' ')" diff --git a/vendor/critcl-3.3.1/lib/critcl-platform/platform.tcl b/vendor/critcl-3.3.1/lib/critcl-platform/platform.tcl index 724712b8b..9a7b9eaf8 100644 --- a/vendor/critcl-3.3.1/lib/critcl-platform/platform.tcl +++ b/vendor/critcl-3.3.1/lib/critcl-platform/platform.tcl @@ -339,18 +339,41 @@ proc ::platform::patterns {id} { } } macos*-aarch64 { - lappend res macosx-arm macosx-arm64 macosx-universal2 + foreach m {macosx macos} { + if {${m}-aarch64 ni $res} { + lappend res ${m}-aarch64 + } + lappend res ${m}-arm ${m}-arm64 + } + lappend res macosx-universal2 } macos*-arm { - lappend res macosx-arm64 macosx-aarch64 macosx-universal2 + foreach m {macosx macos} { + if {${m}-aarch64 ni $res} { + lappend res ${m}-arm + } + lappend res ${m}-aarch64 ${m}-arm64 + } + lappend res macosx-universal2 } macos*-arm64 { - lappend res macosx-arm macosx-aarch64 macosx-universal2 + foreach m {macosx macos} { + if {${m}-aarch64 ni $res} { + lappend res ${m}-arm64 + } + lappend res ${m}-arm ${m}-aarch64 + } + lappend res macosx-universal2 } macosx-powerpc { lappend res macosx-universal } macos*-x86_64 { + foreach m {macosx macos} { + if {${m}-x86_64 ni $res} { + lappend res ${m}-x86_64 + } + } lappend res macosx-i386-x86_64 macosx-universal2 } macos*-ix86 { diff --git a/vendor/critcl-3.3.1/lib/critcl/Config.in b/vendor/critcl-3.3.1/lib/critcl/Config.in index 168542ef0..a95511fd0 100644 --- a/vendor/critcl-3.3.1/lib/critcl/Config.in +++ b/vendor/critcl-3.3.1/lib/critcl/Config.in @@ -189,7 +189,9 @@ macosx-universal2 link_preload -undefined dynamic_lookup macosx-universal2 strip macosx-universal2 platform macosx-universal2 $osxmin \ macosx-arm64 \ - macosx-x86_64 + macosx-x86_64 \ + macos-arm64 \ + macos-x86_64 # default on older OSX intel is universal containing x86 32 and 64 bit macosx-ix86 when $i386 && $x86_64 @@ -203,7 +205,8 @@ macosx-ix86 link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3 macosx-ix86 strip macosx-ix86 platform macosx-ix86 $osxmin \ macosx-ix86 \ - macosx-x86_64 + macosx-x86_64 \ + macos-x86_64 # target for most common architectures macosx-most when $ppc && $i386 && $x86_64 @@ -218,7 +221,8 @@ macosx-most strip macosx-most platform macosx-most $osxmin \ macosx-powerpc \ macosx-ix86 \ - macosx-x86_64 + macosx-x86_64 \ + macos-x86_64 # target for old universal, ppc and x86 32. macosx-universal when $ppc && $i386 @@ -248,7 +252,8 @@ macosx-all platform macosx-all $osxmin \ macosx-powerpc \ macosx-powerpc64 \ macosx-ix86 \ - macosx-x86_64 + macosx-x86_64 \ + macos-x86_64 # OSX ppc 32 bit macosx-ppc32 when $ppc @@ -282,6 +287,10 @@ macosx-x86_64 link_preload -undefined dynamic_lookup macosx-x86_64 strip macosx-x86_64 platform macosx-x86_64 +macos-x86_64 when $x86_64 +macos-x86_64 copy macosx-x86_64 +macos-x86_64 platform macos-x86_64 + # OSX arm 64 bit macosx-arm64 when $arm64 macosx-arm64 compile clang -c -arch arm64 @@ -298,6 +307,18 @@ macosx-arm when $arm64 macosx-arm copy macosx-arm64 macosx-arm platform macosx-arm +macos-arm64 when $arm64 +macos-arm64 copy macosx-arm64 +macos-arm64 platform macos-arm64 + +macos-arm when $arm64 +macos-arm copy macosx-arm64 +macos-arm platform macos-arm + +macos-aarch64 when $arm64 +macos-aarch64 copy macosx-arm64 +macos-aarch64 platform macos-aarch64 + # Linux - 32 bit or 64 bit build - select using "-target" if you don't # want the platform default (32 on 32, 64 on 64). This requires # some work to detect the cpu class in use and then set a platform