Posted to tcl by patthoyts at Wed Nov 01 15:16:36 GMT 2006view pretty
namespace eval ::platform {
proc generic {} {
global tcl_platform
set plat [string tolower [lindex $tcl_platform(os) 0]]
set cpu $tcl_platform(machine)
switch -glob -- $cpu {
sun4* {
set cpu sparc
}
intel -
i*86* {
set cpu ix86
}
x86_64 {
if {$tcl_platform(wordSize) == 4} {
# See Example <1> at the top of this file.
set cpu ix86
}
}
"Power*" {
set cpu powerpc
}
"arm*" {
set cpu arm
}
}
switch -- $plat {
windows {
set plat win32
}
sunos {
set plat solaris
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
}
darwin {
set plat macosx
}
aix {
set cpu powerpc
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
}
hp-ux {
set plat hpux
if {$cpu ne "ia64"} {
set cpu parisc
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
}
}
osf1 {
set plat tru64
}
}
return "${cpu}-${plat}"
}
}