.\" $Id: pmk.conf.5 1958 2007-03-21 17:10:19Z coudercd $ .\" .\" Copyright (c) 2003-2004 Xavier Santolaria .\" Copyright (c) 2003-2005 Damien Couderc .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" - Redistribution of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" - Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" - Neither the name of the copyright holder(s) nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" .Dd April 03, 2003 .Dt PMK.CONF 5 .Os .Sh NAME .Nm pmk.conf .Nd premake configuration file .Sh DESCRIPTION .Nm pmk.conf contains a series of assignements that are used by .Xr pmk 1 and created by .Xr pmksetup 8 . . .Sh DATA TYPES These are common types used by pmk, see .Xr pmkfile 5 for a complete description. . .Sh OPERATORS .Bl -tag -width Ds .It Cm = This operator makes the value dynamic, which means that it will be (re)assigned everytime you run .Xr pmksetup 8 . .Pp For example: .Bd -literal -offset indent BIN_CC = "/usr/bin/cc" .Ed .It Cm : This operator makes the value static, which means that if you want to regenerate the .Nm pmk.conf , the value will be kept and not dynamically assigned by .Xr pmksetup 8 . .Pp For example: .Bd -literal -offset indent BIN_INSTALL:"/usr/local/bin/install" .Ed .El .Pp . .Sh FAMILY CLASSES Assignements can be classed in different families. .Bl -tag -width PATH_* .It Ev AC_* Compatibility with autoconf. .It Ev BIN_* This class is used for binary paths. .It Ev HW_* Hardware related data like for example byte order or cpu features. .It Ev PATH_* Specific paths family. .It Ev OS_* System specific data. .It Ev misc Some other data (such as PREFIX) cannot fit into previous families. .El . .Sh AC CLASS This class is providing some variables for GNU Autoconf compatibility: .Bl -tag -width AC_ECHO_C .It Ev AC_ECHO_C Support for "\\c". .It Ev AC_ECHO_N Support for "\\n". .It Ev AC_ECHO_T Support for "\\t". .El . .Sh BIN CLASS This class is providing locations of various useful binaries such as ar, as, cc, cpp, ... . .Sh HW CLASS This class is giving some information about the host hardware. .Bl -tag -width HW_BYTEORDER .It Ev HW_BYTEORDER Provide the byte order of the host: 'BIG_ENDIAN' or 'LITTLE_ENDIAN'. .It Ev HW_CPU_ARCH Identify the cpu architecture. .El . We support actually the following architectures (with cpu identification for some of them): .Bl -tag -width parisc_64 .It Ev alpha .Bl -tag -width HW_ALPHA_CPU_FEATURES .It Ev HW_ALPHA_CPU_CLASS Cpu class (EV4, EV5 or EV6). .It Ev HW_ALPHA_CPU_FEATURES Cpu features list (BWX, FIX, CIX, MVI, PAT and PMI) .El . .It Ev ia_64 .Bl -tag -width HW_IA64_CPU_FEATURES .It Ev HW_IA64_CPU_ARCHREV Cpu architecture revision number. .It Ev HW_IA64_CPU_CLASS Cpu class ('Itanium' or 'Itanium2') .It Ev HW_IA64_CPU_FAMILY Cpu family number. .It Ev HW_IA64_CPU_FEATURES Cpu features list (LB, SD and AO). .It Ev HW_IA64_CPU_MODEL Cpu model number. .It Ev HW_IA64_CPU_REVISION Cpu revision number. .It Ev HW_IA64_CPU_VENDOR Cpu vendor string. .El . .It Ev m68k No specific variables. . .It Ev parisc_64 No specific variables. . .It Ev ppc No specific variables. . .It Ev sparc_32 No specific variables. . .It Ev sparc_64 No specific variables. . .It Ev x86_32 .Bl -tag -width HW_X86_CPU_STD_VENDOR .It Ev HW_X86_CPU_CLASS Cpu family class (386, 486, 586, ...). .It Ev HW_X86_CPU_EXTFAM Extended family number. .It Ev HW_X86_CPU_EXTMOD Extended model number. .It Ev HW_X86_CPU_FAMILY Cpu family number. .It Ev HW_X86_CPU_FEATURES Cpu features list (FPU, VME, DE, PSE, TSC, ...). .It Ev HW_X86_CPU_MODEL Cpu model number. .It Ev HW_X86_CPU_STD_VENDOR Standardised cpu vendor ('INTEL', 'AMD', ...). .It Ev HW_X86_CPU_VENDOR Cpu vendor string. .El . .It Ev x86_64 Same as x86_32 architecture. . .It Ev vax No specific variables. .El . .Sh OS CLASS This class is providing informations about the host's operating system: .Bl -tag -width OS_VERSION .It Ev OS_ARCH Operating system architecture (warning: this is OS specific). .It Ev OS_NAME Operating system name (warning: linux distributions return the kernel name). .It Ev OS_VERSION Operating system version (warning: linux distributions return the kernel version). .El . .Sh PATH CLASS This class is providing path for binaries, headers and libraries. . .Sh MISC CLASS This class is regrouping what can not be classed elsewhere. .Bl -tag -width PC_PATH_LIB .It Ev PREFIX Prefix environnement variable. .It Ev SYSCONFDIR System configuration directory. .It Ev PC_PATH_LIB Library path for pmkpc or pkg_config. .El . .Sh FILES .Bl -tag -width "/etc/pmk/pmk.conf" -compact .It Pa /etc/pmk/pmk.conf default .Xr pmk 1 configuration file .El .Sh EXAMPLES A typical pmk.conf might appear as follows: .Bd -literal # autoconf compatibility AC_ECHO_C = "\\c" AC_ECHO_N = "" AC_ECHO_T = "" # specific binaries BIN_AR = "/usr/bin/ar" BIN_AS = "/usr/bin/as" BIN_AWK = "/usr/bin/awk" BIN_CAT = "/bin/cat" BIN_CC = "/usr/bin/cc" BIN_CPP = "/usr/bin/cpp" BIN_CXX = "/usr/bin/c++" BIN_ECHO = "/bin/echo" BIN_EGREP = "/usr/bin/egrep" BIN_GREP = "/usr/bin/grep" BIN_ID = "/usr/bin/id" BIN_INSTALL = "/usr/bin/install" BIN_LEX = "/usr/bin/lex" BIN_LN = "/bin/ln" BIN_PKGCONFIG = "/usr/local/bin/pkg-config" BIN_RANLIB = "/usr/bin/ranlib" BIN_SH = "/bin/sh" BIN_STRIP = "/usr/bin/strip" BIN_SUDO = "/usr/bin/sudo" BIN_TAR = "/bin/tar" BIN_YACC = "/usr/bin/yacc" # architecture specific HW_BYTEORDER = "LITTLE_ENDIAN" HW_CPU_ARCH = "x86_32" HW_X86_CPU_CLASS = "i686" HW_X86_CPU_EXTFAM = "0" HW_X86_CPU_EXTMOD = "0" HW_X86_CPU_FAMILY = "15" HW_X86_CPU_FEATURES = "FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFL DTES ACPI MMX FXR SSE SSE2 HTT TM1 PBE FPU MON DSCPL EST TM2 CX16 ETPRD " HW_X86_CPU_MODEL = "2" HW_X86_CPU_STD_VENDOR = "INTEL" HW_X86_CPU_VENDOR = "GenuineIntel" # OS related OS_ARCH = "i386" OS_NAME = "OpenBSD" OS_VERSION = "3.6" # PATH related PATH_BIN = "/bin,/sbin,/usr/bin,/usr/sbin,/usr/X11R6/bin,/usr/local/sbin,/usr/local/bin" PATH_INC = "/usr/include" PATH_LIB = "/usr/lib" # misc PC_PATH_LIB = "$PREFIX/lib/pkgconfig" PREFIX = "/usr/local" SYSCONFDIR = "/etc" .Ed .Pp . .Sh SEE ALSO .Xr make 1 , .Xr pmk 1 , .Xr pmkscan 1 , .Xr pmkfile 5 , .Xr pmksetup 8