9.3. TPC Selection

A target-platform-configuration (TPC) is a tuple of machine architecture, operating system, platform variant, and compiler, followed by a possibly empty sequence of options, like debug or optimize. Here are some typical target-platform-configuration strings:

  i386-freebsd2-aout-gcc-debug
  i486-linux-elf-jikes
  i486-nt-win32-cl-optimize
  sparc-solaris-elf-gcc

The formal syntax is

    tpc ::= string-string-string-string[-string[,string]*]

    with string ::= ['A'..'Z', 'a'-'z', '0'-'9']+
 


By convention, ComPact uses the following variables for elements of a TPC internally:

tpc-hosttype: the machine architecture
tpc-ostype: the operating system in use
tpc-variant: the platform variant of the operating system
tpc-compiler: the compiler to be used
tpc-options: options for compiling and linking, including build variants
None of these variables must include a `-' character, as that would screw up the matching expressions in the backend configuration file pkgconf.cbcl. See Section A.3 in Elego ComPact Manual Appendices for an example.

TPCs are the link between the frontend of the ComPact build system and the backend. While the use and meaning of their syntactic elements is relatively free, the backend configuration will have to be changed if you want to implement your own scheme. The ComPact build system uses the first four TPC elements and the fifth TPC element as base for a corresponding directory name, in which all derived files for a certain TPC are stored, like i386-freebsd2-aout-gcc/debug. (This can be overriden by the -tpcdir option of pkgm.) It is considered best to work with the proposed scheme and just extend the backend configuration file with new TPC definitions.

The TPC the ComPact tools work with is usually selected by one or more definitions in the central configuration file ~/.compactrc or ~/compact/compactrc. The definitions in this file may determine a TPC that depends on the current package type and a default TPC, and can be overriden by setting the environment variables TPC or PKG_CONFIGURATION. For a detailed description of all the configuration file settings see Section A.1 in Elego ComPact Manual Appendices.

Figure 9-2. GUI Pool Management Header



The GUI of the ComPact pool management needs a concrete TPC to work on. The TPC can be entered in the header command frame (4). Only packages that have been built for this TPC and have been shipped to the selected pool are listed in the dir2 (6) frame. To change the current TPC for the pool listing, enter the new TPC string into the input field and press the Change to: button.