summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/platform/pkgIndex.tcl2
-rw-r--r--library/platform/platform.tcl25
-rw-r--r--library/platform/shell.tcl7
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]