diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rwxr-xr-x | tool/mkconfig.rb | 7 |
2 files changed, 12 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Tue Feb 26 15:12:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * 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. + Tue Feb 26 15:04:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (unexpand_shvar): get rid of non-portable shell diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb index a37aaa8330..79ba0454e3 100755 --- a/tool/mkconfig.rb +++ b/tool/mkconfig.rb @@ -117,7 +117,12 @@ File.foreach "config.status" do |line| eq = win32 && vars[name] ? '<< "\n"' : '=' vars[name] = val 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") end val = val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump |