[Libreoffice] "make dev-install -o build" does a complete incremental build

Bjoern Michaelsen bjoern.michaelsen at canonical.com
Mon Dec 5 04:22:16 PST 2011


Hi Lionel,

On Mon, 5 Dec 2011 11:33:45 +0100
Lionel Elie Mamane <lionel at mamane.lu> wrote:

> After "make" in top directory, one is suggested to do
> 
>  make dev-install -o build
> 
> This used to skip the build and just do the dev-install part, but not
> anymore. That's rather annoying, as an incremental build that does
> nothing takes quite some time to notice it has to do nothing (and run
> unittests).

That was an unintended sideeffect of the Makefile.in removal. I know
about (thanks moggi), but do not know a simple fix restoring the old
behavior. 

All the gory details:
We now have a gbuild makefile on the toplevel and I recurses to get the
Env etc. since shm_get implemented that to get rid of the need to
source the Env in the shell. Unfortunately, make does not pass the -o
stuff down during recursion (and I found no way to make it do that as
the -o stuff is not in MAKEFLAGS), so that change broke the use of -o
and possibly quite a few more advanced flags to GNU make. No one
noticed as people rarely seem to use it unless directly suggested to do
so.

Possible workaround:
Creating a quick-dev-install target, that does the same as "dev-install
-o build" and update the docs/hints. 

> Additionally, the incremental build (just after "make" successfully
> finished, no source file touched/changed) relinks quite some libraries
> and JCS/JAR files, I'm not sure why. That too is annoying in itself,
> and makes the above only worse.

For the JCS files it is pretty much unavoidable as the java compiler
has no clear 1:1 file relation between source and class files, so they
have to be rerun. However, IIRC the java compiler does not recompile
stuff it recognized to be up-to-date, but still that is a lot slower
then make itself would be. One could consider to externally generate
deps for JCS, but that is likely fragile too. Better minimize the use
of Java instead ;)

As for the relinking, most of it should be solved with:

http://cgit.freedesktop.org/libreoffice/core/commit/?id=2c4537471c932b65e6f72e41881b505c4bbad12c

Are there other gremlins left?

Best,

Bjoern

-- 
https://launchpad.net/~bjoern-michaelsen


More information about the LibreOffice mailing list