]>
Commit | Line | Data |
---|---|---|
948b08e2 VZ |
1 | |
2 | dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) | |
3 | dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page | |
4 | dnl also defines GSTUFF_PKG_ERRORS on error | |
5 | AC_DEFUN([PKG_CHECK_MODULES], [ | |
6 | succeeded=no | |
7 | ||
8 | if test -z "$PKG_CONFIG"; then | |
9 | AC_PATH_PROG(PKG_CONFIG, pkg-config, no) | |
10 | fi | |
11 | ||
12 | if test "$PKG_CONFIG" = "no" ; then | |
13 | echo "*** The pkg-config script could not be found. Make sure it is" | |
14 | echo "*** in your path, or set the PKG_CONFIG environment variable" | |
15 | echo "*** to the full path to pkg-config." | |
16 | echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." | |
17 | else | |
18 | PKG_CONFIG_MIN_VERSION=0.9.0 | |
19 | if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then | |
20 | AC_MSG_CHECKING(for $2) | |
21 | ||
22 | if $PKG_CONFIG --exists "$2" ; then | |
23 | AC_MSG_RESULT(yes) | |
24 | succeeded=yes | |
25 | ||
26 | AC_MSG_CHECKING($1_CFLAGS) | |
27 | $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` | |
28 | AC_MSG_RESULT($$1_CFLAGS) | |
29 | ||
30 | AC_MSG_CHECKING($1_LIBS) | |
31 | $1_LIBS=`$PKG_CONFIG --libs "$2"` | |
32 | AC_MSG_RESULT($$1_LIBS) | |
33 | else | |
34 | $1_CFLAGS="" | |
35 | $1_LIBS="" | |
36 | ## If we have a custom action on failure, don't print errors, but | |
37 | ## do set a variable so people can do so. | |
38 | $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` | |
39 | ifelse([$4], ,echo $$1_PKG_ERRORS,) | |
40 | fi | |
41 | ||
42 | AC_SUBST($1_CFLAGS) | |
43 | AC_SUBST($1_LIBS) | |
44 | else | |
45 | echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." | |
46 | echo "*** See http://www.freedesktop.org/software/pkgconfig" | |
47 | fi | |
48 | fi | |
49 | ||
50 | if test $succeeded = yes; then | |
51 | ifelse([$3], , :, [$3]) | |
52 | else | |
53 | 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]) | |
54 | fi | |
55 | ]) | |
56 | ||
57 |