Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


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


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.