diff options
-rwxr-xr-x | configure | 33 |
1 files changed, 19 insertions, 14 deletions
@@ -436,6 +436,12 @@ EOF compile_object } +write_c_skeleton() { + cat > $TMPC <<EOF +int main(void) { return 0; } +EOF +} + if check_define __linux__ ; then targetos="Linux" elif check_define _WIN32 ; then @@ -705,9 +711,7 @@ if test "$mingw32" = "yes" ; then # enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) QEMU_CFLAGS="-D__USE_MINGW_ANSI_STDIO=1 $QEMU_CFLAGS" LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS" -cat > $TMPC << EOF -int main(void) { return 0; } -EOF + write_c_skeleton; if compile_prog "" "-liberty" ; then LIBS="-liberty $LIBS" fi @@ -1445,10 +1449,7 @@ if test -z "$werror" ; then fi # check that the C compiler works. -cat > $TMPC <<EOF -int main(void) { return 0; } -EOF - +write_c_skeleton; if compile_object ; then : C compiler works ok else @@ -1496,16 +1497,20 @@ gcc_flags="-Wno-string-plus-int $gcc_flags" # enable it for all configure tests. If a configure test failed due # to -Werror this would just silently disable some features, # so it's too error prone. -cat > $TMPC << EOF -int main(void) { return 0; } -EOF -for flag in $gcc_flags; do + +cc_has_warning_flag() { + write_c_skeleton; + # Use the positive sense of the flag when testing for -Wno-wombat # support (gcc will happily accept the -Wno- form of unknown # warning options). - optflag="$(echo $flag | sed -e 's/^-Wno-/-W/')" - if compile_prog "-Werror $optflag" "" ; then - QEMU_CFLAGS="$QEMU_CFLAGS $flag" + optflag="$(echo $1 | sed -e 's/^-Wno-/-W/')" + compile_prog "-Werror $optflag" "" +} + +for flag in $gcc_flags; do + if cc_has_warning_flag $flag ; then + QEMU_CFLAGS="$QEMU_CFLAGS $flag" fi done |