From fe704f16e4223ad9217ea4a16aae1373952463f6 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Thu, 14 Jul 2005 13:05:46 +0000 Subject: [PATCH] 2003-02-21 James Henstridge Author: jamesh Date: 2003-02-21 14:53:04 GMT 2003-02-21 James Henstridge * 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. --- ChangeLog | 8 +++++ pkg.m4 | 90 ++++++++++++++++++++++++++++++------------------------- 2 files changed, 58 insertions(+), 40 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4420165..b81a7c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-02-21 James Henstridge + + * 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. + 2003-02-19 Tor Lillqvist * pkg.c (add_env_variable_to_list): Use G_SEARCHPATH_SEPARATOR_S diff --git a/pkg.m4 b/pkg.m4 index c80e0ac..b418187 100644 --- a/pkg.m4 +++ b/pkg.m4 @@ -1,57 +1,67 @@ - -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, [ - succeeded=no - - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - - if test "$PKG_CONFIG" = "no" ; then +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." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig/ to get pkg-config." else - PKG_CONFIG_MIN_VERSION=0.9.0 + # 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_CHECKING(for $2) + 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 +]) - if $PKG_CONFIG --exists "$2" ; then - AC_MSG_RESULT(yes) - succeeded=yes +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]) - AC_MSG_CHECKING($1_CFLAGS) - $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` - AC_MSG_RESULT($$1_CFLAGS) + if $PKG_CONFIG --exists "$2" ; then + AC_MSG_RESULT([yes]) + succeeded=yes - 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_MSG_CHECKING([$1_CFLAGS]) + $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` + AC_MSG_RESULT([$$1_CFLAGS]) - AC_SUBST($1_CFLAGS) - AC_SUBST($1_LIBS) + AC_MSG_CHECKING([$1_LIBS]) + $1_LIBS=`$PKG_CONFIG --libs "$2"` + AC_MSG_RESULT([$$1_LIBS]) else - 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" + $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]) + 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]) + 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 ]) - - -- 2.39.5