Larry Hall (Cygwin) wrote:
Gene Smith wrote:
<snip>
Going back to beta-1.7 default install that ran fast I noticed that it
was actually using a mingw32 version of "make" from winavr project and
not the cygwin "make". The default cygwin install does not include
make. When I load the cygwin make package and the build uses it (since
cygwin puts its paths ahead of windows path) the build slows way down.
If I remove make from cygwin's /bin it speeds back up (since using the
mingw32 make).
The build referred to above uses a toolchain built for mingw32, not
cygwin's gcc. So as long as make is also built for mingw32 the build
is fast when run from cygwin terminal or dos window. With make being
the cygwin version, the build is slow in all cases.
What does this mean? Am I doing something illegal mixing cygwin and
mingw programs?
Interesting. I'm not sure why using Cygwin's 'make' would slow things
down dramatically when running from a Cygwin terminal or shell. I can
see there being some overhead if that's the only Cygwin process you're
running, since there would be a Cygwin initialization cost to start 'make'
if there were no other Cygwin processes running at the time. I very much
doubt that this would account for the dramatic slow-down you've reported.
So while certainly there's an issue here, it seems like the work-around
you've found is viable. And it does make more sense than mixing and
matching Cygwin and Mingw.
Are you able to reproduce this problem for any kind of package? It
might be helpful to know that building package or tarball 'foo'
demonstrates
the problem.
Larry,
Currently I have 3 embedded projects buildable with cygwin. 2 of them
are slow with cygwin make and ok with a mingw make (winavr's or
codesourcery's cs-make). However, with the 3rd project I see no
difference in speed between "cs-make clean all" and "make clean all"!
This project has no recursive make calls, $(MAKE).
But on the other two that have a speed difference, if I try to run
cygwin make twice in a row, "make clean ; make", I see the error
.dep/main.0.d:1 *** multiple target patterns. Stop.
I have to rm .dep/* to fix it. (These are generated dependency files.)
I think I may have seen a reference to this as a known problem with
cygwin's make but don't know if it is related to speed issue in any way.
Just thought I would point this out.
Also, I might point out that the two projects with speed difference, one
has recursive makes while the other does not.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple