Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
platform(n)		     Tcl Bundled Packages		   platform(n)


       platform	- System identification	support	code and utilities

       package require platform	?1.0.10?

       platform::patterns identifier

       The  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 se-
       rial 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 conven-

       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.

	      This  command  returns an	identifier describing the platform the
	      Tcl core is running on. The returned identifier has the  general
	      format OS-CPU. The OS part of the	identifier may contain details
	      like kernel version, libc	version, etc.,	and  this  information
	      may  contain  dashes  as	well.	The  CPU part will not contain
	      dashes, making the preceding dash	the last dash in the result.

	      This command returns  a  simplified  identifier  describing  the
	      platform	the  Tcl  core	is  running  on.  In contrast to plat-
	      form::identify it	leaves out details like	kernel	version,  libc
	      version, etc. The	returned identifier has	the general format OS-

       platform::patterns identifier
	      This command takes an identifier as returned by  platform::iden-
	      tify and returns a list of identifiers describing	compatible ar-

       This 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 ver-
       sions 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]]

       operating system, cpu architecture, platform, architecture

platform			     1.0.4			   platform(n)


Want to link to this manual page? Use this URL:

home | help