[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mingw make problem
From: |
William A. Hoffman |
Subject: |
Re: mingw make problem |
Date: |
Tue, 22 Aug 2006 08:08:12 -0400 |
At 12:39 AM 8/22/2006, Eli Zaretskii wrote:
>> Seems like the old make used to create a .sh file to run the commands.
>
>That's what I suspected. I don't think we want to go back to the
>batch mode, since it's slower.
>
>So the solution still is to debug what happens on the Cygwin Bash
>side. I thought that someone already figured out the issues and
>implemented the necessary code that kicks in under HAVE_CYGWIN_SHELL,
>but it sounds like your testing disproves that. Perhaps the way
>Cygwin treats command-line arguments has changed since the
>HAVE_CYGWIN_SHELL code was written, I don't know.
>
>Anyway, since the Cygwin build should now support DOS style file
>names, I'm not sure it is worth pursuing this avenue (although if you
>are willing to spend time debugging this, I will gladly help).
>Running Cygwin programs from withing non-Cygwin Make is really asking
>for trouble.
I will look into at some point in the future, but to summarize the issues found:
all:
c:/hoffman/My\ Builds/CMakeDev/Tests/COnly/b/run.exe "a.c" "b.c"
msysmake from an msys prompt works:
$ /c/msys/1.0/bin/make -f mk all
c:/hoffman/My\ Builds/CMakeDev/Tests/COnly/b/run.exe "a.c" "b.c"
command line = {"c:\hoffman\My Builds\CMakeDev\Tests\COnly\b\run.exe" a.c b.c }
argv[0] = {c:\hoffman\My Builds\CMakeDev\Tests\COnly\b\run.exe}
argv[1] = {a.c}
argv[2] = {b.c}
mingw-make with msys sh.exe in the path does this:
$ /c/MinGW/bin/mingw32-make.exe -f mk all
c:/hoffman/My\ Builds/CMakeDev/Tests/COnly/b/run.exe "a.c" "b.c"
/usr/bin/sh: -c: line 3: syntax error: unexpected end of file
mingw-make with cygwin sh.exe in the path does this:
$ /cygdrive/c/MinGW/bin/mingw32-make.exe -f mk all
c:/hoffman/My\ Builds/CMakeDev/Tests/COnly/b/run.exe "a.c" "b.c"
command line = {"c:\hoffman\My Builds\CMakeDev\Tests\COnly\b\run.exe" "a.c b.c"}
argv[0] = {c:\hoffman\My Builds\CMakeDev\Tests\COnly\b\run.exe}
argv[1] = {a.c b.c}
So, I guess you can say running mingw make from a cygwin shell is not supported.
But if you can not run mingw make from an msys shell then what is the point of
looking for sh.exe in the PATH and setting it to be the shell, if it is not
supported?
One more thing, do you think this discussion would be better on the mingw or
msys mailing list?
Thanks for the help.
-Bill