From: masamitsu.murase@... Date: 2014-08-16T07:54:33+00:00 Subject: [ruby-core:64414] [ruby-trunk - Bug #10145] [Open] win32/configure.bat should have CRLF eol-style. Issue #10145 has been reported by Masamitsu Murase. ---------------------------------------- Bug #10145: win32/configure.bat should have CRLF eol-style. https://bugs.ruby-lang.org/issues/10145 * Author: Masamitsu Murase * Status: Open * 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 -- https://bugs.ruby-lang.org/