diff options
author | John Snow <jsnow@redhat.com> | 2015-03-25 18:57:37 -0400 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2015-05-22 09:37:32 +0100 |
commit | 93b25869228a3c0c632a6aa66624cc4e549ba14a (patch) | |
tree | 10a4fd6891ab9e486cfd5be7adb5ced78d078f02 | |
parent | e4a7b344df40b1f4b2e732ddb0d68079ce658d89 (diff) |
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>
-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 |