Provided by: pmk_0.10.4-1_amd64 bug

NAME

       pmkfile — pmk specification file

DESCRIPTION

       pmkfile is a file containing specifications that help configuring a package build on a given platform.

SYNTAX

       See pmksyntax.5 to have an overview of the basic syntax of pmkfiles.

SPECIFIC COMMANDS

       The following commands have no label.

       SETTINGS
               This command sets pmk parameters.

               Arguments:

                     AC_COMPAT  type is 'quoted', enable autoconf compatibility (empty string or filename).

                     LANG       type is 'quoted', global default language.

                     TARGET     type is 'list', list of target's filenames.

                     DETECT     type is 'list', list of languages (compilers to identify).

               For example:

                     SETTINGS {
                             AC_COMPAT="config.h"
                             LANG="C"
                             TARGET=("src/file.c","src/file.h")
                             DETECT=("CC")
                     }

       DEFINE  This command permits to define variables.

               Arguments:

               Those are the variables to be defined (quote data type only).

               For example:

                     DEFINE {
                             PACKAGE="my_prog"
                             VERSION="0.1"
                     }

       SWITCHES
               This command is setting dependency switches (see further DEPEND definition).

               Arguments:

               For example:

                     SWITCHES {
                             use_curses=TRUE
                             use_gtk=FALSE
                     }

STANDARD COMMANDS

       All these commands need a label.

       They can all have the following optional arguments:

             REQUIRED  Specify  if  this test is required to achieve the configuration.  Type is 'bool'.  If not
                       specified, it is TRUE by default.

             DEPEND    Specify check dependencies.  Type is 'list'.  A dependency is a label or a  switch  name.
                       The  value  of  each dependency can be negated by adding a leading '!' sign.  If at least
                       one of the dependencies is false then the check will be disabled.

                       For example:

                             DEPEND = ("header_gtk","!header_qt")

             DEFS      Specify additional defines.  Type is 'list'.   If  the  check  succeeds  then  the  given
                       defines are also recorded else they are ignored.

       Some of these commands can also have the following arguments:

       LANG    Specify the language used in the following list:

               C, C++

               Type is 'quoted', by default \"C\" is the used language.

       Here the list of commands:

       CHECK_BINARY
               Check if a binary is in the path.

               Arguments:

                     REQUIRED

                     DEPEND

                     DEFS

                     NAME      type is 'quoted', name of the binary.

                     VARIABLE  type is 'quoted', variable name to store the path.

       CHECK_HEADER
               Check language header and optionally a function.

               Arguments:

                     REQUIRED

                     DEPEND

                     DEFS

                     LANG

                     NAME      type is 'quoted', name of the header.

                     MACRO     type is 'list', list of one or more compiler macros to check, optional.

                     FUNCTION  type is 'quoted' or 'list', name or list of functions to check, optional.

                     CFLAGS    type is 'quoted', variable name to store CFLAGS values, optional.

                     SUBHDR    type is 'list', list of header dependencies, optional.

       CHECK_LIB
               Check a library and optionally a function.

               Arguments:

                     REQUIRED

                     DEPEND

                     DEFS

                     LANG

                     NAME      type is 'quoted', name of the library to check.

                     FUNCTION  type is 'quoted' or 'list', name or list of functions to check, optional.

                     LIBS      type is 'quoted', variable name to store LIBS values, optional.

       CHECK_CONFIG
               Check using a *-config tool.

               Arguments:

                     REQUIRED

                     DEPEND

                     DEFS

                     NAME      type is 'quoted', config tool name.

                     VERSION   type is 'quoted', minimal version needed, optional.

                     CFLAGS    type is 'quoted', variable name to store CFLAGS values, optional.

                     LIBS      type is 'quoted', variable name to store LIBS values, optional.

                     VARIABLE  type is 'quoted', variable name to store the path of the config tool, optional.

       CHECK_PKG_CONFIG
               Check a package using pkg-config.

               Arguments:

                     REQUIRED

                     DEPEND

                     DEFS

                     NAME      type is 'quoted', package name.

                     VERSION   type is 'quoted', minimal version needed, optional.

                     CFLAGS    type is 'quoted', variable name to store CFLAGS values, optional.

                     LIBS      type is 'quoted', variable name to store LIBS values, optional.

       CHECK_TYPE
               Check if the given type exists.

               Arguments:

                     REQUIRED

                     DEPEND

                     DEFS

                     LANG

                     NAME      type is 'quoted', name of the type to check.

                     HEADER    type is quoted, name of the header where to find the given type.

                     MEMBER    type is quoted, name of a member of the structure given in NAME to be checked.

       CHECK_VARIABLE
               Check if the given variable does exist and optionally its value.

               Arguments:

                     REQUIRED

                     DEPEND

                     DEFS

                     NAME      type is 'quoted', name of the variable to check.

                     VALUE     type is 'quoted', value to check with the variable, optional.

CONDITIONAL COMMANDS

       IF(expression)
               It contains other commands that will be executed only if the given expression is true.

               Arguments:

               For example:

                     IF(header_gtk) {
                             DEFINE {
                                     HAVE_GTK = "1"
                             }
                     }

       ELSE(expression)
               It contains other commands that will be executed only if the given expression is false.

               Arguments:

               For example:

                     ELSE(header_glib) {
                             DEFINE {
                                     HAVE_GLIB = "0"
                             }
                     }

LIBRARY NAME BUILDING

       BUILD_LIB_NAME
               This  command  helps  you to build static and/or shared library name(s) depending on the rules of
               the host operanding system.

               Arguments:

                     NAME     type is 'quoted', name of the library (without leading 'lib').

                     MAJOR    type is 'quoted', major number for the version, optional.

                     MINOR    type is 'quoted', minor number for the version, optional.

                     SHARED   type is 'quoted', variable  that  will  be  set  with  the  shared  library  name,
                              optional.

                     STATIC   type  is  'quoted',  variable  that  will  be  set  with  the static library name,
                              optional.

                     VERSION  type is 'boolean', boolean value for library version processing , optional.

               For example:

                     BUILD_LIB_NAME {
                             NAME = "test"
                             STATIC = "TESTLIB_STATIC"
                             SHARED = "TESTLIB_SHARED"
                             MAJOR = "0"
                             MINOR = "2"
                             VERSION = TRUE
                     }

       BUILD_SHLIB_NAME
               This command has been obsoleted by the BUILD_LIB_NAME command.

SEE ALSO

       pmk(1), pmkscan(1), pmksyntax.5

Debian                                           April 27, 2003                                       PMKFILE(5)