On 11/17/09 19:06, Mathias Bauer wrote:
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.
Note that for a UNO component library that only exports the three
component_* functions, you do not need the OOO_DLLPUBLIC_* overhead
(what legacy code calls *_DLLPUBLIC, carelessly polluting the macro
namespace), but just SAL_DLLPUBLIC_EXPORT (see
<http://wiki.services.openoffice.org/wiki/Symbol_Visibility>).
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.
One (hopefully minor) point that comes to mind is that SAL_DLLPRVIATE is
a nop on Windows, so there libraries potentially export more than
necessary (and more than if they used carefully crafted map files).
-Stephan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]