On Sat, Dec 20, 2008 at 08:49:01AM -0800, john.levon@xxxxxxx wrote: > # HG changeset patch > # User john.levon@xxxxxxx > # Date 1229789393 28800 > # Node ID a158bbc6df6fb8b15af875d08e73cfd3ca75f907 > # Parent 34706075e6c801cd9532490c11b20b64dfcf464b > Improve compiler flag checking > > Some compilers (including GCC) don't set the return value consistently > if an erroneous option is passed on the command line. Account for that. > > Signed-off-by: John Levon <john.levon@xxxxxxx> ACK to this patch. > diff --git a/acinclude.m4 b/acinclude.m4 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -45,21 +45,9 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[ > ;; > esac > > - compiler_flags= > + COMPILER_FLAGS= > for option in $try_compiler_flags; do > - SAVE_CFLAGS="$CFLAGS" > - CFLAGS="$CFLAGS $option" > - AC_MSG_CHECKING([whether gcc understands $option]) > - AC_TRY_LINK([], [], > - has_option=yes, > - has_option=no,) > - CFLAGS="$SAVE_CFLAGS" > - AC_MSG_RESULT($has_option) > - if test $has_option = yes; then > - compiler_flags="$compiler_flags $option" > - fi > - unset has_option > - unset SAVE_CFLAGS > + gl_COMPILER_FLAGS($option) > done > unset option > unset try_compiler_flags > @@ -85,7 +73,7 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[ > fi > AC_MSG_RESULT($complCFLAGS) > > - WARN_CFLAGS="$compiler_flags $complCFLAGS" > + WARN_CFLAGS="$COMPILER_FLAGS $complCFLAGS" > AC_SUBST(WARN_CFLAGS) > > dnl Needed to keep compile quiet on python 2.4 > diff --git a/m4/compiler-flags.m4 b/m4/compiler-flags.m4 > --- a/m4/compiler-flags.m4 > +++ b/m4/compiler-flags.m4 > @@ -25,10 +25,16 @@ AC_DEFUN([gl_COMPILER_FLAGS], > AC_SUBST(COMPILER_FLAGS) > ac_save_CFLAGS="$CFLAGS" > CFLAGS="$CFLAGS $1" > - AC_TRY_COMPILE(, > - [int x;], > - COMPILER_FLAGS="$COMPILER_FLAGS $1" > - AC_MSG_RESULT(yes), > - AC_MSG_RESULT(no)) > - CFLAGS="$ac_save_CFLAGS" > + AC_TRY_LINK([], [], has_option=yes, has_option=no,) > + echo 'int x;' >conftest.c > + $CC $CFLAGS -c conftest.c 2>conftest.err > + ret=$? > + if test $ret != 0 -o -s conftest.err -o $has_option = "no"; then > + AC_MSG_RESULT(no) > + else > + AC_MSG_RESULT(yes) > + COMPILER_FLAGS="$COMPILER_FLAGS $1" > + fi > + CFLAGS="$ac_save_CFLAGS" > + rm -f conftest* > ]) Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list