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

ruby-changes:18415

From: nobu <ko1@a...>
Date: Fri, 31 Dec 2010 11:47:01 +0900 (JST)
Subject: [ruby-changes:18415] Ruby:r30438 (trunk): * configure.in (warnflags), lib/mkmf.rb (configuration): turn

nobu	2010-12-31 11:46:50 +0900 (Fri, 31 Dec 2010)

  New Revision: 30438

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

  Log:
    * configure.in (warnflags), lib/mkmf.rb (configuration): turn
      warnings into errors only for bundled extensions.
      [ruby-core:33815]

  Modified files:
    trunk/ChangeLog
    trunk/configure.in
    trunk/lib/mkmf.rb

Index: configure.in
===================================================================
--- configure.in	(revision 30437)
+++ configure.in	(revision 30438)
@@ -444,10 +444,23 @@
 ])
 
 if test "$GCC:${warnflags+set}:no" = yes::no; then
-    for wflag in -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings \
+    particular_werror_flags=yes
+    for wflag in -Wno-unused-parameter -Wno-parentheses -Wno-long-long \
+		 -Wno-missing-field-initializers \
+		 -Werror=pointer-arith \
+		 -Werror=write-strings \
 		 -Werror=declaration-after-statement \
-		 -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long; do
-	RUBY_TRY_CFLAGS($wflag, [warnflags="${warnflags+$warnflags }$wflag"])
+		 -Werror=shorten-64-to-32; do
+	test "$particular_werror_flags" = yes || wflag=`echo x$wflag | sed 's/^x-Werror=/-W/'`
+	ok=no
+	RUBY_TRY_CFLAGS($wflag, [warnflags="${warnflags+$warnflags }$wflag" ok=yes])
+	AS_CASE([$ok:$wflag], [no:-Werror=*], [
+	    wflag=`echo x$wflag | sed 's/^x-Werror=/-W/'`
+	    RUBY_TRY_CFLAGS($wflag, [
+		warnflags="${warnflags+$warnflags }$wflag"
+		particular_werror_flags=no
+	    ])
+	])
     done
     AS_CASE([" $warnflags "],[*" -Wno-missing-field-initializers "*], [wflag=-Wextra],
                              [wflag=-Wall])
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 30437)
+++ ChangeLog	(revision 30438)
@@ -1,3 +1,9 @@
+Fri Dec 31 11:46:47 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* configure.in (warnflags), lib/mkmf.rb (configuration): turn
+	  warnings into errors only for bundled extensions.
+	  [ruby-core:33815]
+
 Fri Dec 31 11:15:57 2010  Nobuyoshi Nakada  <nobu@r...>
 
 	* ext/zlib/zlib.c (sizeof): zlib.h mistakenly assumes the result
Index: lib/mkmf.rb
===================================================================
--- lib/mkmf.rb	(revision 30437)
+++ lib/mkmf.rb	(revision 30438)
@@ -1658,6 +1658,10 @@
   end
   possible_command = (proc {|s| s if /top_srcdir/ !~ s} unless $extmk)
   extconf_h = $extconf_h ? "-DRUBY_EXTCONF_H=\\\"$(RUBY_EXTCONF_H)\\\" " : $defs.join(" ") << " "
+  if warnflags = CONFIG['warnflags'] and CONFIG['GCC'] == 'yes' and !$extmk
+    # turn warnings into errors only for bundled extensions.
+    warnflags = warnflags.gsub(/(?:\A|\s)-Werror=/, '\1-W')
+  end
   mk << %{
 CC = #{CONFIG['CC']}
 CXX = #{CONFIG['CXX']}
@@ -1672,7 +1676,7 @@
 cflags   = #{CONFIG['cflags']}
 optflags = #{CONFIG['optflags']}
 debugflags = #{CONFIG['debugflags']}
-warnflags = #{CONFIG['warnflags']}
+warnflags = #{warnflags}
 CFLAGS   = #{$static ? '' : CONFIG['CCDLFLAGS']} #$CFLAGS #$ARCH_FLAG
 INCFLAGS = -I. #$INCFLAGS
 DEFS     = #{CONFIG['DEFS']}

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

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