critcl: handle macos platform synonym

Tcl 9 reports the platform name as 'macosx' for some versions and as
'macos' for others.
This commit is contained in:
Joshua Root
2026-04-14 07:06:24 +10:00
parent e5aa79688a
commit d54ca2c6a9
4 changed files with 55 additions and 9 deletions
Vendored
+2 -1
View File
@@ -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' ' ')"
+2 -1
View File
@@ -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' ' ')"
+26 -3
View File
@@ -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 {
+25 -4
View File
@@ -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