![]() |
![]()
| ![]() |
![]()
NAMEplatform - System identification support code and utilities SYNOPSISpackage require platform ?1.0.10? platform::generic platform::identify platform::patterns identifier DESCRIPTIONThe platform package provides several utility commands useful for the identification of the architecture of a machine running Tcl. Whilst Tcl provides the tcl_platform array for identifying the current architecture (in particular, the platform and machine elements) this is not always sufficient. This is because (on Unix machines) tcl_platform reflects the values returned by the uname command and these are not standardized across platforms and architectures. In addition, on at least one platform (AIX) the tcl_platform(machine) contains the CPU serial number. Consequently, individual applications need to manipulate the values in tcl_platform (along with the output of system specific utilities) - which is both inconvenient for developers, and introduces the potential for inconsistencies in identifying architectures and in naming conventions. The platform package prevents such fragmentation - i.e., it establishes a standard naming convention for architectures running Tcl and makes it more convenient for developers to identify the current architecture a Tcl program is running on. COMMANDS
EXAMPLEThis can be used to allow an application to be shipped with multiple builds of a shared library, so that the same package works on many versions of an operating system. For example: package require platform # Assume that app script is .../theapp/bin/theapp.tcl set binDir [file dirname [file normalize [info script]]] set libDir [file join $binDir .. lib] set platLibDir [file join $libDir [platform::identify]] load [file join $platLibDir support[info sharedlibextension]] KEYWORDSoperating system, cpu architecture, platform, architecture
|