<div dir="ltr">Michael,<div><br></div><div>How can I contribute to the gnu-make-lo repo?</div><div><br></div><div>I found an issue that I'd like to commit the fix to.</div><div><br></div><div>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.<br></div><div><br></div><div>The offending logic is in remake.c line 188. I have reproduced the issue and confirmed.</div><div><br></div><div>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).</div><div><br></div><div>Also, we might merge with 4.1, but that's a different matter.</div><div><br></div><div>Let me know what you think.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 12, 2015 at 11:06 AM, Michael Stahl <span dir="ltr"><<a href="mailto:mstahl@redhat.com" target="_blank">mstahl@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 12.02.2015 15:35, Pavel Laštovička wrote:<br>
> Dne 12.2.2015 v 14:08 Michael Stahl napsal(a):<br>
<span class="">>> On 12.02.2015 13:43, Pavel Laštovička wrote:<br>
</span><span class="">>>> I installed newer Windows and trying to set up a build environment again. Wiki says<br>
>>> I need this make<br>
>>> <a href="http://dev-www.libreoffice.org/bin/cygwin/make" target="_blank">http://dev-www.libreoffice.org/bin/cygwin/make</a><br>
>> which Wiki page contains this obsolete information?<br>
>><br>
</span>>> <a href="http://dev-www.libreoffice.org/bin/cygwin/make-85047eb-msvc.exe" target="_blank">http://dev-www.libreoffice.org/bin/cygwin/make-85047eb-msvc.exe</a><br>
> <a href="https://wiki.documentfoundation.org/Development/Windows_Build_Dependencies" target="_blank">https://wiki.documentfoundation.org/Development/Windows_Build_Dependencies</a><br>
><br>
> says the native make works only from 4.4 up. I am going to compile 4.3 version.<br>
<br>
oh of course - i was assuming you're building master.<br>
<br>
the "make" binary is 32-bit, if you install a 64-bit cygwin it won't run<br>
but you can build from source from this repo:<br>
<br>
git://<a href="http://gerrit.libreoffice.org/gnu-make-lo.git" target="_blank">gerrit.libreoffice.org/gnu-make-lo.git</a><br>
<br>
<a href="https://gerrit.libreoffice.org/gitweb?p=gnu-make-lo.git;a=summary" target="_blank">https://gerrit.libreoffice.org/gitweb?p=gnu-make-lo.git;a=summary</a><br>
<br>
try the "gnu-make-lo-4.0" branch, build and copy to /opt/lo/make<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
LibreOffice mailing list<br>
<a href="mailto:LibreOffice@lists.freedesktop.org">LibreOffice@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/libreoffice" target="_blank">http://lists.freedesktop.org/mailman/listinfo/libreoffice</a><br>
</div></div></blockquote></div><br></div>