summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-23 05:22:53 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-23 05:22:53 +0000
commita56b1bc27b70d2ce609a456043b05161a20a1082 (patch)
tree92ab735338ba5d59053bd7e774e60a0a852624d2 /configure.in
parent9a8d0e83c0bb5501185ecb3f080f448a908fc874 (diff)
* configure.in (warnflags): use -Wextra only when
-Wno-missing-field-initializers is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in32
1 files changed, 22 insertions, 10 deletions
diff --git a/configure.in b/configure.in
index 73b92995ba..db5ff50db5 100644
--- a/configure.in
+++ b/configure.in
@@ -387,19 +387,31 @@ AC_SUBST(CHDIR)
dnl }
dnl compiler section {
-if test "$GCC:${warnflags+set}:no" = yes::no; then
+AC_DEFUN(RUBY_TRY_CFLAGS, [
save_CFLAGS="$CFLAGS"
- for wflag in -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings \
+ CFLAGS="[$]CFLAGS $1"
+ AC_MSG_CHECKING([whether ]$1[ is accepted])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
+ [$2
+ AC_MSG_RESULT(yes)],
+ [$3
+ AC_MSG_RESULT(no)])
+ CFLAGS="$save_CFLAGS"
+ save_CFLAGS=
+])
+
+if test "$GCC:${warnflags+set}:no" = yes::no; then
+ for wflag in -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings \
-Wno-missing-field-initializers -Wshorten-64-to-32; do
- CFLAGS="$CFLAGS $wflag"
- AC_MSG_CHECKING([whether $wflag is accepted])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
- [warnflags="${warnflags+$warnflags }$wflag"
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)])
+ RUBY_TRY_CFLAGS($wflag, [warnflags="${warnflags+$warnflags }$wflag"])
done
- CFLAGS="$save_CFLAGS"
- unset save_CFLAGS
+ case " $warnflags " in
+ when(*" -Wno-missing-field-initializers "*)
+ wflag=-Wextra;;
+ when(*)
+ wflag=-Wall;;
+ esac
+ RUBY_TRY_CFLAGS($wflag, [warnflags="$wflag${warnflags+ $warnflags}"])
fi
test -z "${ac_env_CFLAGS_set}" -a -n "${cflags+set}" && eval CFLAGS="\"$cflags $ARCH_FLAG\""