Make.exe for Cygwin

Ashod Nakashian ashnakash at gmail.com
Tue Feb 24 04:50:05 PST 2015


Michael,

How can I contribute to the gnu-make-lo repo?

I found an issue that I'd like to commit the fix to.

After tracing for the reason for intermittent failures to generate VS IDE
files, I found that when invoking make on the same Makefile more than once
in a row (i.e. when the first make call spawns another instance on the same
Makefile,) make breaks randomly. The reason is that for each run make does
"touch Makefile". When this happens in rapid succession the second touch
doesn't update the modify time (mtime) of the file (because it's within the
FS timestamp precision, I assume). End result is that it thinks touch
failed and fails the build.

The offending logic is in remake.c line 188. I have reproduced the issue
and confirmed.

The fix is to detect if a file had been modified within the past second and
delay updating it by up to 1 second. This guarantees that a successful
update to the file will be detected. This doesn't affect the speed in any
observable way, as it's only applied when a file is updated/touched
rapidly. The alternative solution is to implement hi-resolution stat on
Windows, which is much more effort for hardly any gains (over the above
solution).

Also, we might merge with 4.1, but that's a different matter.

Let me know what you think.

On Thu, Feb 12, 2015 at 11:06 AM, Michael Stahl <mstahl at redhat.com> wrote:

> On 12.02.2015 15:35, Pavel Laštovička wrote:
> > Dne 12.2.2015 v 14:08 Michael Stahl napsal(a):
> >> On 12.02.2015 13:43, Pavel Laštovička wrote:
> >>> I installed newer Windows and trying to set up a build environment
> again. Wiki says
> >>> I need this make
> >>> http://dev-www.libreoffice.org/bin/cygwin/make
> >> which Wiki page contains this obsolete information?
> >>
> >> http://dev-www.libreoffice.org/bin/cygwin/make-85047eb-msvc.exe
> >
> https://wiki.documentfoundation.org/Development/Windows_Build_Dependencies
> >
> > says the native make works only from 4.4 up. I am going to compile 4.3
> version.
>
> oh of course - i was assuming you're building master.
>
> the "make" binary is 32-bit, if you install a 64-bit cygwin it won't run
> but you can build from source from this repo:
>
> git://gerrit.libreoffice.org/gnu-make-lo.git
>
> https://gerrit.libreoffice.org/gitweb?p=gnu-make-lo.git;a=summary
>
> try the "gnu-make-lo-4.0" branch, build and copy to /opt/lo/make
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20150224/0eb121c7/attachment.html>


More information about the LibreOffice mailing list