Annotation of embedaddon/smartmontools/m4/pkg.m4, revision 1.1.1.1

1.1       misho       1: # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
                      2: # 
                      3: # Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
                      4: #
                      5: # This program is free software; you can redistribute it and/or modify
                      6: # it under the terms of the GNU General Public License as published by
                      7: # the Free Software Foundation; either version 2 of the License, or
                      8: # (at your option) any later version.
                      9: #
                     10: # This program is distributed in the hope that it will be useful, but
                     11: # WITHOUT ANY WARRANTY; without even the implied warranty of
                     12: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     13: # General Public License for more details.
                     14: #
                     15: # You should have received a copy of the GNU General Public License
                     16: # along with this program; if not, write to the Free Software
                     17: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
                     18: #
                     19: # As a special exception to the GNU General Public License, if you
                     20: # distribute this file as part of a program that contains a
                     21: # configuration script generated by Autoconf, you may include it under
                     22: # the same distribution terms that you use for the rest of that program.
                     23: 
                     24: # PKG_PROG_PKG_CONFIG([MIN-VERSION])
                     25: # ----------------------------------
                     26: AC_DEFUN([PKG_PROG_PKG_CONFIG],
                     27: [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
                     28: m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
                     29: AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
                     30: AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
                     31: AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
                     32: 
                     33: if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
                     34:        AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
                     35: fi
                     36: if test -n "$PKG_CONFIG"; then
                     37:        _pkg_min_version=m4_default([$1], [0.9.0])
                     38:        AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
                     39:        if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
                     40:                AC_MSG_RESULT([yes])
                     41:        else
                     42:                AC_MSG_RESULT([no])
                     43:                PKG_CONFIG=""
                     44:        fi
                     45:                
                     46: fi[]dnl
                     47: ])# PKG_PROG_PKG_CONFIG
                     48: 
                     49: # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
                     50: #
                     51: # Check to see whether a particular set of modules exists.  Similar
                     52: # to PKG_CHECK_MODULES(), but does not set variables or print errors.
                     53: #
                     54: #
                     55: # Similar to PKG_CHECK_MODULES, make sure that the first instance of
                     56: # this or PKG_CHECK_MODULES is called, or make sure to call
                     57: # PKG_CHECK_EXISTS manually
                     58: # --------------------------------------------------------------
                     59: AC_DEFUN([PKG_CHECK_EXISTS],
                     60: [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
                     61: if test -n "$PKG_CONFIG" && \
                     62:     AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
                     63:   m4_ifval([$2], [$2], [:])
                     64: m4_ifvaln([$3], [else
                     65:   $3])dnl
                     66: fi])
                     67: 
                     68: 
                     69: # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
                     70: # ---------------------------------------------
                     71: m4_define([_PKG_CONFIG],
                     72: [if test -n "$$1"; then
                     73:     pkg_cv_[]$1="$$1"
                     74:  elif test -n "$PKG_CONFIG"; then
                     75:     PKG_CHECK_EXISTS([$3],
                     76:                      [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
                     77:                     [pkg_failed=yes])
                     78:  else
                     79:     pkg_failed=untried
                     80: fi[]dnl
                     81: ])# _PKG_CONFIG
                     82: 
                     83: # _PKG_SHORT_ERRORS_SUPPORTED
                     84: # -----------------------------
                     85: AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
                     86: [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
                     87: if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
                     88:         _pkg_short_errors_supported=yes
                     89: else
                     90:         _pkg_short_errors_supported=no
                     91: fi[]dnl
                     92: ])# _PKG_SHORT_ERRORS_SUPPORTED
                     93: 
                     94: 
                     95: # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
                     96: # [ACTION-IF-NOT-FOUND])
                     97: #
                     98: #
                     99: # Note that if there is a possibility the first call to
                    100: # PKG_CHECK_MODULES might not happen, you should be sure to include an
                    101: # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
                    102: #
                    103: #
                    104: # --------------------------------------------------------------
                    105: AC_DEFUN([PKG_CHECK_MODULES],
                    106: [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
                    107: AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
                    108: AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
                    109: 
                    110: pkg_failed=no
                    111: AC_MSG_CHECKING([for $1])
                    112: 
                    113: _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
                    114: _PKG_CONFIG([$1][_LIBS], [libs], [$2])
                    115: 
                    116: m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
                    117: and $1[]_LIBS to avoid the need to call pkg-config.
                    118: See the pkg-config man page for more details.])
                    119: 
                    120: if test $pkg_failed = yes; then
                    121:         _PKG_SHORT_ERRORS_SUPPORTED
                    122:         if test $_pkg_short_errors_supported = yes; then
                    123:                $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
                    124:         else 
                    125:                $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
                    126:         fi
                    127:        # Put the nasty error message in config.log where it belongs
                    128:        echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
                    129: 
                    130:        ifelse([$4], , [AC_MSG_ERROR(dnl
                    131: [Package requirements ($2) were not met:
                    132: 
                    133: $$1_PKG_ERRORS
                    134: 
                    135: Consider adjusting the PKG_CONFIG_PATH environment variable if you
                    136: installed software in a non-standard prefix.
                    137: 
                    138: _PKG_TEXT
                    139: ])],
                    140:                [AC_MSG_RESULT([no])
                    141:                 $4])
                    142: elif test $pkg_failed = untried; then
                    143:        ifelse([$4], , [AC_MSG_FAILURE(dnl
                    144: [The pkg-config script could not be found or is too old.  Make sure it
                    145: is in your PATH or set the PKG_CONFIG environment variable to the full
                    146: path to pkg-config.
                    147: 
                    148: _PKG_TEXT
                    149: 
                    150: To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
                    151:                [$4])
                    152: else
                    153:        $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
                    154:        $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
                    155:         AC_MSG_RESULT([yes])
                    156:        ifelse([$3], , :, [$3])
                    157: fi[]dnl
                    158: ])# PKG_CHECK_MODULES

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>