Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
1,194 additions
and
630 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
# PKG_PROG_PKG_CONFIG([MIN-VERSION]) | ||
# ---------------------------------- | ||
AC_DEFUN([PKG_PROG_PKG_CONFIG], | ||
[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) | ||
m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) | ||
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) | ||
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) | ||
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) | ||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then | ||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) | ||
fi | ||
if test -n "$PKG_CONFIG"; then | ||
_pkg_min_version=m4_default([$1], [0.9.0]) | ||
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) | ||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then | ||
AC_MSG_RESULT([yes]) | ||
else | ||
AC_MSG_RESULT([no]) | ||
PKG_CONFIG="" | ||
fi | ||
fi[]dnl | ||
])# PKG_PROG_PKG_CONFIG | ||
|
||
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) | ||
# | ||
# Check to see whether a particular set of modules exists. Similar | ||
# to PKG_CHECK_MODULES(), but does not set variables or print errors. | ||
# | ||
# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) | ||
# only at the first occurence in configure.ac, so if the first place | ||
# it's called might be skipped (such as if it is within an "if", you | ||
# have to call PKG_CHECK_EXISTS manually | ||
# -------------------------------------------------------------- | ||
AC_DEFUN([PKG_CHECK_EXISTS], | ||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl | ||
if test -n "$PKG_CONFIG" && \ | ||
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then | ||
m4_default([$2], [:]) | ||
m4_ifvaln([$3], [else | ||
$3])dnl | ||
fi]) | ||
|
||
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) | ||
# --------------------------------------------- | ||
m4_define([_PKG_CONFIG], | ||
[if test -n "$$1"; then | ||
pkg_cv_[]$1="$$1" | ||
elif test -n "$PKG_CONFIG"; then | ||
PKG_CHECK_EXISTS([$3], | ||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], | ||
[pkg_failed=yes]) | ||
else | ||
pkg_failed=untried | ||
fi[]dnl | ||
])# _PKG_CONFIG | ||
|
||
# _PKG_SHORT_ERRORS_SUPPORTED | ||
# ----------------------------- | ||
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], | ||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) | ||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | ||
_pkg_short_errors_supported=yes | ||
else | ||
_pkg_short_errors_supported=no | ||
fi[]dnl | ||
])# _PKG_SHORT_ERRORS_SUPPORTED | ||
|
||
|
||
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], | ||
# [ACTION-IF-NOT-FOUND]) | ||
# | ||
# | ||
# Note that if there is a possibility the first call to | ||
# PKG_CHECK_MODULES might not happen, you should be sure to include an | ||
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac | ||
# | ||
# | ||
# -------------------------------------------------------------- | ||
AC_DEFUN([PKG_CHECK_MODULES], | ||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl | ||
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl | ||
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl | ||
pkg_failed=no | ||
AC_MSG_CHECKING([for $1]) | ||
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) | ||
_PKG_CONFIG([$1][_LIBS], [libs], [$2]) | ||
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS | ||
and $1[]_LIBS to avoid the need to call pkg-config. | ||
See the pkg-config man page for more details.]) | ||
if test $pkg_failed = yes; then | ||
AC_MSG_RESULT([no]) | ||
_PKG_SHORT_ERRORS_SUPPORTED | ||
if test $_pkg_short_errors_supported = yes; then | ||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` | ||
else | ||
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` | ||
fi | ||
# Put the nasty error message in config.log where it belongs | ||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD | ||
m4_default([$4], [AC_MSG_ERROR( | ||
[Package requirements ($2) were not met: | ||
$$1_PKG_ERRORS | ||
Consider adjusting the PKG_CONFIG_PATH environment variable if you | ||
installed software in a non-standard prefix. | ||
_PKG_TEXT])dnl | ||
]) | ||
elif test $pkg_failed = untried; then | ||
AC_MSG_RESULT([no]) | ||
m4_default([$4], [AC_MSG_FAILURE( | ||
[The pkg-config script could not be found or is too old. Make sure it | ||
is in your PATH or set the PKG_CONFIG environment variable to the full | ||
path to pkg-config. | ||
_PKG_TEXT | ||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])dnl | ||
]) | ||
else | ||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS | ||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS | ||
AC_MSG_RESULT([yes]) | ||
$3 | ||
fi[]dnl | ||
])# PKG_CHECK_MODULES |
Oops, something went wrong.