emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117087: Work around bug in pkg-config before 0.26.


From: Paul Eggert
Subject: [Emacs-diffs] trunk r117087: Work around bug in pkg-config before 0.26.
Date: Sun, 11 May 2014 19:14:16 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117087
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/17438
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Sun 2014-05-11 12:14:12 -0700
message:
  Work around bug in pkg-config before 0.26.
  
  * configure.ac (EMACS_CHECK_MODULES): Check for failed exit status
  of pkg-config, on older pkg-config versions that don't do it
  properly.
modified:
  ChangeLog                      changelog-20091113204419-o5vbwnq5f7feedwu-1538
  configure.ac                   
configure.in-20091113204419-o5vbwnq5f7feedwu-783
=== modified file 'ChangeLog'
--- a/ChangeLog 2014-05-11 02:52:00 +0000
+++ b/ChangeLog 2014-05-11 19:14:12 +0000
@@ -1,3 +1,10 @@
+2014-05-11  Paul Eggert  <address@hidden>
+
+       Work around bug in pkg-config before 0.26 (Bug#17438).
+       * configure.ac (EMACS_CHECK_MODULES): Check for failed exit status
+       of pkg-config, on older pkg-config versions that don't do it
+       properly.
+
 2014-05-07  Glenn Morris  <address@hidden>
 
        * autogen.sh: Check for failing aclocal.

=== modified file 'configure.ac'
--- a/configure.ac      2014-05-11 02:47:57 +0000
+++ b/configure.ac      2014-05-11 19:14:12 +0000
@@ -1354,15 +1354,29 @@
 dnl EMACS_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4)
 dnl acts like PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4,
 dnl HAVE_GSTUFF=yes, HAVE_GSTUFF=no) -- see pkg-config man page --
-dnl except that it postprocesses CFLAGS as needed for --enable-gcc-warnings.
+dnl except that it works around older pkg-config bugs and
+dnl it postprocesses CFLAGS as needed for --enable-gcc-warnings.
 dnl EMACS_CHECK_MODULES accepts optional 3rd and 4th arguments that
 dnl can take the place of the default HAVE_GSTUFF=yes and HAVE_GSTUFF=no
 dnl actions.
 AC_DEFUN([EMACS_CHECK_MODULES],
-  [PKG_CHECK_MODULES([$1], [$2],
-     [$1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e "$edit_cflags"`
-      m4_default([$3], [HAVE_$1=yes])],
-     [m4_default([$4], [HAVE_$1=no])])])
+  [dnl pkg-config before 0.26 doesn't check exit status properly; see:
+   dnl https://bugs.freedesktop.org/show_bug.cgi?id=29801
+   dnl Work around the bug by checking the status ourselves.
+   emacs_check_module_ok=false
+   AS_IF([test -n "$PKG_CONFIG" &&
+         { $PKG_CONFIG --atleast-pkgconfig-version 0.26 ||
+           { $PKG_CONFIG --cflags "$1" "$2" && $PKG_CONFIG --libs "$1" "$2"; }
+         } >/dev/null 2>&AS_MESSAGE_LOG_FD],
+     [PKG_CHECK_MODULES([$1], [$2],
+       [$1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e "$edit_cflags"`
+        emacs_check_module_ok=:],
+       [:])])
+   if $emacs_check_module_ok; then
+     m4_default([$3], [HAVE_$1=yes])
+   else
+     m4_default([$4], [HAVE_$1=no])
+   fi])
 
 HAVE_SOUND=no
 if test "${with_sound}" != "no"; then


reply via email to

[Prev in Thread] Current Thread [Next in Thread]