From 562da42399d8ca6235ac3bc1f49e7048d27bfcb1 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Tue, 19 Aug 2025 15:05:34 +0000 Subject: Experimental simplification for platform on MacOS --- library/platform/platform.tcl | 101 +++++++++++------------------------------- 1 file changed, 26 insertions(+), 75 deletions(-) diff --git a/library/platform/platform.tcl b/library/platform/platform.tcl index 3bf1ff6..eb0e1dd 100644 --- a/library/platform/platform.tcl +++ b/library/platform/platform.tcl @@ -123,7 +123,12 @@ proc ::platform::generic {} { } } darwin { - set plat macosx + set major [lindex [split $tcl_platform(osVersion) .] 0] + if {$major > 15} { + set plat macos + } else { + set plat macosx + } # Correctly identify the cpu when running as a 64bit # process on a machine with a 32bit kernel if {$cpu eq "ix86"} { @@ -171,26 +176,28 @@ proc ::platform::identify {} { set id [generic] regexp {^([^-]+)-([^-]+)$} $id -> plat cpu - switch -- $plat { + switch -glob -- $plat { solaris { regsub {^5} $tcl_platform(osVersion) 2 text append plat $text return "${plat}-${cpu}" } - macosx { + macos* { set major [lindex [split $tcl_platform(osVersion) .] 0] - if {$major > 19} { - set minor [lindex [split $tcl_platform(osVersion) .] 1] - incr major 1 + incr major 1 + if {$major > 22} { if {$major < 26} { incr major -10 } + append plat $major + } elif {$major > 20} { + set minor [lindex [split $tcl_platform(osVersion) .] 1] if {$major < 14} { incr minor -1 } append plat $major.$minor } else { - incr major -4 + incr major -5 append plat 10.$major } return "${plat}-${cpu}" @@ -343,9 +350,9 @@ proc ::platform::patterns {id} { macosx-ix86 { lappend res macosx-universal macosx-i386-x86_64 } - macosx*-* { + macos*-* { # 10.5+,11.0+ - if {[regexp {macosx([^-]*)-(.*)} $id -> v cpu]} { + if {[regexp {macosx?([^-]*)-(.*)} $id -> v cpu]} { switch -exact -- $cpu { ix86 { @@ -366,76 +373,20 @@ proc ::platform::patterns {id} { } if {$v ne ""} { - foreach {major minor} [split $v .] break - + foreach {major minor} [split $v.5 .] break set res {} - if {$major > 26} { - # Add x.0 to x.minor to patterns. - for {set j $minor} {$j >= 0} {incr j -1} { - lappend res macosx${major}.${j}-${cpu} - foreach a $alt { - lappend res macosx${major}.${j}-$a - } + while {$major > 11} { + # Add $major to patterns. + lappend res macos${major}-${cpu} + foreach a $alt { + lappend res macos${major}-$a } incr major -1 - set minor 5; # Assume that (major-1).5 will be there one day. - } - if {$major eq 26} { - # Add 26.0 to 26.minor to patterns. - for {set j $minor} {$j >= 0} {incr j -1} { - lappend res macosx${major}.${j}-${cpu} - foreach a $alt { - lappend res macosx${major}.${j}-$a - } - } - set major 15 - set minor 6 - } - if {$major eq 15} { - # Add 15.0 to 15.minor to patterns. - for {set j $minor} {$j >= 0} {incr j -1} { - lappend res macosx${major}.${j}-${cpu} - foreach a $alt { - lappend res macosx${major}.${j}-$a - } - } - set major 14 - set minor 6 - } - if {$major eq 14} { - # Add 14.0 to 14.minor to patterns. - for {set j $minor} {$j >= 0} {incr j -1} { - lappend res macosx${major}.${j}-${cpu} - foreach a $alt { - lappend res macosx${major}.${j}-$a - } - } - set major 13 - set minor 5 - } - if {$major eq 13} { - # Add 13.0 to 13.minor to patterns. - for {set j $minor} {$j >= 0} {incr j -1} { - lappend res macosx${major}.${j}-${cpu} - foreach a $alt { - lappend res macosx${major}.${j}-$a - } - } - set major 12 - set minor 5 - } - if {$major eq 12} { - # Add 12.0 to 12.minor to patterns. - for {set j $minor} {$j >= 0} {incr j -1} { - lappend res macosx${major}.${j}-${cpu} - foreach a $alt { - lappend res macosx${major}.${j}-$a - } + if {$major == 25} { + set major 15 } - set major 11 - set minor 5 } - if {$major eq 11} { + if {$major == 11} { # Add 11.0 to 11.minor to patterns. for {set j $minor} {$j >= 0} {incr j -1} { lappend res macosx${major}.${j}-${cpu} @@ -465,7 +416,7 @@ proc ::platform::patterns {id} { lappend res macosx${major}.${j}-$a } } - # Add unversioned patterns for 10.3/10.4 builds. + # Add unversioned patterns for 10.3/10.4 builds. lappend res macosx-${cpu} foreach a $alt { lappend res macosx-$a -- cgit v0.12