From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MEMQj-0006TK-TR for qemu-devel@nongnu.org; Wed, 10 Jun 2009 07:57:22 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MEMQd-0006NI-Uw for qemu-devel@nongnu.org; Wed, 10 Jun 2009 07:57:20 -0400 Received: from [199.232.76.173] (port=50852 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MEMQd-0006NB-4h for qemu-devel@nongnu.org; Wed, 10 Jun 2009 07:57:15 -0400 Received: from smtp-out.google.com ([216.239.45.13]:44041) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MEMMn-0004J4-5b for qemu-devel@nongnu.org; Wed, 10 Jun 2009 07:53:17 -0400 Received: from wpaz33.hot.corp.google.com (wpaz33.hot.corp.google.com [172.24.198.97]) by smtp-out.google.com with ESMTP id n5ABrBRj008526 for ; Wed, 10 Jun 2009 04:53:12 -0700 Received: from fxm6 (fxm6.prod.google.com [10.184.13.6]) by wpaz33.hot.corp.google.com with ESMTP id n5ABr9oh028537 for ; Wed, 10 Jun 2009 04:53:10 -0700 Received: by fxm6 with SMTP id 6so739070fxm.24 for ; Wed, 10 Jun 2009 04:53:09 -0700 (PDT) MIME-Version: 1.0 Date: Wed, 10 Jun 2009 13:53:09 +0200 Message-ID: <60cad3f0906100453y7a27dc2fhb1ea7d4c6f69e861@mail.gmail.com> From: David Turner Content-Type: multipart/alternative; boundary=001636c5a537810e79046bfd1e06 Subject: [Qemu-devel] [PATCH] Fix cygwin build and simplify feature detection in 'configure' script List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --001636c5a537810e79046bfd1e06 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Feature detection didn't work properly under cygwin because the OS_CFLAGS=-mno-cygwin flags was not passed to the feature checks (which only used $ARCH_CFLAGS). The end result being that features were detected against the mostly-Posix Cygwin headers, while compilation happened against the Mingw headers which lack many headers like , and others. Also, an OS_LDFLAGS=-mno-cygwin was missing, resulting in a link-time error Finally, three helper functions are introduced to simplify feature detection within the configure script: check_compile, check_link and check_link_with_log. Feature detection code was modified to use them instead of directly calling $cc with a really long list of arguments. Signed-off-by: digit --- configure | 98 +++++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 56 insertions(+), 42 deletions(-) diff --git a/configure b/configure index 89e7f53..e0191f0 100755 --- a/configure +++ b/configure @@ -73,7 +73,21 @@ cat > $TMPC < /dev/null 2> /dev/null + $cc $ARCH_CFLAGS -c -o $TMPO $TMPC ${OS_CFLAGS} > /dev/null 2> /dev/null +} + +check_compile() { + $cc $ARCH_CFLAGS $OS_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null +} + +check_link() { + $cc $ARCH_CFLAGS $OS_CFLAGS -o $TMPE $TMPC $* > /dev/null 2> /dev/null +} + +check_link_with_log() { + TMPLOG=$1 + shift + $cc $ARCH_CFLAGS $OS_CFLAGS -o $TMPE $TMPC $* > $TMPLOG 2>&1 } if check_define __i386__ ; then @@ -216,6 +230,7 @@ case $targetos in CYGWIN*) mingw32="yes" OS_CFLAGS="-mno-cygwin" +OS_LDFLAGS="-mno-cygwin" if [ "$cpu" = "i386" ] ; then kqemu="yes" fi @@ -763,7 +778,7 @@ int main(int argc, char ** argv){ } EOF -if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then +if check_link; then $TMPE && bigendian="yes" else echo big/little test failed @@ -809,7 +824,7 @@ void foo() } EOF -if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null ; then +if check_compile; then : else nptl="no" @@ -822,7 +837,7 @@ cat > $TMPC << EOF #include int main(void) { zlibVersion(); return 0; } EOF -if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz > /dev/null 2> /dev/null ; then +if check_link -lz; then : else echo @@ -841,7 +856,7 @@ cat > $TMPC < int main(void) { xs_daemon_open; xc_interface_open; } EOF - if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC -lxenstore -lxenctrl 2> /dev/null > /dev/null ; then + if check_link -lxenstore -lxenctrl; then : else xen="no" @@ -855,6 +870,8 @@ sdl_too_old=no if test "$sdl" = "yes" ; then sdl_config="sdl-config" + sdl_cflags=`$sdl_config --cflags 2> /dev/null` + sdl_ldflags=`$sdl_config --libs 2> /dev/null` sdl=no sdl_static=no @@ -863,7 +880,7 @@ cat > $TMPC << EOF #undef main /* We don't want SDL to override our main() */ int main( void ) { return SDL_Init (SDL_INIT_VIDEO); } EOF - if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` > $TMPSDLLOG 2>&1 ; then + if check_link_with_log $TMPSDLLOG $sdl_cflags $sdl_ldflags; then _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'` if test "$_sdlversion" -lt 121 ; then sdl_too_old=yes @@ -882,7 +899,7 @@ EOF sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`" fi - if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs > /dev/null 2> /dev/null; then + if check_link `$sdl_config --cflags 2> /dev/null` $sdl_static_libs; then sdl_static=yes fi fi # static link @@ -905,8 +922,8 @@ cat > $TMPC < /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` > /dev/null 2>&1 ; then - sdl_x11="yes" + if check_link $sdl_cflags $sdl_ldflags; then + sdl_x11="yes" fi fi @@ -919,11 +936,10 @@ int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; } EOF vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null` vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null` - if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \ - $vnc_tls_libs > /dev/null 2> /dev/null ; then - : + if check_link $vnc_tls_cflags $vnc_tls_libs; then + : else - vnc_tls="no" + vnc_tls="no" fi fi @@ -938,11 +954,10 @@ EOF # Assuming Cyrus-SASL installed in /usr prefix vnc_sasl_cflags="" vnc_sasl_libs="-lsasl2" - if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_sasl_cflags $TMPC \ - $vnc_sasl_libs 2> /dev/null > /dev/null ; then - : + if check_link $vnc_sasl_cflags $vnc_sasl_libs; then + : else - vnc_sasl="no" + vnc_sasl="no" fi fi @@ -957,7 +972,7 @@ int main(void) return 0; } EOF -if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then +if check_link; then fnmatch="yes" fi @@ -973,7 +988,7 @@ int main(void) return 0; } EOF - if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug > /dev/null 2> /dev/null ; then + if check_link -lvdeplug; then : else vde="no" @@ -994,7 +1009,7 @@ audio_drv_probe() #include <$hdr> int main(void) { $exp } EOF - if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib > /dev/null 2> /dev/null ; then + if check_link $cfl $lib; then : else echo @@ -1058,8 +1073,8 @@ cat > $TMPC << EOF #include int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); } EOF - if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi > /dev/null 2> /dev/null ; then - brlapi=yes + if check_link -lbrlapi; then + brlapi=yes fi # brlapi compile test fi # -z $brlapi @@ -1075,7 +1090,7 @@ if test "$curses" = "yes" ; then #endif int main(void) { resize_term(0, 0); return curses_version(); } EOF - if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses > /dev/null 2> /dev/null ; then + if check_link -lcurses; then curses=yes fi fi # test "$curses" @@ -1089,8 +1104,9 @@ if test "$curl" = "yes" ; then #include int main(void) { return curl_easy_init(); } EOF + curl_cflags=`curl-cflags --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 check_link $curl_cflags $curl_libs; then curl=yes fi fi # test "$curl" @@ -1107,8 +1123,7 @@ int main(void) { return bt_error(0); } EOF bluez_cflags=`pkg-config --cflags bluez 2> /dev/null` bluez_libs=`pkg-config --libs bluez 2> /dev/null` - if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \ - $bluez_libs > /dev/null 2> /dev/null ; then + if check_link $bluez_cflags $bluez_libs; then : else bluez="no" @@ -1139,24 +1154,23 @@ EOF if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) \ -a -d "$kerneldir/arch/x86/include" ; then kvm_cflags="$kvm_cflags -I$kerneldir/arch/x86/include" - elif test "$cpu" = "ppc" -a -d "$kerneldir/arch/powerpc/include" ; then - kvm_cflags="$kvm_cflags -I$kerneldir/arch/powerpc/include" + elif test "$cpu" = "ppc" -a -d "$kerneldir/arch/powerpc/include" ; then + kvm_cflags="$kvm_cflags -I$kerneldir/arch/powerpc/include" elif test -d "$kerneldir/arch/$cpu/include" ; then kvm_cflags="$kvm_cflags -I$kerneldir/arch/$cpu/include" fi else kvm_cflags="" fi - if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \ - > /dev/null 2>/dev/null ; then + if check_link $kvm_cflags; then : else kvm="no"; if [ -x "`which awk 2>/dev/null`" ] && \ [ -x "`which grep 2>/dev/null`" ]; then kvmerr=`LANG=C $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC 2>&1 \ - | grep "error: " \ - | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'` + | grep "error: " \ + | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'` if test "$kvmerr" != "" ; then kvm="no - (${kvmerr})\n\ NOTE: To enable KVM support, update your kernel to 2.6.29+ or install \ @@ -1178,7 +1192,7 @@ cat > $TMPC << EOF int main(void) { pthread_create(0,0,0,0); return 0; } EOF for pthread_lib in $PTHREADLIBS_LIST; do - if $cc $ARCH_CFLAGS -o $TMPE $TMPC $pthread_lib 2> /dev/null > /dev/null ; then + if check_link $pthread_lib; then pthread=yes PTHREADLIBS="$pthread_lib" break @@ -1200,7 +1214,7 @@ cat > $TMPC < /dev/null 2> /dev/null ; then +if check_link; then iovec=yes fi @@ -1213,7 +1227,7 @@ cat > $TMPC < /dev/null 2> /dev/null ; then +if check_link; then preadv=yes fi @@ -1224,7 +1238,7 @@ if test "$fdt" = "yes" ; then cat > $TMPC << EOF int main(void) { return 0; } EOF - if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lfdt 2> /dev/null > /dev/null ; then + if check_link -lfdt; then fdt=yes fi fi @@ -1249,7 +1263,7 @@ main(void) return (unlinkat(AT_FDCWD, "nonexistent_file", 0)); } EOF - if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null > /dev/null ; then + if check_link; then atfile=yes fi fi @@ -1271,7 +1285,7 @@ main(void) return inotify_init(); } EOF - if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null > /dev/null ; then + if check_link; then inotify=yes fi fi @@ -1291,9 +1305,9 @@ int main(void) { clockid_t id; return clock_gettime(id, NULL); } EOF rt=no -if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then +if check_link; then : -elif $cc $ARCH_CFLAGS -o $TMPE $TMPC -lrt > /dev/null 2> /dev/null ; then +elif check_link -lrt; then rt=yes fi @@ -1529,7 +1543,7 @@ else #include int main(void) { return bswap_32(0); } EOF - if $cc $ARCH_CFLAGS -o $TMPE $TMPC >/dev/null 2> /dev/null ; then + if check_link; then echo "#define HAVE_BYTESWAP_H 1" >> $config_h fi cat > $TMPC << EOF @@ -1538,7 +1552,7 @@ EOF #include int main(void) { return bswap32(0); } EOF - if $cc $ARCH_CFLAGS -o $TMPE $TMPC >/dev/null 2> /dev/null ; then + if check_link; then echo "#define HAVE_MACHINE_BSWAP_H 1" >> $config_h fi fi -- 1.6.1.2 --001636c5a537810e79046bfd1e06 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Feature detection didn't work properly under cygwin because the OS= _CFLAGS=3D-mno-cygwin
flags was not passed to the feature checks = (which only used $ARCH_CFLAGS). The end
result being that feature= s were detected against the mostly-Posix Cygwin headers,
while compilation happened against the Mingw headers which lack many h= eaders like
<sys/uio.h>, <fnmatch.h> and others.

Also, an OS_LDFLAGS=3D-mno-cygwin was missing, resulti= ng in a link-time error

Finally, three helper functions are introduced to simpl= ify feature detection within
the configure script: check_compile,= check_link and check_link_with_log. Feature
detection code was m= odified to use them instead of directly calling $cc with a really
long list of arguments.

Signed-off-by: digit = <digit@google.com<= /a>>
=A01 files changed, 56 insertions(+), 42 deletions(-)

diff --git a/configure b/configure
index 89e7f53..e0191f= 0 100755
--- a/configure
+++ b/configure
@@ -= 73,7 +73,21 @@ cat > $TMPC <<EOF
=A0#endif
=A0int main(void) { return 0; }
=A0EOF
- =A0$cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/= null
+ =A0$cc $ARCH_CFLAGS -c -o $TMPO $TMPC ${OS_CFLAGS} > /d= ev/null 2> /dev/null
+}
+
+check_compile() {
+ =A0$cc $ARCH_C= FLAGS $OS_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null
+}
+
+check_link() {
+ =A0$cc $ARCH_CFLAGS $= OS_CFLAGS -o $TMPE $TMPC $* > /dev/null 2> /dev/null
+}
+
+check_link_with_log() {
+ =A0 =A0T= MPLOG=3D$1
+ =A0 =A0shift
+ =A0 =A0$cc $ARCH_CFLAGS $OS= _CFLAGS -o $TMPE $TMPC $* > $TMPLOG 2>&1
=A0}
=A0
=A0if check_define __i386__ ; then
@@ -216,6 +230,7 @@ case $targ= etos in
=A0CYGWIN*)
=A0mingw32=3D"yes"
<= div>=A0OS_CFLAGS=3D"-mno-cygwin"
=A0if [ "$cpu" =3D "i386" ] ; then
=A0= =A0 =A0 kqemu=3D"yes"
=A0fi
@@ -763,7 +778,7 = @@ int main(int argc, char ** argv){
=A0}
=A0EOF
<= div>=A0
-if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
+if check_link; then
=A0$TMPE && bigendian=3D&qu= ot;yes"
=A0else
=A0echo big/little test failed
@@ -809,7 +824,7 @@ void foo()
=A0}
=A0EOF
= =A0
-if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /= dev/null ; then
+if check_compile; then
=A0=A0 :
<= div>=A0else
=A0=A0 =A0nptl=3D"no"
@@ -822,7 +837,7 @@ cat >= $TMPC << EOF
=A0#include <zlib.h>
=A0int m= ain(void) { zlibVersion(); return 0; }
=A0EOF
-if $cc $= ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz > /dev/null 2> /dev/null = ; then
+if check_link -lz; then
=A0=A0 =A0 :
=A0else
=A0=A0 =A0 echo
@@ -841,7 +856,7 @@ cat > $TMPC <<= EOF
=A0#include <xs.h>
=A0int main(void) { xs_dae= mon_open; xc_interface_open; }
=A0EOF
- =A0 if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC -lxenstor= e -lxenctrl 2> /dev/null > /dev/null ; then
+ =A0 if check_= link -lxenstore -lxenctrl; then
=A0=A0 =A0 =A0 :
=A0=A0= =A0else
=A0=A0 =A0 =A0 xen=3D"no"
@@ -855,6 +870,8 @@ sdl_too_o= ld=3Dno
=A0
=A0if test "$sdl" =3D "yes&q= uot; ; then
=A0=A0 =A0 sdl_config=3D"sdl-config"
<= div>+ =A0 =A0sdl_cflags=3D`$sdl_config --cflags 2> /dev/null`
+ =A0 =A0sdl_ldflags=3D`$sdl_config --libs 2> /dev/null`
= =A0=A0 =A0 sdl=3Dno
=A0=A0 =A0 sdl_static=3Dno
=A0
@@ -863,7 +880,7 @@ cat > $TMPC << EOF
=A0#undef m= ain /* We don't want SDL to override our main() */
=A0int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
= =A0EOF
- =A0 =A0if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_c= onfig --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` = > $TMPSDLLOG 2>&1 ; then
+ =A0 =A0if check_link_with_log $TMPSDLLOG $sdl_cflags $sdl_ldflags; t= hen
=A0=A0 =A0 =A0 =A0 _sdlversion=3D`$sdl_config --version | sed= 's/[^0-9]//g'`
=A0=A0 =A0 =A0 =A0 if test "$_sdlver= sion" -lt 121 ; then
=A0=A0 =A0 =A0 =A0 =A0 =A0 sdl_too_old=3Dyes
@@ -882,7 +899,= 7 @@ EOF
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 sdl_static_libs=3D&qu= ot;$sdl_static_libs `aalib-config --static-libs`"
=A0=A0 =A0= =A0 =A0 =A0 =A0 fi
=A0
- =A0 =A0 =A0 =A0 =A0 =A0if $cc= -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_st= atic_libs > /dev/null 2> /dev/null; then
+ =A0 =A0 =A0 =A0 =A0 =A0if check_link `$sdl_config --cflags 2> /de= v/null` $sdl_static_libs; then
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= sdl_static=3Dyes
=A0=A0 =A0 =A0 =A0 =A0 =A0 fi
=A0=A0 = =A0 =A0 =A0 fi # static link
@@ -905,8 +922,8 @@ cat > $TMPC &= lt;<EOF
=A0#endif
=A0int main(void) { return 0; }
=A0EOF
- =A0 =A0if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --= cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` > /de= v/null 2>&1 ; then
- sdl_x11=3D"yes"
+ =A0 =A0if check_link $sdl_cflags $sdl_ldflags; then
+ = =A0 =A0 =A0 =A0sdl_x11=3D"yes"
=A0=A0 =A0 fi
=A0fi
=A0
@@ -919,11 +936,10 @@ int main(void) { gnutls= _session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
=A0= EOF
=A0=A0 =A0 vnc_tls_cflags=3D`pkg-config --cflags gnutls 2>= /dev/null`
=A0=A0 =A0 vnc_tls_libs=3D`pkg-config --libs gnutls 2> /dev/null`
- =A0 =A0if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags= $TMPC \
- =A0 =A0 =A0 =A0 =A0 $vnc_tls_libs > /dev/null 2>= /dev/null ; then
- :
+ =A0 =A0if check= _link $vnc_tls_cflags $vnc_tls_libs; then
+ =A0 =A0 =A0 =A0:
=A0=A0 =A0 else
- vn= c_tls=3D"no"
+ =A0 =A0 =A0 =A0vnc_tls=3D"no"
=A0=A0 =A0 fi
=A0fi
=A0
@@ -938,11 +954,10 @@ EOF
=A0= =A0 =A0 # Assuming Cyrus-SASL installed in /usr prefix
=A0=A0 =A0= vnc_sasl_cflags=3D""
=A0=A0 =A0 vnc_sasl_libs=3D"-lsasl2"
- =A0 =A0if $= cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_sasl_cflags $TMPC \
- = =A0 =A0 =A0 =A0 =A0 $vnc_sasl_libs 2> /dev/null > /dev/null ; then
- :
+ =A0 =A0if check_link $vnc_sasl_cflags $vnc_sasl_libs; then
+ =A0 =A0 =A0 =A0:
=A0=A0 =A0 else
- vnc_sasl=3D"no"
+ =A0 =A0 =A0 =A0= vnc_sasl=3D"no"
=A0=A0 =A0 fi
=A0fi
=A0
@@ -957,7 +972,7= @@ int main(void)
=A0=A0 =A0 return 0;
=A0}
= =A0EOF
-if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /= dev/null ; then
+if check_link; then
=A0=A0 =A0fnmatch=3D"yes"
=A0fi
=A0
@@ -973,7 +988,7 @@ int main(void)
=A0=A0 =A0 return 0;
=A0}
=A0EOF
- =A0= =A0if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug > /dev/null 2> /dev/= null ; then
+ =A0 =A0if check_link -lvdeplug; then
=A0=A0 =A0 =A0 =A0 :<= /div>
=A0=A0 =A0 else
=A0=A0 =A0 =A0 =A0 vde=3D"no"=
@@ -994,7 +1009,7 @@ audio_drv_probe()
=A0#include <= ;$hdr>
=A0int main(void) { $exp }
=A0EOF
- =A0 =A0if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib= > /dev/null 2> /dev/null ; then
+ =A0 =A0if check_link $cf= l $lib; then
=A0=A0 =A0 =A0 =A0 :
=A0=A0 =A0 else
=
=A0=A0 =A0 =A0 =A0 echo
@@ -1058,8 +1073,8 @@ cat > $TMPC << EOF
=A0#includ= e <brlapi.h>
=A0int main( void ) { return brlapi__openConne= ction (NULL, NULL, NULL); }
=A0EOF
- =A0 =A0if $cc ${AR= CH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi > /dev/null 2> /dev/n= ull ; then
- =A0 =A0brlapi=3Dyes
+ =A0 =A0if check_link -lbrlapi; then
+ =A0 =A0 =A0 =A0brlapi= =3Dyes
=A0=A0 =A0 fi # brlapi compile test
=A0fi # -z $= brlapi
=A0
@@ -1075,7 +1090,7 @@ if test "$curses" =3D &q= uot;yes" ; then
=A0#endif
=A0int main(void) { resi= ze_term(0, 0); return curses_version(); }
=A0EOF
- =A0i= f $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses > /dev/null 2> /dev/null ;= then
+ =A0if check_link -lcurses; then
=A0=A0 =A0 curses=3Dyes
=A0=A0 fi
=A0fi # test "$curses"
@@ -= 1089,8 +1104,9 @@ if test "$curl" =3D "yes" ; then
=A0#include <curl/curl.h>
=A0int main(void) { return curl_easy_init(); }
=A0EOF
<= div>+ =A0curl_cflags=3D`curl-cflags --cflags 2>/dev/null`
=A0= =A0 curl_libs=3D`curl-config --libs 2>/dev/null`
- if $cc $ARC= H_CFLAGS $curl_libs -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
+ if check_link $curl_cflags $curl_libs; then
=A0=A0 =A0 cur= l=3Dyes
=A0=A0 fi
=A0fi # test "$curl"
<= div>@@ -1107,8 +1123,7 @@ int main(void) { return bt_error(0); }
= =A0EOF
=A0=A0 bluez_cflags=3D`pkg-config --cflags bluez 2> /dev/null`
=A0=A0 bluez_libs=3D`pkg-config --libs bluez 2> /dev/null`
- =A0if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
- =A0 =A0 =A0$bluez_libs > /dev/null 2> /dev/null ; then
+ =A0if check_link $bluez_cflags $bluez_libs; then
=A0=A0 = =A0 :
=A0=A0 else
=A0=A0 =A0 bluez=3D"no"
@@ -1139,24 +1154,23 @@ EOF
=A0=A0 =A0 =A0 if test \( &quo= t;$cpu" =3D "i386" -o "$cpu" =3D "x86_64"= ; \) \
=A0=A0 =A0 =A0 =A0 =A0-a -d "$kerneldir/arch/x86/include" ; = then
=A0=A0 =A0 =A0 =A0 =A0 =A0 kvm_cflags=3D"$kvm_cflags -I= $kerneldir/arch/x86/include"
- elif test "$cpu" =3D "ppc" -a -d "$kerne= ldir/arch/powerpc/include" ; then
- =A0 =A0kvm_cflags=3D"$k= vm_cflags -I$kerneldir/arch/powerpc/include"
+ =A0 =A0elif t= est "$cpu" =3D "ppc" -a -d "$kerneldir/arch/powerp= c/include" ; then
+ =A0 =A0 =A0 =A0kvm_cflags=3D"$kvm_cflags -I$kerneldir/arch/powe= rpc/include"
=A0=A0 =A0 =A0 =A0 elif test -d "$kerneldi= r/arch/$cpu/include" ; then
=A0=A0 =A0 =A0 =A0 =A0 =A0 kvm_c= flags=3D"$kvm_cflags -I$kerneldir/arch/$cpu/include"
=A0=A0 =A0 =A0 fi
=A0=A0 else
=A0=A0 =A0 =A0 kvm_c= flags=3D""
=A0=A0 fi
- =A0if $cc $ARCH_CFLAGS= -o $TMPE ${OS_CFLAGS} $kvm_cflags $TMPC \
- =A0 =A0 =A0> /dev= /null 2>/dev/null ; then
+ =A0if check_link $kvm_cflags; then
=A0=A0 =A0 :
= =A0=A0 else
=A0=A0 =A0 kvm=3D"no";
=A0=A0 =A0= if [ -x "`which awk 2>/dev/null`" ] && \
= =A0=A0 =A0 =A0 =A0[ -x "`which grep 2>/dev/null`" ]; then
=A0=A0 =A0 =A0 kvmerr=3D`LANG=3DC $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAG= S} $kvm_cflags $TMPC 2>&1 \
- | grep "error: " \
- | awk -F "error: " '{if (NR>1) printf(&quo= t;, "); printf("%s",$2);}'`
+ =A0 =A0 =A0 =A0| grep "error: " \
+ =A0 =A0 =A0 = =A0| awk -F "error: " '{if (NR>1) printf(", "); = printf("%s",$2);}'`
=A0=A0 =A0 =A0 if test "$k= vmerr" !=3D "" ; then
=A0=A0 =A0 =A0 =A0 kvm=3D"no - (${kvmerr})\n\
=A0=A0 = =A0 NOTE: To enable KVM support, update your kernel to 2.6.29+ or install \=
@@ -1178,7 +1192,7 @@ cat > $TMPC << EOF
=A0i= nt main(void) { pthread_create(0,0,0,0); return 0; }
=A0EOF
=A0=A0 for pthread_lib in $PTHREADLIBS_LIST; do
=
- =A0 =A0if $cc $ARCH_CFLAGS -o $TMPE $TMPC $pthread_lib 2> /dev/nu= ll > /dev/null ; then
+ =A0 =A0if check_link $pthread_lib; the= n
=A0=A0 =A0 =A0 pthread=3Dyes
=A0=A0 =A0 =A0 PTHREADLIBS=3D"$= pthread_lib"
=A0=A0 =A0 =A0 break
@@ -1200,7 +1214= ,7 @@ cat > $TMPC <<EOF
=A0int main(void) { struct iovec= iov; return 0; }
=A0EOF
=A0iovec=3Dno
-if $cc $ARCH_CFLAGS -o $TMPE $TMP= C > /dev/null 2> /dev/null ; then
+if check_link; then
=A0=A0 iovec=3Dyes
=A0fi
=A0
@@ -1213,7= +1227,7 @@ cat > $TMPC <<EOF
=A0int main(void) { preadv; }
=A0EOF
=A0preadv=3Dn= o
-if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/n= ull ; then
+if check_link; then
=A0=A0 preadv=3Dyes
=A0fi
=A0
@@ -1224,7 +1238,7 @@ if test "$fdt" =3D "= ;yes" ; then
=A0=A0 =A0 cat > $TMPC << EOF
=A0int main(void) { return 0; }
=A0EOF
- =A0if $cc $A= RCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lfdt 2> /dev/null > /dev/null= ; then
+ =A0if check_link -lfdt; then
=A0=A0 =A0 fdt=3Dyes
=A0=A0 fi
=A0fi
@@ -1249,7 +1263,7 @@ main(void)
=A0 return (unlinkat(AT_FDCWD,= "nonexistent_file", 0));
=A0}
=A0EOF
- =A0if $cc $ARCH_CFLAGS -o $TMPE $TMP= C 2> /dev/null > /dev/null ; then
+ =A0if check_link; then<= /div>
=A0=A0 =A0 atfile=3Dyes
=A0=A0 fi
=A0fi
=
@@ -1271,7 +1285,7 @@ main(void)
=A0 return inotify_init();
=A0}
=A0EOF
- =A0if $cc $ARCH_CFLAGS -o $TMPE $TM= PC 2> /dev/null > /dev/null ; then
+ =A0if check_link; then=
=A0=A0 =A0 inotify=3Dyes
=A0=A0 fi
=A0fi
@@ -1291,9 +1305,9 @@ int main(void) { clockid_t id; return clock_gettime(= id, NULL); }
=A0EOF
=A0
=A0rt=3Dno
= -if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
+if check_link; then
=A0=A0 :
-elif $cc $ARCH_CFLA= GS -o $TMPE $TMPC -lrt > /dev/null 2> /dev/null ; then
+eli= f check_link -lrt; then
=A0=A0 rt=3Dyes
=A0fi
=A0
@@ -1529,7 +1543,7 @@ else
=A0#include <byteswap.h>
=A0int main(void) { return bswap_32(0); }
=A0EOF
- =A0if $cc $ARCH_CFLAGS -o $TMPE $TMPC >/dev/null 2> /dev/null ; t= hen
+ =A0if check_link; then
=A0=A0 =A0 echo "#define HAVE_= BYTESWAP_H 1" >> $config_h
=A0=A0 fi
=A0=A0 = cat > $TMPC << EOF
@@ -1538,7 +1552,7 @@ EOF
= =A0#include <machine/bswap.h>
=A0int main(void) { return bswap32(0); }
=A0EOF
- = =A0if $cc $ARCH_CFLAGS -o $TMPE $TMPC >/dev/null 2> /dev/null ; then<= /div>
+ =A0if check_link; then
=A0=A0 =A0 echo "#define = HAVE_MACHINE_BSWAP_H 1" >> $config_h
=A0=A0 fi
=A0fi
--=A0
1.6.1.2
=


--001636c5a537810e79046bfd1e06--