From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MTe5z-0006cv-RC for qemu-devel@nongnu.org; Wed, 22 Jul 2009 11:51:07 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MTe5v-0006bM-Rb for qemu-devel@nongnu.org; Wed, 22 Jul 2009 11:51:07 -0400 Received: from [199.232.76.173] (port=52047 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MTe5v-0006bC-JS for qemu-devel@nongnu.org; Wed, 22 Jul 2009 11:51:03 -0400 Received: from mx20.gnu.org ([199.232.41.8]:41037) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MTe5v-0001FB-Ay for qemu-devel@nongnu.org; Wed, 22 Jul 2009 11:51:03 -0400 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MTe5u-0000wq-18 for qemu-devel@nongnu.org; Wed, 22 Jul 2009 11:51:02 -0400 Date: Wed, 22 Jul 2009 08:51:01 -0700 From: Nathan Froyd Subject: Re: [Qemu-devel] [PATCH] configure: fix curl installed in non-standard places Message-ID: <20090722155101.GF32566@codesourcery.com> References: <1248185706-23100-1-git-send-email-froydnj@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1248185706-23100-1-git-send-email-froydnj@codesourcery.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org >>From 553fc5fc9debd5a7c375e1160a22a3a93e21e36c Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Tue, 21 Jul 2009 06:39:07 -0700 Subject: [PATCH] configure: fix curl installed in non-standard places configure helpfully uses curl-config to figure out appropriate -L and -l options for the compiler, but fails to check for any necessary -I options. If, perchance, you are using a compiler whose #include paths have an older version of curl.h lying about, but have a newer version of curl installed locally (say, $HOME), the small test program in configure will succeed (with a warning, possibly). But the compilation of block/curl.c will fail because curl.c requires more up-to-date features. To avoid this, grab --cflags from curl-config too. It's not completely foolproof (the test in configure should really be checking for all the features that block/curl.c uses or block/curl.c should gracefully cooperate with older versions), but it's more correct than what we have. Signed-off-by: Nathan Froyd --- Makefile | 1 + configure | 4 +++- 2 files changed, 4 insertions(+), 1 deletions(-) [...thought format.signoff would work in all cases, but apparently not...] diff --git a/Makefile b/Makefile index dc95869..9899651 100644 --- a/Makefile +++ b/Makefile @@ -175,6 +175,7 @@ LIBS+=$(VDE_LIBS) obj-$(CONFIG_XEN) += xen_backend.o xen_devconfig.o obj-$(CONFIG_XEN) += xen_console.o xenfb.o xen_disk.o xen_nic.o +CPPFLAGS+=$(CURL_INCLUDES) LIBS+=$(CURL_LIBS) cocoa.o: cocoa.m diff --git a/configure b/configure index 0db885b..0f60328 100755 --- a/configure +++ b/configure @@ -1126,8 +1126,9 @@ if test "$curl" = "yes" ; then #include int main(void) { return curl_easy_init(); } EOF + curl_includes=`curl-config --cflags 2>/dev/null` curl_libs=`curl-config --libs 2>/dev/null` - if $cc $ARCH_CFLAGS $curl_libs -o $TMPE $TMPC > /dev/null 2> /dev/null ; then + if $cc $ARCH_CFLAGS $curl_includes $curl_libs -o $TMPE $TMPC > /dev/null 2> /dev/null ; then curl=yes fi fi # test "$curl" @@ -1720,6 +1721,7 @@ if test "$inotify" = "yes" ; then fi if test "$curl" = "yes" ; then echo "CONFIG_CURL=y" >> $config_host_mak + echo "CURL_INCLUDES=$curl_includes" >> $config_host_mak echo "CURL_LIBS=$curl_libs" >> $config_host_mak echo "#define CONFIG_CURL 1" >> $config_host_h fi -- 1.6.2.4