Re: [Libreoffice] make experts: progress information?
On Thu, 2011-10-20 at 14:20 -0400, Kevin Hunter wrote: That said, I anecdotally note on my limited-in-hardware machine, that a consecutive run of make is almost instantaneous. Would a make -pn really be that expensive? Try running a no-op incremental make in tail_build :-) it's more like 30+ seconds: now that of course also needs some love, and it is some reasonably fun pure comp-sci type problem with no real need to understand any of the LibO code-base; if someone wants an easy hack ;-) ATB, Michael. -- michael.me...@suse.com , Pseudo Engineer, itinerant idiot ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
At 5:16am -0400 Fri, 21 Oct 2011, Michael Meeks wrote: On Thu, 2011-10-20 at 14:20 -0400, Kevin Hunter wrote: That said, I anecdotally note on my limited-in-hardware machine, that a consecutive run of make is almost instantaneous. Would a make -pn really be that expensive? Try running a no-op incremental make in tail_build :-) it's more like 30+ seconds: now that of course also needs some love, and it is some reasonably fun pure comp-sci type problem with no real need to understand any of the LibO code-base; if someone wants an easy hack ;-) Kevin: 0 Everyone else: 1 Touché, Kevin ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
Hi all, On Fri, Oct 21, 2011 at 10:16:07AM +0100, Michael Meeks wrote: Try running a no-op incremental make in tail_build :-) it's more like 30+ seconds: Only with gb_CHECKOBJECTOWNER=T otherwise its down to 10 seconds in tail_build, which is likely mostly stat'ing. Anyway: I implemented a make countoutdated proof-of-concept: http://cgit.freedesktop.org/libreoffice/core/commit/?id=05a33692a084f59f2fae0a535131133d2a3f6b72 http://cgit.freedesktop.org/libreoffice/core/commit/?id=8ee4e99a78a7a7f16bafa56e08ef9649cc69dbdb which does not add much complexity to the existing build system by being an extension. Now you can do: make countoutdated make countoutdated check make countoutdated build to quickly check etc. how many files would get rebuild in workdir right now. Of course, that _could_ be easily used to create some progress counters, if one doesnt mind the ten extra seconds. For example it shows that touching sw/inc/doc.hxx causes: $ make countoutdated -W `readlink -f sw/inc/doc.hxx` CxxObject: 393 Module: 39 LinkTarget: 9 RdbTarget: 8 CppunitTest: 9 to be rebuild. It also shows there is still something very wrong about generated headers in oox. Best, Bjoern ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
On 10/20/2011 07:35 AM, Kevin Hunter wrote: Beyond myself, are others interested in having a finer-grained indication of where is the build currently in the whole process?? Honestly, I'm not. Please don't add too much magic to make the build output nicer. It does get in your way, sooner or later. (And I also --disable-zenity, as it IMO just adds noise.) -Stephan ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
Honestly, I'm not. Please don't add too much magic to make the build output nicer. It does get in your way, sooner or later. (And I also --disable-zenity, as it IMO just adds noise.) +1 (as they say on the AOOo list...) --tml ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
Hi Kevin, On Thu, 2011-10-20 at 01:35 -0400, Kevin Hunter wrote: Is it possible to get subproject build progress information dynamically from make ? Among other things, moving all projects to tail_build currently reduces the usefulness of the Zenity SVG clock build progress meter. I'm looking at snippets like Clearly lots of people appreciate the zenity build-progress thing, and those that don't like it already turn it off, so it'd be fine to improve it in :-) Which is a sexy command line solution for a single Makefile. What I don't know is how well something like this could be implemented for our many scattered makefiles. Well - the problem with this is that (by design) tail_build is a single make instance that compiles ~all of LibreOffice :-) As you say, that does break the usefulness of the zenity output - but it also makes it really rather hard to extract the progress information I'm afraid. Beyond myself, are others interested in having a finer-grained indication of where is the build currently in the whole process?? Of course; the question really is how best to do that. There is a fairly firm consensus against building our own gnumake, so - I wonder what ways we could use to extract the information. Clearly having build.pl parse and interpret the compile output might be one approach, but it's unclear from a tail_build 'make' how many files will require re-compilation (though make knows that after it has done it's big dependency thrash at the beginning). So - it prolly requires quite some thought :-) HTH, Michael. -- michael.me...@suse.com , Pseudo Engineer, itinerant idiot ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
Of course; the question really is how best to do that. There is a fairly firm consensus against building our own gnumake, OTOH, we do already have our own patched gnumake sources, for those that want those new debugging options; we could relatively easily add the feature to it that it prints out (in some format, to some file descriptor or whatever) how far it is, and then those that want such a feature could just build and use our own gnumake... (No, I am not volunteering;) --tml ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
Hi Michael, On 2011-10-20 at 09:13 +0100, Michael Meeks wrote: Of course; the question really is how best to do that. There is a fairly firm consensus against building our own gnumake, so - I wonder what ways we could use to extract the information. So I think we could do it even without patching gnumake ;-) I'd just increment a global variable in in every gb_LinkTarget_add_* (solenv/gbuild/LinkTarget.mk) - that way we'd get the sum of how many 'things' to do; and then the progress would be tracked in gb_Output_announce (solenv/gbuild/Output.mk), by incrementing another variable. Most probably it wouldn't be 100% precise, but good enough for zenity? Regards, Kendy ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
On Thu, Oct 20, 2011 at 02:25:33PM +0200, Jan Holesovsky wrote: So I think we could do it even without patching gnumake ;-) I'd just increment a global variable in in every gb_LinkTarget_add_* (solenv/gbuild/LinkTarget.mk) - that way we'd get the sum of how many 'things' to do; and then the progress would be tracked in gb_Output_announce (solenv/gbuild/Output.mk), by incrementing another variable. Most probably it wouldn't be 100% precise, but good enough for zenity? That would work well for full builds, but not for incremental ones. Best, Bjoern ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
On Thu, Oct 20, 2011 at 7:56 AM, Bjoern Michaelsen bjoern.michael...@canonical.com wrote: On Thu, Oct 20, 2011 at 02:25:33PM +0200, Jan Holesovsky wrote: So I think we could do it even without patching gnumake ;-) I'd just increment a global variable in in every gb_LinkTarget_add_* (solenv/gbuild/LinkTarget.mk) - that way we'd get the sum of how many 'things' to do; and then the progress would be tracked in gb_Output_announce (solenv/gbuild/Output.mk), by incrementing another variable. Most probably it wouldn't be 100% precise, but good enough for zenity? That would work well for full builds, but not for incremental ones. maybe doing a similar things but based on $W/Module/foo count the modules to be built (makafile loaded) and count the 'touch' to $W/Module/* that should give the same granularity level that the old-dmake based with zenity Norbert ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
On Thu, Oct 20, 2011 at 08:08:53AM -0500, Norbert Thiebaud wrote: maybe doing a similar things but based on $W/Module/foo count the modules to be built (makafile loaded) and count the 'touch' to $W/Module/* that should give the same granularity level that the old-dmake based with zenity Yes, but that is usually not really that useful as gbuild does not wait to complete one module before starting the next. You usually see gbuild compiling a lot of stuff and only at the end it links and touches the module touchtargets. So you would see very slow progress, and then it suddenly explodes to the finishline. Best, Bjoern ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
On Thursday 20 of October 2011, Bjoern Michaelsen wrote: On Thu, Oct 20, 2011 at 08:08:53AM -0500, Norbert Thiebaud wrote: maybe doing a similar things but based on $W/Module/foo count the modules to be built (makafile loaded) and count the 'touch' to $W/Module/* that should give the same granularity level that the old-dmake based with zenity Yes, but that is usually not really that useful as gbuild does not wait to complete one module before starting the next. You usually see gbuild compiling a lot of stuff and only at the end it links and touches the module touchtargets. So you would see very slow progress, and then it suddenly explodes to the finishline. Cmake somehow manages to have a progress indication that works quite reasonably, but I have no idea how it does that, whoever wants this would need to examine the makefiles it generates. -- Lubos Lunak l.lu...@suse.cz ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] make experts: progress information?
On Thu, Oct 20, 2011 at 04:45:25PM +0200, Lubos Lunak wrote: Cmake somehow manages to have a progress indication that works quite reasonably, but I have no idea how it does that, whoever wants this would need to examine the makefiles it generates. As said: It can be done rather simple with an one extra make run ... Best, Bjoern ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice] make experts: progress information?
Hi LO Make experts, Is it possible to get subproject build progress information dynamically from Make? Among other things, moving all projects to tail_build currently reduces the usefulness of the Zenity SVG clock build progress meter. I'm looking at snippets like http://snippets.dzone.com/posts/show/6843 Which is a sexy command line solution for a single Makefile. What I don't know is how well something like this could be implemented for our many scattered makefiles. Beyond myself, are others interested in having a finer-grained indication of where is the build currently in the whole process?? Kevin ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice