[前][次][番号順一覧][スレッド一覧]

ruby-changes:13657

From: nobu <ko1@a...>
Date: Fri, 23 Oct 2009 14:23:08 +0900 (JST)
Subject: [ruby-changes:13657] Ruby:r25442 (trunk): * configure.in (warnflags): use -Wextra only when

nobu	2009-10-23 14:22:53 +0900 (Fri, 23 Oct 2009)

  New Revision: 25442

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=25442

  Log:
    * configure.in (warnflags): use -Wextra only when
      -Wno-missing-field-initializers is available.

  Modified files:
    trunk/ChangeLog
    trunk/configure.in

Index: configure.in
===================================================================
--- configure.in	(revision 25441)
+++ configure.in	(revision 25442)
@@ -387,19 +387,31 @@
 dnl }
 dnl compiler section {
 
+AC_DEFUN(RUBY_TRY_CFLAGS, [
+    save_CFLAGS="$CFLAGS"
+    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
-    save_CFLAGS="$CFLAGS"
-    for wflag in -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings \
+    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\""
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 25441)
+++ ChangeLog	(revision 25442)
@@ -1,5 +1,8 @@
-Fri Oct 23 14:06:10 2009  Nobuyoshi Nakada  <nobu@r...>
+Fri Oct 23 14:22:51 2009  Nobuyoshi Nakada  <nobu@r...>
 
+	* configure.in (warnflags): use -Wextra only when
+	  -Wno-missing-field-initializers is available.
+
 	* configure.in (optflags): removed -fomit-frame-pointer by default.
 
 Fri Oct 23 09:12:59 2009  Nobuyoshi Nakada  <nobu@r...>

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]