# pkg.m4 - autoconf macros for using pkgconf - man(7) - [phpMan]

[_PKG.M4_(7)](https://www.chedong.com/phpMan.php/man/PKG.M4/7/markdown)                          Miscellaneous Information Manual                        [_PKG.M4_(7)](https://www.chedong.com/phpMan.php/man/PKG.M4/7/markdown)

## NAME
       pkg.m4 — autoconf macros for using pkgconf

## SYNOPSIS
       **PKG_PREREQ**
       **PKG_PROG_PKG_CONFIG**
       **PKG_CHECK_MODULES**
       **PKG_CHECK_MODULES_STATIC**
       **PKG_INSTALLDIR**
       **PKG_NOARCH_INSTALLDIR**
       **PKG_CHECK_VAR**
       **PKG_WITH_MODULES**
       **PKG_HAVE_WITH_MODULES**
       **PKG_HAVE_DEFINE_WITH_MODULES**

## DESCRIPTION
       **pkg.m4  **is  a collection of autoconf macros which help to configure compiler and linker flags
       for development libraries.  This allows build systems to detect other  dependencies  and  use
       them with the system toolchain.

## AUTOCONF MACROS
### PKG_PREREQ(MIN-VERSION)
       Checks  that  the version of the **pkg.m4 **autoconf macros in use is at least MIN-VERSION.  This
       can be used to ensure a particular **pkg.m4 **macro will be available.

### PKG_PROG_PKG_CONFIG([MIN-VERSION])
       Checks for an implementation of **pkg-config **which is at least MIN-VERSION or newer.

### PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]])
### PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]])
       Checks whether a given module set exists, and if so, defines **CFLAGS **and **LIBS  **variables  pre‐
       fixed by **VARIABLE-PREFIX **with the output from **--cflags **and **--libs **respectively.

       The  optional  **ACTION-IF-FOUND  **and  **ACTION-IF-NOT-FOUND  **arguments  are shell fragments that
       should be executed if the module set is found or not found.

       If **$PKG_CONFIG **is not defined, the **PKG_PROG_PKG_CONFIG **macro will be  executed  to  locate  a
       **pkg-config **implementation.

       The **PKG_CHECK_MODULES_STATIC **macro provides the same behaviour as **PKG_CHECK_MODULES **with sta‐
       tic linking enabled via the **--static **flag.

### PKG_INSTALLDIR(DIRECTORY)
       Defines  the variable $pkgconfigdir as the location where a package should install pkg-config
       .pc files.

       By default the directory is $libdir/pkgconfig, but the default can be changed by passing  the
       **DIRECTORY **parameter.

       This value can be overridden with the **--with-pkgconfigdir **configure parameter.

### PKG_NOARCH_INSTALLDIR(DIRECTORY)
       Defines the variable $noarch_pkgconfigdir as the location where a package should install pkg-
       config .pc files.

       By default the directory is $datadir/pkgconfig, but the default can be changed by passing the
       **DIRECTORY **parameter.

       This value can be overridden with the **--with-noarch-pkgconfigdir **configure parameter.

### PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
       Retrieves  the  value of the **pkg-config **variable **CONFIG-VARIABLE **from **MODULE **and stores it in
       the **VARIABLE **variable.

       Note that repeated usage of **VARIABLE **is not recommended as the check will be skipped  if  the
       variable is already set.

### PKG_WITH_MODULES(VARIABLE-PREFIX,        MODULES,        [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
### [DESCRIPTION], [DEFAULT])
       Prepares a "--with-" configure option using the lowercase **VARIABLE-PREFIX **name,  merging  the
       behaviour of **AC_ARG_WITH **and **PKG_CHECK_MODULES **in a single macro.

### PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, [DESCRIPTION], [DEFAULT])
       Convenience  macro  to trigger **AM_CONDITIONAL **after a **PKG_WITH_MODULES check. VARIABLE-PREFIX**
       is exported as a make variable.

### PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, [DESCRIPTION], [DEFAULT])
       Convenience macro to trigger **AM_CONDITIONAL **and **AC_DEFINE  **after  a  **PKG_WITH_MODULES  check.**
       **VARIABLE-PREFIX **is exported as a make variable.

Debian                                    December 5, 2017                                 [_PKG.M4_(7)](https://www.chedong.com/phpMan.php/man/PKG.M4/7/markdown)
