Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


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@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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.