]> err.no Git - pkg-config/commitdiff
2003-02-21 James Henstridge <james@daa.com.au>
authorArch Librarian <arch@canonical.com>
Thu, 14 Jul 2005 13:05:46 +0000 (13:05 +0000)
committerArch Librarian <arch@canonical.com>
Thu, 14 Jul 2005 13:05:46 +0000 (13:05 +0000)
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.

ChangeLog
pkg.m4

index 44201657675997744607af168fcd5ce7c77dd5e8..b81a7c7815f309838683d53b3819d3e8bbcfd225 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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.
+
 2003-02-19  Tor Lillqvist  <tml@iki.fi>
 
        * pkg.c (add_env_variable_to_list): Use G_SEARCHPATH_SEPARATOR_S
diff --git a/pkg.m4 b/pkg.m4
index c80e0acfc4fccf781044ca49a0ea179a82f2d9a6..b4181877326d0860ff956038f639c4908db7a265 100644 (file)
--- 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
 ])
-
-