pkg-config/pkg.m4
Arch Librarian fe704f16e4 2003-02-21 James Henstridge <james@daa.com.au>
Author: jamesh
Date: 2003-02-21 14:53:04 GMT
2003-02-21  James Henstridge  <james@daa.com.au>

    * pkg.m4: split macro into two parts.  The check for presence of
    pkg-config is now in a helper macro.  The main PKG_CHECK_MODULES
    macro now AC_REQUIRES() it, so that the pkg-config check is only
    performed once.
    Also update quoting to match current practices.
2005-07-14 13:05:46 +00:00

67 lines
2.3 KiB
Text

dnl Internal macro to check for pkg-config itself
dnl Do not call directly
AC_DEFUN([_PKG_CHECK_MODULES_FIND_PKG_CONFIG],
[
AC_PATH_PROG([PKG_CONFIG], [pkg-config], [no])
if test "$PKG_CONFIG" = "no"; then
echo "*** The pkg-config script could not be found. Make sure it is"
echo "*** in your path, or set the PKG_CONFIG environment variable"
echo "*** to the full path to pkg-config."
echo "*** Or see http://www.freedesktop.org/software/pkgconfig/ to get pkg-config."
else
# check the pkg-config version number
PKG_CONFIG_MIN_VERSION="0.9.0"
AC_MSG_CHECKING([is pkg-config version >= $PKG_CONFIG_MIN_VERSION])
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
PKG_CONFIG=no
echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
echo "*** See http://www.freedesktop.org/software/pkgconfig/"
fi
fi
])
dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
dnl also defines GSTUFF_PKG_ERRORS on error
AC_DEFUN([PKG_CHECK_MODULES],
[
AC_REQUIRE([_PKG_CHECK_MODULES_FIND_PKG_CONFIG])dnl
succeeded=no
if test "$PKG_CONFIG" != "no" ; then
AC_MSG_CHECKING([for $2])
if $PKG_CONFIG --exists "$2" ; then
AC_MSG_RESULT([yes])
succeeded=yes
AC_MSG_CHECKING([$1_CFLAGS])
$1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
AC_MSG_RESULT([$$1_CFLAGS])
AC_MSG_CHECKING([$1_LIBS])
$1_LIBS=`$PKG_CONFIG --libs "$2"`
AC_MSG_RESULT([$$1_LIBS])
else
$1_CFLAGS=""
$1_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
$1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
ifelse([$4],, [echo $$1_PKG_ERRORS])
fi
AC_SUBST([$1_CFLAGS])
AC_SUBST([$1_LIBS])
fi
if test $succeeded = yes; then
ifelse([$3],, [:], [$3])
else
ifelse([$4],,
[AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.])],
[$4])
fi
])