From b3d2b56d2b92af712501ebb1bd5a1b7c06dbe1d3 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 26 Feb 2013 06:12:17 +0000 Subject: [PATCH] mkconfig.rb: reconstruct comma separated list values * 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ tool/mkconfig.rb | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 79f26fd65b..31ae0ffa5a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Feb 26 15:12:11 2013 Nobuyoshi Nakada + + * 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 * 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