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

FreeBSD Manual Pages

  
 
  

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

______________________________________________________________________________

NAME
       platform	- System identification	support	code and utilities

SYNOPSIS
       package require platform	?1.0.10?

       platform::generic
       platform::identify
       platform::patterns identifier
______________________________________________________________________________

DESCRIPTION
       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-
       tions.

       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
       platform::identify
	      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.

       platform::generic
	      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-
	      CPU.

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

EXAMPLE
       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]]

KEYWORDS
       operating system, cpu architecture, platform, architecture

platform			     1.0.4			   platform(n)

NAME | SYNOPSIS | DESCRIPTION | COMMANDS | EXAMPLE | KEYWORDS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=platform.tcl87&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help