From b794a2bd8c40526c000abde831e372744c3fa3e0 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 15 Jan 2011 02:57:36 +0000 Subject: * configure.in (warnflags): add -Werror=implicit-function-declaration if available. * lib/mkmf.rb (init_mkmf): ignore warnings in mkmf tests. * test/mkmf/base.rb (setup, teardown): restore config values. * test/mkmf/test_flags.rb: split from test_find_executable.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/mkmf.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 1a1db54e7f..cc9f918958 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -1658,10 +1658,6 @@ VPATH = #{vpath.join(CONFIG['PATH_SEPARATOR'])} 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']} @@ -1676,7 +1672,7 @@ RUBY_EXTCONF_H = #{$extconf_h} cflags = #{CONFIG['cflags']} optflags = #{CONFIG['optflags']} debugflags = #{CONFIG['debugflags']} -warnflags = #{warnflags} +warnflags = #{$warnflags} CFLAGS = #{$static ? '' : CONFIG['CCDLFLAGS']} #$CFLAGS #$ARCH_FLAG INCFLAGS = -I. #$INCFLAGS DEFS = #{CONFIG['DEFS']} @@ -2107,12 +2103,21 @@ end # :stopdoc: -def init_mkmf(config = CONFIG) +def init_mkmf(config = CONFIG, rbconfig = RbConfig::CONFIG) $makefile_created = false $arg_config = [] $enable_shared = config['ENABLE_SHARED'] == 'yes' $defs = [] $extconf_h = nil + if $warnflags = CONFIG['warnflags'] and CONFIG['GCC'] == 'yes' + # turn warnings into errors only for bundled extensions. + config['warnflags'] = $warnflags.gsub(/(\A|\s)-Werror[-=]/, '\1-W') + RbConfig.expand(rbconfig['warnflags'] = config['warnflags'].dup) + config.each do |key, val| + RbConfig.expand(rbconfig[key] = val.dup) if /warnflags/ =~ val + end + $warnflags = config['warnflags'] unless $extmk + end $CFLAGS = with_config("cflags", arg_config("CFLAGS", config["CFLAGS"])).dup $ARCH_FLAG = with_config("arch_flag", arg_config("ARCH_FLAG", config["ARCH_FLAG"])).dup $CPPFLAGS = with_config("cppflags", arg_config("CPPFLAGS", config["CPPFLAGS"])).dup -- cgit v1.2.3