Re: [Libreoffice] make experts: progress information?

2011-10-21 Thread Michael Meeks

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?

2011-10-21 Thread Kevin Hunter

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?

2011-10-21 Thread Bjoern Michaelsen
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?

2011-10-20 Thread Stephan Bergmann

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?

2011-10-20 Thread Tor Lillqvist
 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?

2011-10-20 Thread Michael Meeks
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?

2011-10-20 Thread Tor Lillqvist
  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?

2011-10-20 Thread Jan Holesovsky
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?

2011-10-20 Thread Bjoern Michaelsen
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?

2011-10-20 Thread Norbert Thiebaud
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?

2011-10-20 Thread Bjoern Michaelsen
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?

2011-10-20 Thread Lubos Lunak
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?

2011-10-20 Thread Bjoern Michaelsen
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?

2011-10-19 Thread Kevin Hunter

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