Bug #10145
closedwin32/configure.bat should have CRLF eol-style.
Description
win32/configure.bat does not parse command line arguments correctly with revision 47015 and later.
For example, "win32\configure.bat --disable-install-doc --prefix=D:\test" outputs invalid "prefix" definition in Makefile.
It seems that this issue is caused by strange behavior of cmd.exe for Bat file, which includes LF eol.
i.e. This issue does not occur with revision 46795 and older.
How to reproduce this issue:
1 Run the following command on command prompt in the root directory of ruby source.
win32\configure.bat --disable-install-doc --prefix=D:\test
2 Then, Makefile contains invalid variable definitions.
"prefix" and "EXTOUT" are invalid.
### Makefile for ruby ###
MAKE = nmake
srcdir = .
prefix = /usr
EXTSTATIC =
RDOCTARGET = nodoc
EXTOUT = D:\test
...
The expected output is the following:
### Makefile for ruby ###
MAKE = nmake
srcdir = .
prefix = D:/test
EXTSTATIC =
RDOCTARGET = nodoc
...
I have not investigated the detail of this strange behavior of cmd.exe, but I think that cmd.exe does not expect LF eol-style.
If there is no specific reason, configure.bat should have CRLF eol instead.
Regards,
Murase
Updated by nobu (Nobuyoshi Nakada) about 10 years ago
- Status changed from Open to Rejected
Masamitsu Murase wrote:
win32/configure.bat does not parse command line arguments correctly with revision 47015 and later.
Reverted by r47017.
Updated by Murase (Masamitsu Murase) about 10 years ago
I'm sorry for confusing you.
I mean that changes for configure.bat in r47015 should be reverted.
(r47017 reverted r47016, not r47015.)
r47015 changed eol-style to LF from CRLF.
This change should be reverted so that cmd.exe can parse configure.bat correctly.
Updated by Murase (Masamitsu Murase) about 10 years ago
Nobuyoshi Nakada wrote:
Masamitsu Murase wrote:
win32/configure.bat does not parse command line arguments correctly with revision 47015 and later.
Reverted by r47017.
I understood the current situation.
r47017 changed eol-style of configure.bat to CRLF from LF, but configure.bat still has "LF" as "svn:eol-style" attribute.
As a result,
- curl http://svn.ruby-lang.org/repos/ruby/trunk/win32/configure.bat -o curl.bat
=> curl.bat has CRLF. - svn export http://svn.ruby-lang.org/repos/ruby/trunk/win32/configure.bat export.bat
=> export.bat has LF.
This behavior may depend on Subversion client...
Is the current behavior expected?
Updated by nobu (Nobuyoshi Nakada) about 10 years ago
- Status changed from Rejected to Open
Thank you for the clarification.
Updated by nobu (Nobuyoshi Nakada) about 10 years ago
- Status changed from Open to Closed