On 05/10/10 09:59, Stephan Bergmann wrote:
On 04/26/10 10:43, Caolán McNamara wrote:
On Sun, 2010-04-25 at 19:44 +0200, Rene Engelhard wrote:
We can only improve things here when we eventually drop the STLport-requirement
(and become URE-incompatible on the affected platforms).

If we continue to build and package into the install sets stlport on
Linux x86, but not actually build OOo itself against it, its quite
likely that stuff will work out ok (i.e. legacy binary x86 extensions
that link against stlport will continue to work) as there's no explicit
use of stl types in the public ure interfaces. Not 100% certain about
that though :-)

I always thought there actually were traces of STLport in the URE ABI, in some obscure corner of it. And I am pretty sure I actually checked that, a long time ago. Anyway, checking on DEV300_m77 unxlngi6, it appears there are no such traces, not in the ABI designated by those dynamic libraries not listed as "private" in ure/source/README (apart from the STLport library itself, of course).

Of course, it turns out that my recent checking was conducted in the wrong way (I simply grepped for traces of STLport-exported symbols in the mangled C++ symbols exported from the URE API libs). Looking more closely, it turns out that the URE ABI *is* tainted by STLport after all:

Classes cppu::OPropertySetHelper (cppuhelper/propshlp.hxx) and cppu::UnoUrlDescriptor and cppu::UnoUrl (both cppuhelper/unourl.hxx) each have a std::auto_ptr member and non-inline constructors etc.

(And even if one would argue that those classes are not used in OOo extensions---which would probably hold true for the UnoUrl stuff, at least---it would still be unsound to recompile URE without STLport: Thanks to three layer OOo extracting out URE, multiple office installations, old and new, can share a single URE installation, and at least OPropertySetHelper is used within non-URE OOo code. The only sound way out of that problem is to change URE incompatibly, which brings us back to where we started...)

:(

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to