[Libreoffice] [GSoC] library merging

Michael Meeks michael.meeks at novell.com
Mon Jun 27 04:20:31 PDT 2011


Hi Matus,

On Sat, 2011-06-25 at 16:21 +0200, Matúš Kukan wrote:
> Well, that seems to be true. I haven't look at all yet. There is about
> 240 of them.

	Heh :-) hopefully a ./g grep -6 component_getImple # will show you most
of them rather quickly.

> But sometimes there also exist things like in:
> http://opengrok.libreoffice.org/xref/components/extensions/source/preload/services.cxx#59
> That doesn't seem interesting to me, but I don't know, maybe it
> actually does something relevant.

	Ooh - you discovered some more junk code - nice. It would be wonderful
if you could hunt down and kill any uses of this 'preload' code - we
don't do OEM preloads, similarly we don't have product registration
either so killing both of these components and their related scp2/ would
be nice:

STD_LIB_FILE( gid_File_Lib_Preload, preload)
SPECIAL_COMPONENT_LIB_FILE( gid_File_Lib_Productregistration, productregistration.uno )

	would help to shrink the codebase, distributed binary size and compile
time.

> And default is: throw loader::CannotActivateFactoryException.
> There always has to be some function.

	Ok - but lets just not require this. AFAICS there is no good reason not
to default to the C++ / current-language-binding-name for that.

> So, if CPPU_CURRENT_LANGUAGE_BINDING_NAME can be also defined in
> shlib, we could use that directly to set the variable.

	Right, it should be:

cppu/inc/uno/lbnames.h:#define  CPPU_CURRENT_LANGUAGE_BINDING_NAME CPPU_STRINGIFY( CPPU_ENV )

> I may be missing something but if not I'd just remove
> component_getImplementationEnvironment if it is not doing something
> special and set the variable directly in shlib.

	I don't think you're missing anything :-) Also I've never seen this
'getImplementationEnvironmentExt' method used - and it is another pretty
pointless (slowish) dlsym lookup on activating a component - it seems to
be the case that this is to allow people to have a different language
for several components they might export.

	For 4.0 I think we want a single entry point, and if we want this
goodness, surely we can add it to the XML annotation more cleanly, I've
added it to the wiki page to track.

	Thanks,

		Michael.

-- 
 michael.meeks at novell.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list