On 04/09/2013 07:24 PM, Michael Meeks wrote:
On Tue, 2013-04-09 at 15:25 +0200, Matúš Kukan wrote:
So - it should now work in master.
One problem is using ure libraries in libmerged.
javaldx had problems to find libmerged because it's not in ure.

        Right; interesting.

I plan to merge some urelibs and see how it works but that can't be
used in regular builds I am afraid because of compatibility issues.
And maybe some more regular libraries.

        So - it is probable that the GNU linker for Linux at least, tolerates
symlinks very nicely. So, I -suspect- that as long as you create
compatibility symlinks:

        ln -s program/libmerged.so ure/lib/libuno_sal.so.3

        etc. then I imagine the run-time linker will work out they're all the
same (massive) library and link it just once; while ensuring that other
things linked to the original URE (like extensions) carry on working.
But that needs careful testing obviously.

        Of course, that's a Linux-only hack, but ... it might work nicely - I'd
be interested to know :-) It seems to me that the biggest benefits of
LTO would come from in-lining lots of sal/ stuff - string methods etc.

An alternative (for other platforms too) might be to have the various URE interface libraries (sal etc.) be shallow wrappers that link against libmerged and just re-export their part (depending on how elegantly different architectures allow such re-exporting).

This is one place where the split into URE and LO directories may become a nuisance. (It was rather harmless for other scenarios, even helps keeping the URE interface well-defined for extensions, so there's never been much incentive in undoing that.)

Stephan

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to