Forum: Ruby-core [Rejected] win32/configure.bat should have CRLF eol-style.

F1d6cc2b735bfd82c8773172da2aeab9?d=identicon&s=25 Nobuyoshi Nakada (nobu)
on 2014-08-16 13:48
(Received via mailing list)
Issue #10145 has been updated by Nobuyoshi Nakada.

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.

----------------------------------------
Bug #10145: win32/configure.bat should have CRLF eol-style.
https://bugs.ruby-lang.org/issues/10145#change-48373

* Author: Masamitsu Murase
* Status: Rejected
* Priority: Normal
* Assignee:
* Category:
* Target version:
* ruby -v: ruby 2.2.0dev (2014-08-16 trunk 47200) [i386-mswin32_100]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
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
This topic is locked and can not be replied to.