1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/mkmf.rb (configuration): fixing gsub when multiple error flags

are passed to GCC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tenderlove 2011-01-06 00:18:16 +00:00
parent 5631792727
commit 5d0fb7c155
3 changed files with 24 additions and 1 deletions

View file

@ -1,3 +1,8 @@
Thu Jan 6 09:12:31 2011 Aaron Patterson <aaron@tenderlovemaking.com>
* lib/mkmf.rb (configuration): fixing gsub when multiple error flags
are passed to GCC.
Thu Jan 6 05:25:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
* array.c (rb_ary_modify): export.

View file

@ -1660,7 +1660,9 @@ VPATH = #{vpath.join(CONFIG['PATH_SEPARATOR'])}
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')
warnflags = warnflags.split.map { |flag|
flag.gsub(/(?:\A|\s)-Werror=/, '\1-W')
}.join ' '
end
mk << %{
CC = #{CONFIG['CC']}

View file

@ -2,6 +2,22 @@ require_relative 'base'
class TestMkmf
class TestFindExecutable < TestMkmf
def test_valid_warnflags
val = $extmk
begin
makefile = mkmf do
$extmk = false
self.class::CONFIG['warnflags'] = "-Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32"
self.class::CONFIG['GCC'] = 'yes'
configuration '.'
end
generated_flags = makefile.grep(/warnflags/).first[/^warnflags = .*$/]
assert_equal "warnflags = -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32", generated_flags
ensure
$extmk = val
end
end
def test_find_executable
bug2669 = '[ruby-core:27912]'
path, ENV["PATH"] = ENV["PATH"], path