make-w32
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]