From c50f5cbd35c7e26d557b6bd0f5ae9ab6e2a3f39c Mon Sep 17 00:00:00 2001
From: andreas_kupries <akupries@shaw.ca>
Date: Wed, 8 Apr 2009 19:11:32 +0000
Subject: 	* library/platform/platform.tcl: Extended the darwin sections
 to 	* library/platform/pkgIndex.tcl: add a kernel version number to 
 * unix/Makefile.in: the identifier for anything from Leopard (10.5) 	*
 win/Makefile.in: on up. Extended patterns for same. Extended cpu 	*
 doc/platform.n: recognition for 64bit Tcl running on a 32bit 	kernel on a
 64bit processor (By Daniel Steffen). Bumped version to 	1.0.4. Updated
 Makefiles.

---
 ChangeLog                     | 10 ++++++++++
 doc/platform.n                |  6 +++---
 library/platform/pkgIndex.tcl |  2 +-
 library/platform/platform.tcl | 40 +++++++++++++++++++++++++++++++++++++++-
 unix/Makefile.in              |  6 +++---
 win/Makefile.in               |  6 +++---
 6 files changed, 59 insertions(+), 11 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 27fa36d..c9d4f63 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-04-08  Andreas Kupries  <andreask@activestate.com>
+
+	* library/platform/platform.tcl: Extended the darwin sections to
+	* library/platform/pkgIndex.tcl: add a kernel version number to
+	* unix/Makefile.in: the identifier for anything from Leopard (10.5)
+	* win/Makefile.in: on up. Extended patterns for same. Extended cpu
+	* doc/platform.n: recognition for 64bit Tcl running on a 32bit
+	kernel on a 64bit processor (By Daniel Steffen). Bumped version to
+	1.0.4. Updated Makefiles.
+
 2009-04-08  Don Porter  <dgp@users.sourceforge.net>
 
 	* library/tcltest/tcltest.tcl:	Converted [eval]s (some unsafe!) to
diff --git a/doc/platform.n b/doc/platform.n
index eaf7d78..3f10506 100644
--- a/doc/platform.n
+++ b/doc/platform.n
@@ -4,17 +4,17 @@
 '\" See the file "license.terms" for information on usage and redistribution
 '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 '\" 
-'\" RCS: @(#) $Id: platform.n,v 1.5 2008/03/26 09:59:22 dkf Exp $
+'\" RCS: @(#) $Id: platform.n,v 1.5.2.1 2009/04/08 19:11:44 andreas_kupries Exp $
 '\" 
 .so man.macros
-.TH "platform" n 1.0.3 platform "Tcl Bundled Packages"
+.TH "platform" n 1.0.4 platform "Tcl Bundled Packages"
 .BS
 '\" Note:  do not modify the .SH NAME line immediately below!
 .SH NAME
 platform \- System identification support code and utilities
 .SH SYNOPSIS
 .nf
-\fBpackage require platform ?1.0.3?\fR
+\fBpackage require platform ?1.0.4?\fR
 .sp
 \fBplatform::generic\fR
 \fBplatform::identify\fR
diff --git a/library/platform/pkgIndex.tcl b/library/platform/pkgIndex.tcl
index 27d596f..a63f4aa 100644
--- a/library/platform/pkgIndex.tcl
+++ b/library/platform/pkgIndex.tcl
@@ -1,3 +1,3 @@
-package ifneeded platform        1.0.3 [list source [file join $dir platform.tcl]]
+package ifneeded platform        1.0.4 [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 143cdc5..b42c419 100644
--- a/library/platform/platform.tcl
+++ b/library/platform/platform.tcl
@@ -111,6 +111,13 @@ proc ::platform::generic {} {
 	}
 	darwin {
 	    set plat macosx
+	    # Correctly identify the cpu when running as a 64bit
+	    # process on a machine with a 32bit kernel
+	    if {$cpu eq "ix86"} {
+		if {$tcl_platform(wordSize) == 8} {
+		    set cpu x86_64
+		}
+	    }
 	}
 	aix {
 	    set cpu powerpc
@@ -154,6 +161,14 @@ proc ::platform::identify {} {
 	    append plat $text
 	    return "${plat}-${cpu}"
 	}
+	macosx {
+	    set major [lindex [split $tcl_platform(osVersion) .] 0]
+	    if {$major > 8} {
+		incr major -4
+		append plat 10.$major
+		return "${plat}-${cpu}"
+	    }
+	}
 	linux {
 	    # Look for the libc*.so and determine its version
 	    # (libc5/6, libc6 further glibc 2.X)
@@ -238,6 +253,29 @@ proc ::platform::patterns {id} {
 		}
 	    }
 	}
+	macosx*-*    {
+	    # 10.5+ 
+	    if {[regexp {macosx([^-]*)-(.*)} $id -> v cpu]} {
+		if {$v ne ""} {
+		    foreach {major minor} [split $v .] break
+
+		    # Add 10.5 to 10.minor to patterns.
+		    set res {}
+		    for {set j $minor} {$j >= 5} {incr j -1} {
+			lappend res macosx${major}.${j}-${cpu}
+			lappend res macosx${major}.${j}-universal
+		    }
+
+		    # Add unversioned patterns for 10.3/10.4 builds.
+		    lappend res macosx-${cpu}
+		    lappend res macosx-universal
+		} else {
+		    lappend res macosx-universal
+		}
+	    } else {
+		lappend res macosx-universal
+	    }
+	}
 	macosx-powerpc -
 	macosx-ix86    {
 	    lappend res macosx-universal
@@ -251,7 +289,7 @@ proc ::platform::patterns {id} {
 # ### ### ### ######### ######### #########
 ## Ready
 
-package provide platform 1.0.3
+package provide platform 1.0.4
 
 # ### ### ### ######### ######### #########
 ## Demo application
diff --git a/unix/Makefile.in b/unix/Makefile.in
index c9f3e26..227177f 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -4,7 +4,7 @@
 # "./configure", which is a configuration script generated by the "autoconf"
 # program (constructs like "@foo@" will get replaced in the actual Makefile.
 #
-# RCS: @(#) $Id: Makefile.in,v 1.229.2.12 2009/04/08 16:04:48 dgp Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.229.2.13 2009/04/08 19:11:52 andreas_kupries Exp $
 
 VERSION 		= @TCL_VERSION@
 MAJOR_VERSION		= @TCL_MAJOR_VERSION@
@@ -798,8 +798,8 @@ install-libraries: libraries $(INSTALL_TZDATA) install-msgs
 	@echo "Installing package tcltest 2.3.1 as a Tcl Module";
 	@$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.5/tcltest-2.3.1.tm;
 
-	@echo "Installing package platform 1.0.3 as a Tcl Module";
-	@$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform-1.0.3.tm;
+	@echo "Installing package platform 1.0.4 as a Tcl Module";
+	@$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform-1.0.4.tm;
 	@echo "Installing package platform::shell 1.1.4 as a Tcl Module";
 	@$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform/shell-1.1.4.tm;
 
diff --git a/win/Makefile.in b/win/Makefile.in
index 00b6793..35bdd97 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -4,7 +4,7 @@
 # "./configure", which is a configuration script generated by the "autoconf"
 # program (constructs like "@foo@" will get replaced in the actual Makefile.
 #
-# RCS: @(#) $Id: Makefile.in,v 1.124.2.7 2009/04/08 16:04:59 dgp Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.124.2.8 2009/04/08 19:12:04 andreas_kupries Exp $
 
 VERSION = @TCL_VERSION@
 
@@ -646,8 +646,8 @@ install-libraries: libraries install-tzdata install-msgs
 	@$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/msgcat-1.4.2.tm;
 	@echo "Installing package tcltest 2.3.1 as a Tcl Module";
 	@$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/tcltest-2.3.1.tm;
-	@echo "Installing package platform 1.0.3 as a Tcl Module";
-	@$(COPY) $(ROOT_DIR)/library/platform/platform.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform-1.0.3.tm;
+	@echo "Installing package platform 1.0.4 as a Tcl Module";
+	@$(COPY) $(ROOT_DIR)/library/platform/platform.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform-1.0.4.tm;
 	@echo "Installing package platform::shell 1.1.4 as a Tcl Module";
 	@$(COPY) $(ROOT_DIR)/library/platform/shell.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform/shell-1.1.4.tm;
 	@echo "Installing encodings";
-- 
cgit v0.12