diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rwxr-xr-x | tool/mkconfig.rb | 6 | ||||
-rwxr-xr-x | win32/configure.bat | 54 |
3 files changed, 36 insertions, 31 deletions
@@ -1,3 +1,10 @@ +Sun Mar 31 15:40:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/configure.bat: try to fix option arguments split by commas and + equals here. this batch file no longer run with old command.com. + + * tool/mkconfig.rb: no hacks for cmd.exe. + Sun Mar 31 13:47:04 2013 Tanaka Akira <akr@fsij.org> * numeric.c (rb_num2ulong_internal): New function similar to diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb index 15e2f4f016..07076d491e 100755 --- a/tool/mkconfig.rb +++ b/tool/mkconfig.rb @@ -116,12 +116,6 @@ File.foreach "config.status" do |line| eq = win32 && vars[name] ? '<< "\n"' : '=' vars[name] = val if name == "configure_args" - 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 diff --git a/win32/configure.bat b/win32/configure.bat index 98695ed646..2d63e5a589 100755 --- a/win32/configure.bat +++ b/win32/configure.bat @@ -1,5 +1,6 @@ @echo off
@setlocal disabledelayedexpansion
+set witharg=
echo> ~tmp~.mak ####
echo>> ~tmp~.mak conf = %0
@@ -9,6 +10,7 @@ echo>> ~tmp~.mak @-$(MAKE) -l$(MAKEFLAGS) -f $(@D)/setup.mak \ if exist pathlist.tmp del pathlist.tmp
echo>confargs.tmp #define CONFIGURE_ARGS \
:loop
+set opt=%1
if "%1" == "" goto :end
if "%1" == "--prefix" goto :prefix
if "%1" == "--srcdir" goto :srcdir
@@ -31,23 +33,20 @@ if "%1" == "--extout" goto :extout if "%1" == "--path" goto :path
if "%1" == "--with-baseruby" goto :baseruby
if "%1" == "--with-ntver" goto :ntver
-echo %1| findstr "^--with-.*-dir$" > nul
-if not errorlevel 1 goto :witharg
-echo %1| findstr "^--with-.*-include$" > nul
-if not errorlevel 1 goto :witharg
-echo %1| findstr "^--with-.*-lib$" > nul
-if not errorlevel 1 goto :witharg
-echo %1| findstr "^--with-ext$" > nul
-if not errorlevel 1 goto :witharg
-echo %1| findstr "^--with-extensions$" > nul
-if not errorlevel 1 goto :witharg
-echo %1| findstr "^--without-ext$" > nul
-if not errorlevel 1 goto :witharg
-echo %1| findstr "^--without-extensions$" > nul
-if not errorlevel 1 goto :witharg
+if "%1" == "--without-ext" goto :witharg
+if "%1" == "--without-extensions" goto :witharg
+if "%opt:~0,10%" == "--without-" goto :withoutarg
+if "%opt:~0,7%" == "--with-" goto :witharg
if "%1" == "-h" goto :help
if "%1" == "--help" goto :help
- echo>>confargs.tmp %1 \
+ if "%opt:~0,1%" == "-" (
+ echo>>confargs.tmp %1 \
+ set witharg=
+ ) else if "%witharg" == "" (
+ echo>>confargs.tmp %1 \
+ ) else (
+ echo>>confargs.tmp ,%1\
+ )
shift
goto :loop
:srcdir
@@ -58,31 +57,31 @@ goto :loop goto :loop
:prefix
echo>> ~tmp~.mak "prefix=%~2" \
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
:pprefix
echo>> ~tmp~.mak "PROGRAM_PREFIX=%~2" \
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
:suffix
echo>> ~tmp~.mak "PROGRAM_SUFFIX=%~2" \
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
:installname
echo>> ~tmp~.mak "RUBY_INSTALL_NAME=%~2" \
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
:soname
echo>> ~tmp~.mak "RUBY_SO_NAME=%~2" \
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
@@ -134,31 +133,36 @@ goto :loop goto :loop
:ntver
echo>> ~tmp~.mak "NTVER=%~2" \
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
:extout
echo>> ~tmp~.mak "EXTOUT=%~2" \
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
:path
echo>>pathlist.tmp %~2;\
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
:baseruby
echo>> ~tmp~.mak "BASERUBY=%~2" \
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2 \
shift
shift
goto :loop
:witharg
- echo>>confargs.tmp %1=%2 \
+ echo>>confargs.tmp %1=%2\
+ set witharg=1
+ shift
shift
+goto :loop
+:withoutarg
+ echo>>confargs.tmp %1 \
shift
goto :loop
:help
|