summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-03-28 09:15:03 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-03-28 09:15:03 +0000
commitb3093a85590fb3fa78e71f3306a927818f389123 (patch)
tree5f2a057a125533f102a6455783c9de82b05948fc /tool
parentd8bb5917bf772243d091a1bbc6d6aeb37ec717bf (diff)
merge revision(s) 39507,39508: [Backport #7963]
* tool/mkconfig.rb: reconstruct comma separated list values. a command line to Windows batch file is splitted not only by spaces and equals sign but also by commas and semicolons. command line to Windows batch file is split not only by spaces and equal signs but also by commas and semicolons. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool')
-rwxr-xr-xtool/mkconfig.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb
index f6f335182e..6d8751175e 100755
--- a/tool/mkconfig.rb
+++ b/tool/mkconfig.rb
@@ -113,7 +113,12 @@ File.foreach "config.status" do |line|
end
end
if name == "configure_args"
- val.gsub!(/ +(?!-)/, "=") if win32
+ if win32
+ val.gsub!(/\G(--[-a-z0-9]+)((=\S+)|(?:\s+(?!-)\S+)+)?(\s*)/) {
+ _, opt, list, arg, sep = *$~
+ "#{opt}#{arg || list && list.sub(/^\s+/, '=').tr_s(' ', ',')}#{sep}"
+ }
+ end
val.gsub!(/--with-out-ext/, "--without-ext")
elsif name == "libdir"
v_runtime[:libdir] = val[/\$(\(exec_prefix\)|\{exec_prefix\})\/(.*)/, 2]