diff options
Diffstat (limited to 'library')
-rw-r--r-- | library/platform/pkgIndex.tcl | 2 | ||||
-rw-r--r-- | library/platform/platform.tcl | 25 | ||||
-rw-r--r-- | library/platform/shell.tcl | 7 |
3 files changed, 28 insertions, 6 deletions
diff --git a/library/platform/pkgIndex.tcl b/library/platform/pkgIndex.tcl index 808f995..35da3b7 100644 --- a/library/platform/pkgIndex.tcl +++ b/library/platform/pkgIndex.tcl @@ -1,3 +1,3 @@ -package ifneeded platform 1.0.8 [list source [file join $dir platform.tcl]] +package ifneeded platform 1.0.9 [list source [file join $dir platform.tcl]] package ifneeded platform::shell 1.1.4 [list source [file join $dir shell.tcl]] diff --git a/library/platform/platform.tcl b/library/platform/platform.tcl index 370c48a..572a8b4 100644 --- a/library/platform/platform.tcl +++ b/library/platform/platform.tcl @@ -281,6 +281,13 @@ proc ::platform::patterns {id} { macosx*-* { # 10.5+ if {[regexp {macosx([^-]*)-(.*)} $id -> v cpu]} { + + switch -exact -- $cpu { + ix86 - + x86_64 { set alt i386-x86_64 } + default { set alt {} } + } + if {$v ne ""} { foreach {major minor} [split $v .] break @@ -289,22 +296,34 @@ proc ::platform::patterns {id} { for {set j $minor} {$j >= 5} {incr j -1} { lappend res macosx${major}.${j}-${cpu} lappend res macosx${major}.${j}-universal + if {$alt ne {}} { + lappend res macosx${major}.${j}-$alt + } } # Add unversioned patterns for 10.3/10.4 builds. lappend res macosx-${cpu} lappend res macosx-universal + if {$alt ne {}} { + lappend res macosx-$alt + } } else { lappend res macosx-universal + if {$alt ne {}} { + lappend res macosx-$alt + } } } else { lappend res macosx-universal } } - macosx-powerpc - - macosx-ix86 { + macosx-powerpc { lappend res macosx-universal } + macosx-x86_64 - + macosx-ix86 { + lappend res macosx-universal macosx-i386-x86_64 + } } lappend res tcl ; # Pure tcl packages are always compatible. return $res @@ -314,7 +333,7 @@ proc ::platform::patterns {id} { # ### ### ### ######### ######### ######### ## Ready -package provide platform 1.0.8 +package provide platform 1.0.9 # ### ### ### ######### ######### ######### ## Demo application diff --git a/library/platform/shell.tcl b/library/platform/shell.tcl index 407e639..e0a129a 100644 --- a/library/platform/shell.tcl +++ b/library/platform/shell.tcl @@ -1,3 +1,4 @@ + # -*- tcl -*- # ### ### ### ######### ######### ######### ## Overview @@ -104,8 +105,10 @@ proc ::platform::shell::LOCATE {bv ov} { # here. If the found package is wrapped we copy the code somewhere # where the spawned shell will be able to read it. - # Note: This code depends on the form of the 'provide' command - # generated by tm.tcl. Keep them in sync. See Bug 2255235. + # This code is brittle, it needs has to adapt to whatever changes + # are made to the TM code, i.e. the provide statement generated by + # tm.tcl + set pl [package ifneeded platform [package require platform]] set base [lindex $pl end] |