1platform(n)                  Tcl Bundled Packages                  platform(n)
2
3
4
5______________________________________________________________________________
6

NAME

8       platform - System identification support code and utilities
9

SYNOPSIS

11       package require platform ?1.0.10?
12
13       platform::generic
14       platform::identify
15       platform::patterns identifier
16______________________________________________________________________________
17

DESCRIPTION

19       The  platform  package provides several utility commands useful for the
20       identification of the architecture of a machine running Tcl.
21
22       Whilst Tcl provides the tcl_platform array for identifying the  current
23       architecture (in particular, the platform and machine elements) this is
24       not always sufficient. This is because (on Unix machines)  tcl_platform
25       reflects  the  values  returned  by the uname command and these are not
26       standardized across platforms and architectures.  In  addition,  on  at
27       least one platform (AIX) the tcl_platform(machine) contains the CPU se‐
28       rial number.
29
30       Consequently, individual applications need to manipulate the values  in
31       tcl_platform  (along  with  the  output of system specific utilities) -
32       which is both inconvenient for developers, and introduces the potential
33       for  inconsistencies in identifying architectures and in naming conven‐
34       tions.
35
36       The platform package prevents such fragmentation - i.e., it establishes
37       a standard naming convention for architectures running Tcl and makes it
38       more convenient for developers to identify the current  architecture  a
39       Tcl program is running on.
40

COMMANDS

42       platform::identify
43              This  command  returns an identifier describing the platform the
44              Tcl core is running on. The returned identifier has the  general
45              format OS-CPU. The OS part of the identifier may contain details
46              like kernel version, libc version, etc.,  and  this  information
47              may  contain  dashes  as  well.   The  CPU part will not contain
48              dashes, making the preceding dash the last dash in the result.
49
50       platform::generic
51              This command returns  a  simplified  identifier  describing  the
52              platform  the  Tcl  core  is  running  on.  In contrast to plat‐
53              form::identify it leaves out details like kernel  version,  libc
54              version, etc. The returned identifier has the general format OS-
55              CPU.
56
57       platform::patterns identifier
58              This command takes an identifier as returned by  platform::iden‐
59              tify and returns a list of identifiers describing compatible ar‐
60              chitectures.
61

EXAMPLE

63       This can be used to allow an application to be  shipped  with  multiple
64       builds of a shared library, so that the same package works on many ver‐
65       sions of an operating system. For example:
66
67              package require platform
68              # Assume that app script is .../theapp/bin/theapp.tcl
69              set binDir [file dirname [file normalize [info script]]]
70              set libDir [file join $binDir .. lib]
71              set platLibDir [file join $libDir [platform::identify]]
72              load [file join $platLibDir support[info sharedlibextension]]
73

KEYWORDS

75       operating system, cpu architecture, platform, architecture
76
77
78
79platform                             1.0.4                         platform(n)
Impressum