build time optimization

David Ostrovsky d.ostrovsky at idaia.de
Thu May 24 00:23:23 PDT 2012


Hi,

I'm trying to accelerate LO (developer) build on linux_x86-64 system.
Before you point me to wiki (distributed build, ccache and friends)
and tell me to use ramdisk: I already did it all and it is still need to 
be optimized ;-)

There are many disable configure options already, like disable mozilla 
and friends,
and for some libs the combination does the job, like disable xmlsec and 
disable mozilla does disable nss.

Then next step would be not to build external libs during LO build.
There is a magic option: --with-system-libs.
If you try this option on debian based systems (x86_64) you would 
probably end up with
clucene dependency not met error.

Just a matter of installing those two available clucene packages?
Unfortunately not: as it turns out those packages are hopelessly 
outdated (2008).
So, just pick the version, that is shipped with LO, apply the patches in 
clucene directory and
make install and we are done?
Unfortunately not, because the next error probably would be 
clucene-contrib-lib is missing.
As it turns out, there is still one clucene patch missing: to force 
clucene-contrib-lib to be actually installed.
After applying this missing patch to clucene-contrib-lib build file the 
installation was sucessfull,
and then next missing external dependency error appears ;-)

(And with other external libs you would probably end up messing around 
with pkg-config because pc files are missing)

But wait, LO does it already during the build, doesn't it?
It picks up the really fresh external lib, applies his own patches and 
install it to his working dir ...
just to throw it away after make clean ;-(

I'm thinking about another magic configure option, like
--with-external-lib-directory=/opt/libo
this would install all dependend libs to this directory during first 
build and this would *survive* the make clean
call, so the next time all external lib artifacts would be reused from 
there.
The best is, this option would also help to accelerate the build on 
other platforms!

Unfortunately this option would not be so easy to implement, I guess.
Another thoughts on that?

Ciao
David





More information about the LibreOffice mailing list