configure: factor out supported flag check

Factor out the function that checks if a compiler
flag is supported or not.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1427324259-1481-3-git-send-email-jsnow@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
John Snow 2015-03-25 18:57:37 -04:00 committed by Stefan Hajnoczi
parent e4a7b344df
commit 93b2586922
1 changed files with 19 additions and 14 deletions

33
configure vendored
View File

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