Subject: bug#13078: closed (Re: [PATCH] configure.ac: Cygwin build breaks when path to pkg-tool contains spaces)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 09 Dec 2012 02:29:01 +0000

Your bug report

#13078: [PATCH] configure.ac: Cygwin build breaks when path to pkg-tool contains spaces

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
13078: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13078
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [PATCH] configure.ac: Cygwin build breaks when path to pkg-tool contains spaces
From: Paul Eggert <[email-masked]>
To: [email-masked]
Date: Sat, 08 Dec 2012 18:28:15 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

I looked into problems in this area in configure.ac and
fixed all the ones mentioned so far in this bug report,
along with some others, in trunk bzr 111162.  No doubt
there are similar problems in other parts of Emacs,
but at least this bug report we can mark 'done' so I've done that.

Subject: [PATCH] configure.ac: Cygwin build breaks when path to pkg-tool contains spaces
From: Josh <[email-masked]>
To: [email-masked]
Date: Mon, 3 Dec 2012 20:35:02 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

I tried building trunk under Cygwin for the first time a few days ago
(with the `--with-w32' switch, though I don't think that's relevant)
but the build failed because ./configure was finding a version of
pkg-config whose path contained whitespace.  This exposed some quoting
problems in configure.ac, fixed in the patch below.  Here's a snippet
of the session with some representative errors:

checking for cma_open in -lpthreads... no
./configure: line 10967: /cygdrive/c/Program: No such file or directory
*** Your version of pkg-config is too old. You need version 0.9.0 or newer.
*** See http://www.freedesktop.org/software/pkgconfig
checking for lgetfilecon in -lselinux... no
./configure: line 11304: /cygdrive/c/Program: No such file or directory
*** Your version of pkg-config is too old. You need version 0.9.0 or newer.
*** See http://www.freedesktop.org/software/pkgconfig
checking for gnutls_certificate_set_verify_function... no
[...]
checking for gpm.h... no
./configure: line 13122: /cygdrive/c/Program: No such file or directory
*** Your version of pkg-config is too old. You need version 0.9.0 or newer.
*** See http://www.freedesktop.org/software/pkgconfig
checking whether netdb declares h_errno... yes

In addition to the quoting problem, it appears that failure to open a
file is interpreted as having a version which is too old, which is
perhaps not ideal.  Here's the patch I applied locally that allowed me
to build successfully:

diff --git a/configure.ac b/configure.ac
index 085ca83..85c21e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1189,10 +1189,10 @@ AC_DEFUN([PKG_CHECK_MODULES], [
       *** The pkg-config script could not be found. Make sure it is
in your path, or give the full path to pkg-config with the PKG_CONFIG
environment variable or --with-pkg-config-prog.  Or see
http://www.freedesktop.org/software/pkgconfig to get pkg-config.])],
[$4])
   else
      PKG_CONFIG_MIN_VERSION=0.9.0
-     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+     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 &&
+        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
            edit_cflags="
@@ -2027,7 +2027,7 @@ if test x"$pkg_check_gtk" = xyes; then
     AC_DEFINE(USE_GTK, 1, [Define to 1 if using GTK.])
     GTK_OBJ="gtkutil.o $GTK_OBJ"
     USE_X_TOOLKIT=none
-    if $PKG_CONFIG --atleast-version=2.10 gtk+-2.0; then
+    if "$PKG_CONFIG" --atleast-version=2.10 gtk+-2.0; then
       :
     else
       AC_MSG_WARN([[Your version of Gtk+ will have problems with