Frank Schoenheit, Sun Microsystems Germany wrote:

> Hi Bjoern
> 
>> - map files
>> - explicitly setting a compiler flag in the make file
>> - XX_DLL_EXPORT/XX_DLL_IMPORT/XX_DLL_PRIVATE and friends
>> 
>> However, using the XX_DLL_PRIVATE and friends should be "enough for
>> everyone", right?
> 
> At least we'd need a makefile-clause for setting a default, /me thinks.
> 
> For instance, for libs exporting the usual three UNO entry points
> component_*, I would like to have a "make everything private" directive,
> plus a PUBLIC statement for the three functions.

That's possible with declaring the three fucntions XX_DLL_PUBIC and - as
Björn suggested - defaulting everything else to private.

> For other libs, which mainly provide tools for client code, a "make
> everything public" directive would be useful.

We have been there and it wasn't a good experience. There are always
some functions that shouldn't be exported. All libraries that are
candidates for "exporting most" (not everything) AFAIK are using the
XX_DLL_PRIVATE/PUBLIC stuff already, especially the "big ones" like svx
etc. So currently we have no such library. The alternative to the
XX_DLL_PUBLIC/PRIVATE directives btw. was using LDUMP and filter lists.
That's something we definitely should remove.

> Which means that you'd still need 2 of the 3 mechanisms, and the only
> thing you could spare are the map files. Not sure this would be worth
> the effort.

So far I haven't seen any case where the XX_DLL_ stuff wouldn't work. So
we are still waiting for such an example.

Ciao,
Mathias

-- 
Mathias Bauer (mba) - Project Lead OpenOffice.org Writer
OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS
Please don't reply to "[email protected]".
I use it for the OOo lists and only rarely read other mails sent to it.


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

Reply via email to