deps etc.

Lubos Lunak l.lunak at suse.cz
Thu Jan 31 05:33:16 PST 2013


On Thursday 31 of January 2013, Michael Stahl wrote:
> On 31/01/13 08:01, Michael Meeks wrote:
> > Hi guys,
> >
> > 	I was digging for the latest information on the size cost of our
> > dependencies, and was interested to see things like:
> >
> > 	workdir/unxlngi6.pro/Dep/LinkTarget/Library/libfwklo.so.d
> >
> > 	contain only lots of:
> >
> > /data/opt/libreoffice/master/workdir/unxlngi6.pro/CxxObject/framework/sou
> >rce/accelerators/globalacceleratorconfiguration.o :$(gb_Helper_PHONY)
> > /data/opt/libreoffice/master/workdir/unxlngi6.pro/CxxObject/framework/sou
> >rce/accelerators/keymapping.o :$(gb_Helper_PHONY)
...
> > 	It seems some clever person deferred the dependency generation until an
> > incremental build is done (?) :-) I assume that accelerates the
> > straight-through build too (?).
>
> actually it makes a full build from scratch slower, expecially on
> Windows writing thousands of .d files takes several minutes.

 It's not as bad when using the patched make (and it's slow because of process 
forking, making concat-deps a make builtin would presumably make that as fast 
as on Linux).

> the advantage is that you can do a partial build; with the old way of
> doing things every object file in every module was built to include the
> .d file even when you only want something like "make comphelper.all".

 Are you sure about this? From what I remember when doing the builtins for 
make, all .d files are first created with dummy content, so having or not 
having the LinkTarget .d files doesn't change anything there.

 As far as I understand it, the purpose of LinkTarget .d files is reading less 
files - gbuild includes only LinkTarget .d, not object .d files . And 
LinkTarget .d files are dummies (just like object .d files) during the first 
build, during that build object .d files are updated while building the 
targets, and before second build LinkTarget .d files are created from 
object .d using concat-deps.

-- 
 Lubos Lunak
 l.lunak at suse.cz


More information about the LibreOffice mailing list