Subject: bug#10626: Should configure fail if pkg-config fails?

From: Jordi Gutiérrez Hermoso <[email-masked]>
Date: Wed, 21 Mar 2012 15:54:44 -0400

Hi, sorry for the late reply.

2012/1/28 Paul Eggert <[email-masked]>:
> On 01/24/2012 06:15 PM, Jordi Gutiérrez Hermoso wrote:
>> it shouldn't assume that GTK+ is working correctly if
>> pkg-config returns nonzero exit status.
>
> True enough.  Here's a proposed patch, which I'd like to
> install into the trunk.  I'm CC'ing this to bug-gnu-emacs
> instead of to emacs-devel, so that it has a proper bug number.
>
>
> === modified file 'ChangeLog'
> --- ChangeLog   2012-01-19 07:21:25 +0000
> +++ ChangeLog   2012-01-28 09:04:13 +0000
> @@ -1,3 +1,11 @@
> +2012-01-28  Paul Eggert  <[email-masked]>
> +
> +       Check pkg-config exit status when configuring.
> +       * configure.in (PKG_CHECK_MODULES): Do not assume that pkg-config
> +       works; check its exit status.  Problem reported by Jordi Gutiérrez
> +       Hermoso in
> +       <http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00787.html>.
> +
>  2012-01-16  Juanma Barranquero  <[email-masked]>
>
>        * .bzrignore: Ignore etc/__pycache__.
>
> === modified file 'configure.in'
> --- configure.in        2012-01-19 07:21:25 +0000
> +++ configure.in        2012-01-28 09:04:13 +0000
> @@ -1124,17 +1124,14 @@
>      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
>         AC_MSG_CHECKING(for $2)
>
> -        if $PKG_CONFIG --exists "$2" 2>&AS_MESSAGE_LOG_FD; then
> -            AC_MSG_RESULT(yes)
> +        if $PKG_CONFIG --exists "$2" 2>&AS_MESSAGE_LOG_FD &&
> +          $1_CFLAGS=`$PKG_CONFIG --cflags "$2" 2>&AS_MESSAGE_LOG_FD` &&
> +          $1_LIBS=`$PKG_CONFIG --libs "$2" 2>&AS_MESSAGE_LOG_FD`; then
> +
> +           $1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e 's,///*,/,g'`
> +           $1_LIBS=`AS_ECHO(["$$1_LIBS"]) | sed -e 's,///*,/,g'`
> +            AC_MSG_RESULT([yes CFLAGS='$$1_CFLAGS' LIBS='$$1_LIBS'])
>             succeeded=yes
> -
> -            AC_MSG_CHECKING($1_CFLAGS)
> -            $1_CFLAGS=`$PKG_CONFIG --cflags "$2"|sed -e 's,///*,/,g'`
> -            AC_MSG_RESULT($$1_CFLAGS)
> -
> -            AC_MSG_CHECKING($1_LIBS)
> -            $1_LIBS=`$PKG_CONFIG --libs "$2"|sed -e 's,///*,/,g'`
> -            AC_MSG_RESULT($$1_LIBS)
>         else
>             AC_MSG_RESULT(no)
>             $1_CFLAGS=""
>

This patch no longer applies today (sigh, Changelog conflicts), and
I'm a bit lazy about figuring out how to rebase this.

I trust your good judgement, so I say you just push this.

Thanks,
- Jordi G. H.