Hi,

I'm working on OpenOffice.org and we are currently reworking our build system. Our current combo of dmake and some home made perl scripts shall be replaced by GNU Make and a few awk scripts.

We finished our work for building C++/C/Objective-C code and now use this on Windows, Linux, Solaris, MacOSX, FreeBSD in some of our modules where new make files already have been written. On Windows we have a mingw port and a cygwin port.

On all platforms we are using GNU Make 3.81. It works fine in most cases, but on cygwin we got some crashes when building in parallel with -j. The reason is

http://savannah.gnu.org/bugs/?20033

This bug was fixed already in upstream GNU Make and the fix was integrated into the 3.82 release. As we never got one of these crashes on Linux, it seems that the Linux distros have integrated this patch into their 3.81 releases. An upgrade to 3.82 would fix that for cygwin also. As I understood from reading here, there are plans to update the cygwin Make package to 3.82.

So far, so good.

But when we tried to use a 3.82 version we built from the official source package ourselves, we found a serious performance problem in this version. This problem is in the cygwin version only, not in the Linux version. As an example, we have a module where checking dependencies with 3.81 takes approximately 5 seconds on cygwin (less than 2 seconds on Linux BTW), with 3.82 it took 1:30 minutes. So I'm afraid that waiting for 3.82 won't be an option for us.

For future plans it would be interesting for us to know if a patch we provided to fix that performance issue (so far we don't have this patch) would have a chance to get integrated into the official cygwin package. If not, we have to build our own make.exe anyway and probably would stick with a patched 3.81.

Best regards,
Mathias


--
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

Reply via email to