Hi Kevin,
On Thu, 2011-10-20 at 20:06 -0400, Kevin Hunter wrote:
From the wiki page, one of the concerns is "binary incompatibility". I
assume this is in reference to extensions?
Sure; of course we only export a reasonably small ABI, the 'ure' (big
chunks of which are in-lined C++ methods that call SAL_CALL C functions
that we havn't changed and should cross-compile nicely). The
C++ helper classes (it is hoped) due to windows direct linking, and a
different ABI anyway shouldn't conflict.
My hope was(is) that UNO can shine here (with some tweaks) as a
bridging technology between the ABIs - at some fairly minimal
performance cost. At least, given Stephan's expertise & a little
testing, it "might just work". That would of course mean shipping some
duplicate legacy MSVC++ compiled libraries, but ... surely do-able.
Question: is there merit to moving toward an enforced sub-process model
for extensions ?
It is an interesting idea; of course in theory UNO makes this easy, in
reality - I would scream and run away from cross-process component
usage. Debugging reference leaks / cycles / etc. is bad enough
in-process, never-mind cross-process; or worse between many (external)
components.
3. It would allow extensions to still be built with MSVC, regardless of
what compiler the LO core project uses.
It may well solve this problem of course.
My experience with the debuggability and lifecycle management of the
Bonobo component model (which was heavily cross-process), was really an
extremely negative one, and that on Linux with really fast IPC.
Naturally, if people want to write their extensions that way, they can,
currently I imagine the only related grief is prolly around deployment.
If you're interested in it as a model, it would prolly be worth playing
with the deployment of such extensions. But of course, I personally
think there is much lower hanging fruit in the calc core ;-)
ATB,
Michael.
--
michael.meeks@suse.com <><, Pseudo Engineer, itinerant idiot
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.