summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rwxr-xr-xtool/mkconfig.rb6
-rwxr-xr-xwin32/configure.bat54
3 files changed, 36 insertions, 31 deletions
diff --git a/ChangeLog b/ChangeLog
index 087684206a..87c467fa0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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