Skip to content

Commit

Permalink
configure: factor out supported flag check
Browse files Browse the repository at this point in the history
Factor out the function that checks if a compiler
flag is supported or not.

Signed-off-by: John Snow <[email protected]>
Reviewed-by: Stefan Hajnoczi <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
  • Loading branch information
jnsnow authored and stefanhaRH committed May 22, 2015
1 parent e4a7b34 commit 93b2586
Showing 1 changed file with 19 additions and 14 deletions.
33 changes: 19 additions & 14 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down

0 comments on commit 93b2586

Please sign in to comment.