autodoc/inc/autodoc/prs_code.hxx                  |    4 
 autodoc/source/exes/adc_uni/adc_cl.cxx            |    5 
 autodoc/source/exes/adc_uni/adc_cmds.cxx          |    1 
 autodoc/source/exes/adc_uni/adc_cmds.hxx          |    1 
 autodoc/source/exes/adc_uni/cmd_run.cxx           |    3 
 autodoc/source/exes/adc_uni/spec-CommandLine.txt  |   11 
 autodoc/source/inc/adc_cl.hxx                     |   10 
 autodoc/source/parser/cpp/prs_cpp.cxx             |   21 +
 autodoc/source/parser/inc/cpp/prs_cpp.hxx         |    4 
 cppuhelper/inc/cppuhelper/access_control.hxx      |    4 
 cppuhelper/inc/cppuhelper/bootstrap.hxx           |   12 
 cppuhelper/inc/cppuhelper/compbase_ex.hxx         |   10 
 cppuhelper/inc/cppuhelper/component.hxx           |    3 
 cppuhelper/inc/cppuhelper/component_context.hxx   |    2 
 cppuhelper/inc/cppuhelper/cppuhelperdllapi.h      |   37 ++
 cppuhelper/inc/cppuhelper/exc_hlp.hxx             |    6 
 cppuhelper/inc/cppuhelper/factory.hxx             |    9 
 cppuhelper/inc/cppuhelper/implbase.hxx            |    8 
 cppuhelper/inc/cppuhelper/implbase_ex.hxx         |   15 -
 cppuhelper/inc/cppuhelper/implementationentry.hxx |    5 
 cppuhelper/inc/cppuhelper/interfacecontainer.h    |    8 
 cppuhelper/inc/cppuhelper/propertysetmixin.hxx    |    3 
 cppuhelper/inc/cppuhelper/propshlp.hxx            |    9 
 cppuhelper/inc/cppuhelper/servicefactory.hxx      |    2 
 cppuhelper/inc/cppuhelper/shlib.hxx               |    3 
 cppuhelper/inc/cppuhelper/stdidlclass.hxx         |    2 
 cppuhelper/inc/cppuhelper/typeprovider.hxx        |    5 
 cppuhelper/inc/cppuhelper/unourl.hxx              |    6 
 cppuhelper/inc/cppuhelper/weak.hxx                |    3 
 cppuhelper/inc/cppuhelper/weakagg.hxx             |    3 
 cppuhelper/inc/cppuhelper/weakref.hxx             |    4 
 cppuhelper/prj/d.lst                              |    1 
 cppuhelper/source/bootstrap.cxx                   |    1 
 cppuhelper/source/makefile.mk                     |    7 
 cppuhelper/source/msvc_win32_intel.map            |  306 ----------------------
 odk/pack/gendocu/makefile.mk                      |    4 
 36 files changed, 186 insertions(+), 352 deletions(-)

New commits:
commit 88cafd9018f405f31e287279ec043e3994a25b51
Author: Damjan Jovanovic <dam...@apache.org>
Date:   Sat Mar 10 09:06:22 2018 +0000

    tr;dr: Don't use .map files for main/cppuhelper on Windows, control
    
    symbol visibility using source-level declarations instead.
    
    C++ symbols are mangled differently on Win64 and Win32, and extracting
    new symbols from binaries and updating .DEF/.map files that control symbol
    visibility is painful. Both Windows and *nix have moved from using .DEF
    and .map files to using declarations in the source code instead, of the
    form __declspec(dllexport) and __attribute__ ((visibility("default")))
    (which we wrap in SAL_DLLPUBLIC_EXPORT).
    
    The GBuild ported modules also have to replace .map files with source code
    declarations (and all so far have), as the default symbol visibility in
    GBuild is "hidden" and GBuild has no mechanism to use .map files so far.
    
    So for the purpose of the Win64 port, but as a generally good idea and a
    necessity for future GBuild ports, re-implement linker symbol visibility
    in main/cppuhelper using SAL_DLLPUBLIC_EXPORT declarations in the source
    code instead of using .map files. The purpose of .map files is to version
    symbols in the ELF binary format on *nix instead of just controlling
    visibility, so they still provide that benefit on *nix, but Windows has no
    symbol versioning, all dmake does with .map files is convert them to
    unversioned .DEF files, which are harder to maintain than source-level
    declarations (as they are both mangled and in a separate file, and have
    to be specified per method instead of only once per class).
    
    This turned out to cause trouble, as our autodoc tool doesn't have a C
    preprocessor, so the "CPPUHELPER_DLLPUBLIC" was breaking generating
    documentation, which was breaking the build due to documentation
    completeness checks in main/odk. Thus main/autodoc had to be patched to
    allow command line parameters passed to it to specify parsing tokens to
    ignore, and main/odk had to be patched to pass "CPPUHELPER_DLLPUBLIC" as
    the token to ignore.
    
    Patch by: me

diff --git a/autodoc/inc/autodoc/prs_code.hxx b/autodoc/inc/autodoc/prs_code.hxx
index cf5b5e392d1c..18e476871db7 100644
--- a/autodoc/inc/autodoc/prs_code.hxx
+++ b/autodoc/inc/autodoc/prs_code.hxx
@@ -58,7 +58,9 @@ class CodeParser_Ifc
     virtual void        Setup(
                             ary::Repository &   o_rRepository,
                             const autodoc::DocumentationParser_Ifc &
-                                                i_rDocumentationInterpreter ) 
= 0;
+                                                i_rDocumentationInterpreter,
+                            const ::std::vector<String> &
+                                                ignoreDefines ) = 0;
 
     virtual void        Run(
                             const autodoc::FileCollector_Ifc &
diff --git a/autodoc/source/exes/adc_uni/adc_cl.cxx 
b/autodoc/source/exes/adc_uni/adc_cl.cxx
index ce62c61cc7e0..1b0d217aac63 100644
--- a/autodoc/source/exes/adc_uni/adc_cl.cxx
+++ b/autodoc/source/exes/adc_uni/adc_cl.cxx
@@ -355,6 +355,11 @@ CommandLine::do_Init( int                 argc,
             do_clCreateHtml(it,itEnd);
         else if (*it == command::C_opt_SinceFile)
             do_clSinceFile(it,itEnd);
+        else if (*it == command::C_opt_IgnoreDefine)
+        {
+            AddIgnoreDefine(*(++it));
+            ++it;
+        }
         else if (*it == command::C_opt_ExternNamespace)
         {
             sExternNamespace = *(++it);
diff --git a/autodoc/source/exes/adc_uni/adc_cmds.cxx 
b/autodoc/source/exes/adc_uni/adc_cmds.cxx
index 5df023ac911b..91caf0a7224d 100644
--- a/autodoc/source/exes/adc_uni/adc_cmds.cxx
+++ b/autodoc/source/exes/adc_uni/adc_cmds.cxx
@@ -65,6 +65,7 @@ extern const String C_opt_DevmanRoot("-dvgroot");
 //extern const String C_opt_Load("-load");
 //extern const String C_opt_Save("-save");
 
+extern const String C_opt_IgnoreDefine("-ignoredefine");
 extern const String C_opt_ExternNamespace("-extnsp");
 extern const String C_opt_ExternRoot("-extroot");
 
diff --git a/autodoc/source/exes/adc_uni/adc_cmds.hxx 
b/autodoc/source/exes/adc_uni/adc_cmds.hxx
index 272bf2bda1c7..30554471436f 100644
--- a/autodoc/source/exes/adc_uni/adc_cmds.hxx
+++ b/autodoc/source/exes/adc_uni/adc_cmds.hxx
@@ -100,6 +100,7 @@ extern const String C_opt_DevmanRoot;
 //extern const String C_opt_Load;
 //extern const String C_opt_Save;
 
+extern const String C_opt_IgnoreDefine;
 extern const String C_opt_ExternNamespace;
 extern const String C_opt_ExternRoot;
 
diff --git a/autodoc/source/exes/adc_uni/cmd_run.cxx 
b/autodoc/source/exes/adc_uni/cmd_run.cxx
index 1399ecad21bb..4bbcd163d32f 100644
--- a/autodoc/source/exes/adc_uni/cmd_run.cxx
+++ b/autodoc/source/exes/adc_uni/cmd_run.cxx
@@ -173,7 +173,8 @@ Parser::Create_CppParser()
     pCppDocuInterpreter = ParseToolsFactory().Create_DocuParser_AutodocStyle();
 
     pCppParser->Setup( CommandLine::Get_().TheRepository(),
-                       *pCppDocuInterpreter );
+                       *pCppDocuInterpreter,
+                       CommandLine::Get_().IgnoreDefines() );
 }
 
 void
diff --git a/autodoc/source/exes/adc_uni/spec-CommandLine.txt 
b/autodoc/source/exes/adc_uni/spec-CommandLine.txt
index a2973e372226..9a8b29577bd5 100644
--- a/autodoc/source/exes/adc_uni/spec-CommandLine.txt
+++ b/autodoc/source/exes/adc_uni/spec-CommandLine.txt
@@ -26,6 +26,7 @@
 autodoc [-v <level>]
         -html <out>
         [-extroot <externroot> -extnsp <externnamespace>]
+        [-ignoredefine <PreprocessorDefinition>]
         -lg <proglang>
         [-t <sourcetree>[ <sourcetree> ...]
         [-d <sourcedir>[ <sourcedir> ...]
@@ -38,6 +39,16 @@ autodoc [-v <level>]
     -lg <ProgrammingLanguage>
         Allowed values: "c++" or "idl"
 
+    -ignoredefine <PreprocessorDefinition>
+        Only together with "-lg c++".
+        Ignore the given preprocessor definition when parsing the
+        source code. This is necessary as autodoc doesn't have a
+        C/C++ preprocessor, so it will get confused if it sees a
+        preprocessor definition somewhere it doesn't expect one,
+        and won't parse that code. For example in
+        "class CPPUHELPER_DLLPUBLIC UnoUrl"
+        you need to pass it "-ignoredefine CPPUHELPER_DLLPUBLIC".
+
     -extroot <externroot>
         Only together with "-lg idl" and -extnsp.
         Links to code entities not found within the current parsed
diff --git a/autodoc/source/inc/adc_cl.hxx b/autodoc/source/inc/adc_cl.hxx
index 96631da0fb00..b73324dad351 100644
--- a/autodoc/source/inc/adc_cl.hxx
+++ b/autodoc/source/inc/adc_cl.hxx
@@ -32,6 +32,8 @@
     // COMPONENTS
     // PARAMETERS
 
+#include <vector>
+
 namespace ary
 {
     class Repository;
@@ -75,6 +77,9 @@ class CommandLine : public csv::CommandLine_Ifc
     const String &      DisplayOf_SinceTagValue(
                             const String &      i_sVersionNumber ) const;
 
+    const ::std::vector<String> & IgnoreDefines() const
+                                                { return ignoreDefines; }
+
         // extern IDL links
     const String &      ExternRoot() const      { return sExternRoot; }
     const String &      ExternNamespace() const { return sExternNamespace; }
@@ -83,6 +88,9 @@ class CommandLine : public csv::CommandLine_Ifc
     bool                IdlUsed() const         { return bIdl; }
 
     // ACCESS
+    void                AddIgnoreDefine(
+                            const String& define)
+                                                { 
ignoreDefines.push_back(define); }
     static CommandLine &
                         Get_();
     void                Set_ExternRoot(
@@ -147,6 +155,8 @@ class CommandLine : public csv::CommandLine_Ifc
     command::CreateHtml *
                         pCommand_CreateHtml;
 
+    ::std::vector<String> ignoreDefines;
+
     String              sExternRoot;
     String              sExternNamespace;
 
diff --git a/autodoc/source/parser/cpp/prs_cpp.cxx 
b/autodoc/source/parser/cpp/prs_cpp.cxx
index 7e5beff49ab9..f222011beb7f 100644
--- a/autodoc/source/parser/cpp/prs_cpp.cxx
+++ b/autodoc/source/parser/cpp/prs_cpp.cxx
@@ -56,7 +56,7 @@ class Udk_MacroMap
   public:
     typedef std::map< String , DefineDescription* > Data;
 
-                        Udk_MacroMap();
+                        Udk_MacroMap(const ::std::vector<String>& 
ignoreDefines);
                         ~Udk_MacroMap();
 
     const Data &        GetData() const         { return aData; }
@@ -76,7 +76,9 @@ struct S_RunningData
                             S_RunningData(
                                 ary::Repository &   o_rRepository,
                                 const autodoc::DocumentationParser_Ifc &
-                                                    
i_rDocumentationInterpreter );
+                                                    
i_rDocumentationInterpreter,
+                                const ::std::vector<String> &
+                                                    ignoreDefines );
 };
 
 
@@ -93,9 +95,10 @@ Cpluplus_Parser::~Cpluplus_Parser()
 
 void
 Cpluplus_Parser::Setup( ary::Repository &                        o_rRepository,
-                        const autodoc::DocumentationParser_Ifc & 
i_rDocumentationInterpreter )
+                        const autodoc::DocumentationParser_Ifc & 
i_rDocumentationInterpreter,
+                        const ::std::vector<String>            & ignoreDefines 
)
 {
-    pRunningData = new S_RunningData(o_rRepository, 
i_rDocumentationInterpreter);
+    pRunningData = new S_RunningData(o_rRepository, 
i_rDocumentationInterpreter, ignoreDefines);
 }
 
 void
@@ -131,10 +134,11 @@ Cpluplus_Parser::Run( const autodoc::FileCollector_Ifc &  
  i_rFiles )
 }
 
 S_RunningData::S_RunningData( ary::Repository &                        
o_rRepository,
-                              const autodoc::DocumentationParser_Ifc & 
i_rDocumentationInterpreter )
+                              const autodoc::DocumentationParser_Ifc & 
i_rDocumentationInterpreter,
+                              const ::std::vector<String>            & 
ignoreDefines )
     :   aFileContent(),
         rCppGate( o_rRepository.Gate_Cpp() ),
-        aMacros(),
+        aMacros( ignoreDefines ),
         aDealer(o_rRepository.Gate_Cpp()),
         aTkp( * i_rDocumentationInterpreter.Create_DocuContext() )
 {
@@ -144,7 +148,7 @@ S_RunningData::S_RunningData( ary::Repository &             
           o_rReposi
 }
 
 
-Udk_MacroMap::Udk_MacroMap()
+Udk_MacroMap::Udk_MacroMap( const ::std::vector<String> & ignoreDefines )
 {
     String  sSAL_CALL("SAL_CALL");
     String  sSAL_CALL_ELLIPSE("SAL_CALL_ELLIPSE");
@@ -206,6 +210,9 @@ Udk_MacroMap::Udk_MacroMap()
         = new DefineDescription(sSAL_EXCEPTION_DLLPUBLIC_EXPORT, aEmpty);
     aData[sSAL_EXCEPTION_DLLPRIVATE]
         = new DefineDescription(sSAL_EXCEPTION_DLLPRIVATE, aEmpty);
+
+    for (size_t index = 0; index != ignoreDefines.size(); ++index)
+        aData[ignoreDefines[index]] = new 
DefineDescription(ignoreDefines[index], aEmpty);
 }
 
 Udk_MacroMap::~Udk_MacroMap()
diff --git a/autodoc/source/parser/inc/cpp/prs_cpp.hxx 
b/autodoc/source/parser/inc/cpp/prs_cpp.hxx
index abb2fa8ac131..03594ef8d9d9 100644
--- a/autodoc/source/parser/inc/cpp/prs_cpp.hxx
+++ b/autodoc/source/parser/inc/cpp/prs_cpp.hxx
@@ -47,7 +47,9 @@ class Cpluplus_Parser : public autodoc::CodeParser_Ifc
     virtual void        Setup(
                             ary::Repository &   o_rRepository,
                             const autodoc::DocumentationParser_Ifc &
-                                                i_rDocumentationInterpreter );
+                                                i_rDocumentationInterpreter,
+                            const ::std::vector<String> &
+                                                ignoreDefines );
 
     virtual void        Run(
                             const autodoc::FileCollector_Ifc &
diff --git a/cppuhelper/inc/cppuhelper/access_control.hxx 
b/cppuhelper/inc/cppuhelper/access_control.hxx
index 53afcdd783ef..54964ec87ef2 100644
--- a/cppuhelper/inc/cppuhelper/access_control.hxx
+++ b/cppuhelper/inc/cppuhelper/access_control.hxx
@@ -26,13 +26,15 @@
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/security/XAccessController.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 
 namespace cppu
 {
 
 /** Helper class retriving access controller singleton from component context.
 */
-class AccessControl
+class CPPUHELPER_DLLPUBLIC AccessControl
 {
     ::com::sun::star::uno::Reference< 
::com::sun::star::security::XAccessController > m_xController;
 
diff --git a/cppuhelper/inc/cppuhelper/bootstrap.hxx 
b/cppuhelper/inc/cppuhelper/bootstrap.hxx
index e222164f1b36..2b28624620b5 100644
--- a/cppuhelper/inc/cppuhelper/bootstrap.hxx
+++ b/cppuhelper/inc/cppuhelper/bootstrap.hxx
@@ -29,6 +29,8 @@
 #include "rtl/ustring.hxx"
 #include "sal/types.h"
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 namespace com { namespace sun { namespace star {
     namespace container { class XHierarchicalNameAccess; }
     namespace registry { class XSimpleRegistry; }
@@ -43,6 +45,7 @@ namespace cppu
     @rBootstrapPath optional bootstrap path for initial components
     @return simple registry service instance
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry >
 SAL_CALL createSimpleRegistry(
     const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() )
@@ -53,6 +56,7 @@ SAL_CALL createSimpleRegistry(
     @rBootstrapPath optional bootstrap path for initial components
     @return nested registry service instance
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry >
 SAL_CALL createNestedRegistry(
     const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() )
@@ -63,6 +67,7 @@ SAL_CALL createNestedRegistry(
     @param xTDMgr manager instance
     @return true, if successfully registered
 */
+CPPUHELPER_DLLPUBLIC
 sal_Bool SAL_CALL installTypeDescriptionManager(
     ::com::sun::star::uno::Reference< 
::com::sun::star::container::XHierarchicalNameAccess > const & xTDMgr )
     SAL_THROW( () );
@@ -78,6 +83,7 @@ sal_Bool SAL_CALL installTypeDescriptionManager(
     @param rBootstrapPath optional bootstrap path for initial components
     @return component context
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > 
SAL_CALL
 bootstrap_InitialComponentContext(
     ::com::sun::star::uno::Reference< 
::com::sun::star::registry::XSimpleRegistry > const & xRegistry,
@@ -104,6 +110,7 @@ bootstrap_InitialComponentContext(
 
     @return component context
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > 
SAL_CALL
 defaultBootstrap_InitialComponentContext() SAL_THROW( 
(::com::sun::star::uno::Exception) );
 
@@ -128,6 +135,7 @@ defaultBootstrap_InitialComponentContext() SAL_THROW( 
(::com::sun::star::uno::Ex
     @param iniFile ini filename to get bootstrap variables
     @return component context
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > 
SAL_CALL
 defaultBootstrap_InitialComponentContext(const ::rtl::OUString & iniFile) 
SAL_THROW( (::com::sun::star::uno::Exception) );
 
@@ -136,7 +144,7 @@ defaultBootstrap_InitialComponentContext(const 
::rtl::OUString & iniFile) SAL_TH
  *
  * @since UDK 3.2.0
  */
-class BootstrapException
+class CPPUHELPER_DLLPUBLIC BootstrapException
 {
 public:
     /**
@@ -189,6 +197,7 @@ private:
  *
  * @since UDK 3.2.0
  */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
 SAL_CALL bootstrap();
 
@@ -211,6 +220,7 @@ SAL_CALL bootstrap();
  *
  * @since UDK 3.2.8
  */
+CPPUHELPER_DLLPUBLIC
 ::rtl::OUString
 SAL_CALL bootstrap_expandUri(::rtl::OUString const & uri);
 
diff --git a/cppuhelper/inc/cppuhelper/compbase_ex.hxx 
b/cppuhelper/inc/cppuhelper/compbase_ex.hxx
index 847fdb7483cc..bb67f1f1649f 100644
--- a/cppuhelper/inc/cppuhelper/compbase_ex.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase_ex.hxx
@@ -27,7 +27,7 @@
 #include <cppuhelper/implbase_ex.hxx>
 #include <cppuhelper/interfacecontainer.hxx>
 #include <com/sun/star/lang/XComponent.hpp>
-
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -36,7 +36,7 @@ namespace cppu
     ::com::sun::star::lang::XComponent.
     @internal
 */
-class SAL_NO_VTABLE WeakComponentImplHelperBase
+class CPPUHELPER_DLLPUBLIC SAL_NO_VTABLE WeakComponentImplHelperBase
     : public ::cppu::OWeakObject
     , public ::com::sun::star::lang::XComponent
 {
@@ -90,7 +90,7 @@ public:
     ::com::sun::star::lang::XComponent.
     @internal
 */
-class SAL_NO_VTABLE WeakAggComponentImplHelperBase
+class CPPUHELPER_DLLPUBLIC SAL_NO_VTABLE WeakAggComponentImplHelperBase
     : public ::cppu::OWeakAggObject
     , public ::com::sun::star::lang::XComponent
 {
@@ -138,6 +138,7 @@ public:
 /** WeakComponentImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL WeakComponentImplHelper_query(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -147,6 +148,7 @@ public:
 /** WeakComponentImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL 
WeakComponentImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
@@ -154,6 +156,7 @@ public:
 /** WeakAggComponentImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL WeakAggComponentImplHelper_queryAgg(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -163,6 +166,7 @@ public:
 /** WeakAggComponentImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL 
WeakAggComponentImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
diff --git a/cppuhelper/inc/cppuhelper/component.hxx 
b/cppuhelper/inc/cppuhelper/component.hxx
index d1bdc0ff1740..2fb7edee5215 100644
--- a/cppuhelper/inc/cppuhelper/component.hxx
+++ b/cppuhelper/inc/cppuhelper/component.hxx
@@ -34,6 +34,7 @@
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/lang/XEventListener.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -47,7 +48,7 @@ namespace cppu
     The life-cycle of the passed mutex reference has to be longer than objects 
of this class.
     @deprecated
 */
-class OComponentHelper
+class CPPUHELPER_DLLPUBLIC OComponentHelper
     : public ::cppu::OWeakAggObject
     , public ::com::sun::star::lang::XTypeProvider
     , public ::com::sun::star::lang::XComponent
diff --git a/cppuhelper/inc/cppuhelper/component_context.hxx 
b/cppuhelper/inc/cppuhelper/component_context.hxx
index 43a7ece4b4ac..780782d51aca 100644
--- a/cppuhelper/inc/cppuhelper/component_context.hxx
+++ b/cppuhelper/inc/cppuhelper/component_context.hxx
@@ -26,6 +26,7 @@
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/lang/XSingleComponentFactory.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -80,6 +81,7 @@ struct ContextEntry_Init
     @param xDelegate delegation to further context, if value was not found
     @return new context object
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
 SAL_CALL createComponentContext(
     ContextEntry_Init const * pEntries, sal_Int32 nEntries,
diff --git a/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h 
b/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h
new file mode 100644
index 000000000000..3019cbb25725
--- /dev/null
+++ b/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h
@@ -0,0 +1,37 @@
+/**************************************************************
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+
+
+#ifndef INCLUDED_CPPUHELPERDLLAPI_H
+#define INCLUDED_CPPUHELPERDLLAPI_H
+
+#include "sal/types.h"
+
+#if defined(CPPUHELPER_DLLIMPLEMENTATION)
+#define CPPUHELPER_DLLPUBLIC  SAL_DLLPUBLIC_EXPORT
+#else
+#define CPPUHELPER_DLLPUBLIC  SAL_DLLPUBLIC_IMPORT
+#endif
+#define CPPUHELPER_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif /* INCLUDED_CPPUHELPERDLLAPI_H */
+
diff --git a/cppuhelper/inc/cppuhelper/exc_hlp.hxx 
b/cppuhelper/inc/cppuhelper/exc_hlp.hxx
index 7dd981b406d5..a70171f1706f 100644
--- a/cppuhelper/inc/cppuhelper/exc_hlp.hxx
+++ b/cppuhelper/inc/cppuhelper/exc_hlp.hxx
@@ -26,6 +26,8 @@
 
 #include <com/sun/star/uno/Any.hxx>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 namespace cppu
 {
 
@@ -36,7 +38,7 @@ namespace cppu
     @param rExc
            exception to be thrown.
 */
-void SAL_CALL throwException( const ::com::sun::star::uno::Any & rExc )
+CPPUHELPER_DLLPUBLIC void SAL_CALL throwException( const 
::com::sun::star::uno::Any & rExc )
     SAL_THROW( (::com::sun::star::uno::Exception) );
 
 /** Use this function to get the dynamic type of a caught C++-UNO exception;
@@ -86,7 +88,7 @@ void SAL_CALL throwException( const 
::com::sun::star::uno::Any & rExc )
               development, because the whole OOo code base is compiled using 
the
               same C++ compiler (and linking against one runtime library).
 */
-::com::sun::star::uno::Any SAL_CALL getCaughtException();
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Any SAL_CALL getCaughtException();
 
 }
 
diff --git a/cppuhelper/inc/cppuhelper/factory.hxx 
b/cppuhelper/inc/cppuhelper/factory.hxx
index b58976ef1e37..93819d357e79 100644
--- a/cppuhelper/inc/cppuhelper/factory.hxx
+++ b/cppuhelper/inc/cppuhelper/factory.hxx
@@ -33,6 +33,8 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/registry/XRegistryKey.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 
//##################################################################################################
 
 #define COMPONENT_GETENV            "component_getImplementationEnvironment"
@@ -138,6 +140,7 @@ typedef ::com::sun::star::uno::Reference< 
::com::sun::star::uno::XInterface >(
     @param rServiceNames supported services
     @param pModCount for future extension (library unloading concept).
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XSingleComponentFactory >
 SAL_CALL createSingleComponentFactory(
     ComponentFactoryFunc fptr,
@@ -155,6 +158,7 @@ SAL_CALL createSingleComponentFactory(
 
     @see createSingleComponentFactory
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XSingleComponentFactory > SAL_CALL
 createOneInstanceComponentFactory(
     ComponentFactoryFunc fptr,
@@ -185,6 +189,7 @@ typedef ::com::sun::star::uno::Reference< 
::com::sun::star::uno::XInterface >(SA
     @see createOneInstanceFactory
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XSingleServiceFactory > SAL_CALL
 createSingleFactory(
     const ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
@@ -208,6 +213,7 @@ createSingleFactory(
     @see createSingleFactory
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XSingleServiceFactory > SAL_CALL
 createFactoryProxy(
     const ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
@@ -227,6 +233,7 @@ createFactoryProxy(
     @see createSingleFactory
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XSingleServiceFactory > SAL_CALL
 createOneInstanceFactory(
     const ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
@@ -245,6 +252,7 @@ createOneInstanceFactory(
     XSingleServiceFactory and XComponent.
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XSingleServiceFactory > SAL_CALL 
createSingleRegistryFactory(
     const ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
     const ::rtl::OUString & rImplementationName,
@@ -263,6 +271,7 @@ createOneInstanceFactory(
     @see createSingleRegistryFactory
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XSingleServiceFactory > SAL_CALL 
createOneInstanceRegistryFactory(
     const ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
     const ::rtl::OUString & rComponentName,
diff --git a/cppuhelper/inc/cppuhelper/implbase.hxx 
b/cppuhelper/inc/cppuhelper/implbase.hxx
index 6a6c90598d01..e73c50bac4f2 100644
--- a/cppuhelper/inc/cppuhelper/implbase.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase.hxx
@@ -31,6 +31,8 @@
 #include <com/sun/star/lang/XTypeProvider.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 /* This header should not be used anymore.
    @deprecated
 */
@@ -55,7 +57,7 @@ struct Type_Offset
     Not for plublic use.
     @internal
 */
-struct ClassDataBase
+struct CPPUHELPER_DLLPUBLIC ClassDataBase
 {
     /** determines whether the class data has been statically initialized
     */
@@ -100,7 +102,7 @@ struct ClassDataBase
     Not for plublic use.
     @internal
 */
-struct ClassData : public ClassDataBase
+struct CPPUHELPER_DLLPUBLIC ClassData : public ClassDataBase
 {
     /** type entries array
     */
@@ -144,7 +146,7 @@ struct ClassData : public ClassDataBase
     Not for public use.
     @internal
 */
-::osl::Mutex & SAL_CALL getImplHelperInitMutex(void) SAL_THROW( () );
+CPPUHELPER_DLLPUBLIC ::osl::Mutex & SAL_CALL getImplHelperInitMutex(void) 
SAL_THROW( () );
 }
 
 //
diff --git a/cppuhelper/inc/cppuhelper/implbase_ex.hxx 
b/cppuhelper/inc/cppuhelper/implbase_ex.hxx
index bb35aca9a46e..0ef778e6d295 100644
--- a/cppuhelper/inc/cppuhelper/implbase_ex.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase_ex.hxx
@@ -27,6 +27,8 @@
 #include <cppuhelper/weakagg.hxx>
 #include <com/sun/star/lang/XTypeProvider.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 // Despite the fact that the following include is not used in this header, it 
has to remain,
 // because it is expected by files including cppuhelper/implbaseN.hxx.
 // So maybe we can omit it some time in the future...
@@ -100,6 +102,7 @@ struct class_data
 /** ImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL ImplHelper_query(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -108,7 +111,7 @@ struct class_data
 /** ImplHelper
     @internal
 */
-::com::sun::star::uno::Any SAL_CALL ImplHelper_queryNoXInterface(
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Any SAL_CALL 
ImplHelper_queryNoXInterface(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
     void * that )
@@ -116,26 +119,27 @@ struct class_data
 /** ImplHelper
     @internal
 */
-::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL 
ImplHelper_getTypes(
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Sequence< 
::com::sun::star::uno::Type > SAL_CALL ImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
 /** ImplHelper
     @internal
 */
-::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL 
ImplInhHelper_getTypes(
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Sequence< 
::com::sun::star::uno::Type > SAL_CALL ImplInhHelper_getTypes(
     class_data * cd,
     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > const & 
rAddTypes )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
 /** ImplHelper
     @internal
 */
-::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL 
ImplHelper_getImplementationId(
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL 
ImplHelper_getImplementationId(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
 
 /** WeakImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL WeakImplHelper_query(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -145,6 +149,7 @@ struct class_data
 /** WeakImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL 
WeakImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
@@ -152,6 +157,7 @@ struct class_data
 /** WeakAggImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL WeakAggImplHelper_queryAgg(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -161,6 +167,7 @@ struct class_data
 /** WeakAggImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL 
WeakAggImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
diff --git a/cppuhelper/inc/cppuhelper/implementationentry.hxx 
b/cppuhelper/inc/cppuhelper/implementationentry.hxx
index 479a10d0299a..9431bc97f621 100644
--- a/cppuhelper/inc/cppuhelper/implementationentry.hxx
+++ b/cppuhelper/inc/cppuhelper/implementationentry.hxx
@@ -24,6 +24,7 @@
 #define _CPPUHELPER_IMPLEMENATIONENTRY_HXX_
 
 #include <cppuhelper/factory.hxx>
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -80,7 +81,7 @@ struct ImplementationEntry
                            must be marked with a 0 entry in the 
create-function.
     @return sal_True, if all implementations could be registered, otherwise 
sal_False.
  */
-sal_Bool component_writeInfoHelper(
+CPPUHELPER_DLLPUBLIC sal_Bool component_writeInfoHelper(
     void *pServiceManager, void *pRegistryKey , const struct 
ImplementationEntry entries[] );
 
 /** Helper function for implementation of the component_getFactory()-function,
@@ -99,7 +100,7 @@ sal_Bool component_writeInfoHelper(
     @return 0 if the helper failed to instantiate a factory, otherwise an 
acquired pointer
             to a factory.
  */
-void *component_getFactoryHelper(
+CPPUHELPER_DLLPUBLIC void *component_getFactoryHelper(
     const sal_Char * pImplName,
     void * pServiceManager,
     void * pRegistryKey,
diff --git a/cppuhelper/inc/cppuhelper/interfacecontainer.h 
b/cppuhelper/inc/cppuhelper/interfacecontainer.h
index 95d93ddccc38..164d2893cdcc 100644
--- a/cppuhelper/inc/cppuhelper/interfacecontainer.h
+++ b/cppuhelper/inc/cppuhelper/interfacecontainer.h
@@ -36,6 +36,8 @@
 #include "com/sun/star/lang/DisposedException.hpp"
 #endif
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 /** */ //for docpp
 namespace cppu
 {
@@ -60,7 +62,7 @@ class OInterfaceContainerHelper;
 
   @see OInterfaceContainerHelper
  */
-class OInterfaceIteratorHelper
+class CPPUHELPER_DLLPUBLIC OInterfaceIteratorHelper
 {
 public:
     /**
@@ -118,7 +120,7 @@ private:
 
   @see OInterfaceIteratorHelper
  */
-class OInterfaceContainerHelper
+class CPPUHELPER_DLLPUBLIC OInterfaceContainerHelper
 {
 public:
     // these are here to force memory de/allocation to sal lib.
@@ -510,7 +512,7 @@ struct hashType_Impl
 /** Specialized class for key type com::sun::star::uno::Type,
     without explicit usage of STL symbols.
 */
-class OMultiTypeInterfaceContainerHelper
+class CPPUHELPER_DLLPUBLIC OMultiTypeInterfaceContainerHelper
 {
 public:
     // these are here to force memory de/allocation to sal lib.
diff --git a/cppuhelper/inc/cppuhelper/propertysetmixin.hxx 
b/cppuhelper/inc/cppuhelper/propertysetmixin.hxx
index c2613813047b..80ccf149aba2 100644
--- a/cppuhelper/inc/cppuhelper/propertysetmixin.hxx
+++ b/cppuhelper/inc/cppuhelper/propertysetmixin.hxx
@@ -37,6 +37,7 @@
 #include "com/sun/star/uno/RuntimeException.hpp"
 #include "com/sun/star/uno/Sequence.hxx"
 #include "sal/types.h"
+#include "cppuhelper/cppuhelperdllapi.h"
 
 /// @HTML
 
@@ -83,7 +84,7 @@ template< typename T > class PropertySetMixin;
 
    @since UDK 3.2.1
 */
-class PropertySetMixinImpl:
+class CPPUHELPER_DLLPUBLIC PropertySetMixinImpl:
     public com::sun::star::beans::XPropertySet,
     public com::sun::star::beans::XFastPropertySet,
     public com::sun::star::beans::XPropertyAccess
diff --git a/cppuhelper/inc/cppuhelper/propshlp.hxx 
b/cppuhelper/inc/cppuhelper/propshlp.hxx
index 813ca16fe465..34fb238a335a 100644
--- a/cppuhelper/inc/cppuhelper/propshlp.hxx
+++ b/cppuhelper/inc/cppuhelper/propshlp.hxx
@@ -27,6 +27,7 @@
 #include <rtl/alloc.h>
 
 #include <cppuhelper/interfacecontainer.hxx>
+#include "cppuhelper/cppuhelperdllapi.h"
 
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/beans/XMultiPropertySet.hpp>
@@ -46,7 +47,7 @@ namespace cppu
 /**
    This interface is used by the OPropertyHelper, to access the property 
description.
  */
-class IPropertyArrayHelper
+class CPPUHELPER_DLLPUBLIC IPropertyArrayHelper
 {
 public:
     // these are here to force memory de/allocation to sal lib.
@@ -113,7 +114,7 @@ public:
    You can use this helper class to map a XPropertySet-Interface to a XFast-
    or a XMultiPropertySet interface.
  */
-class OPropertyArrayHelper : public IPropertyArrayHelper
+class CPPUHELPER_DLLPUBLIC OPropertyArrayHelper : public IPropertyArrayHelper
 {
 public:
      /**
@@ -226,7 +227,7 @@ struct hashInt32_Impl
 /** Specialized class for key type sal_Int32,
     without explicit usage of STL symbols.
 */
-class OMultiTypeInterfaceContainerHelperInt32
+class CPPUHELPER_DLLPUBLIC OMultiTypeInterfaceContainerHelperInt32
 {
 public:
     // these are here to force memory de/allocation to sal lib.
@@ -343,7 +344,7 @@ public:
    the connection point interfaces. But only listeners that listen to all 
property changes.
 
  */
-class OPropertySetHelper : public ::com::sun::star::beans::XMultiPropertySet,
+class CPPUHELPER_DLLPUBLIC OPropertySetHelper : public 
::com::sun::star::beans::XMultiPropertySet,
                            public ::com::sun::star::beans::XFastPropertySet,
                            public ::com::sun::star::beans::XPropertySet
 {
diff --git a/cppuhelper/inc/cppuhelper/servicefactory.hxx 
b/cppuhelper/inc/cppuhelper/servicefactory.hxx
index 7e37f7bee059..5a0908bef51e 100644
--- a/cppuhelper/inc/cppuhelper/servicefactory.hxx
+++ b/cppuhelper/inc/cppuhelper/servicefactory.hxx
@@ -28,6 +28,7 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -56,6 +57,7 @@ namespace cppu
     path.
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory 
> SAL_CALL
 createRegistryServiceFactory(
     const ::rtl::OUString & rWriteRegistryFile,
diff --git a/cppuhelper/inc/cppuhelper/shlib.hxx 
b/cppuhelper/inc/cppuhelper/shlib.hxx
index 0b6fb2123123..b0aadb983bdd 100644
--- a/cppuhelper/inc/cppuhelper/shlib.hxx
+++ b/cppuhelper/inc/cppuhelper/shlib.hxx
@@ -28,6 +28,7 @@
 #include <com/sun/star/loader/CannotActivateFactoryException.hpp>
 #include <com/sun/star/registry/CannotRegisterImplementationException.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -47,6 +48,7 @@ namespace cppu
     factory instance (::com::sun::star::lang::XSingleComponentFactory or
     ::com::sun::star::lang::XSingleComponentFactory)
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
 SAL_CALL loadSharedLibComponentFactory(
     ::rtl::OUString const & rLibName, ::rtl::OUString const & rPath,
@@ -68,6 +70,7 @@ SAL_CALL loadSharedLibComponentFactory(
     @param xMgr service manager to be provided to the component
     @param xKey registry key to be provided to the component
 */
+CPPUHELPER_DLLPUBLIC
 void
 SAL_CALL writeSharedLibComponentInfo(
     ::rtl::OUString const & rLibName, ::rtl::OUString const & rPath,
diff --git a/cppuhelper/inc/cppuhelper/stdidlclass.hxx 
b/cppuhelper/inc/cppuhelper/stdidlclass.hxx
index 3b131234c85a..d64659b7f1d1 100644
--- a/cppuhelper/inc/cppuhelper/stdidlclass.hxx
+++ b/cppuhelper/inc/cppuhelper/stdidlclass.hxx
@@ -26,12 +26,14 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/reflection/XIdlClass.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu {
 
 /*
   @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::reflection::XIdlClass * SAL_CALL 
createStandardClassWithSequence(
     const ::com::sun::star::uno::Reference < 
::com::sun::star::lang::XMultiServiceFactory > &rSMgr ,
     const ::rtl::OUString & sImplementationName ,
diff --git a/cppuhelper/inc/cppuhelper/typeprovider.hxx 
b/cppuhelper/inc/cppuhelper/typeprovider.hxx
index 194cecdfa7e6..a1a18937bfdf 100644
--- a/cppuhelper/inc/cppuhelper/typeprovider.hxx
+++ b/cppuhelper/inc/cppuhelper/typeprovider.hxx
@@ -27,6 +27,7 @@
 #include <rtl/uuid.h>
 #include <com/sun/star/uno/Sequence.hxx>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -34,7 +35,7 @@ namespace cppu
 /** Helper class to implement ::com::sun::star::lang::XTypeProvider.  
Construct a static object
     of this class with your UNO object's supported types.
 */
-class OTypeCollection
+class CPPUHELPER_DLLPUBLIC OTypeCollection
 {
     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > _aTypes;
 
@@ -183,7 +184,7 @@ public:
 /** Helper class to implement ::com::sun::star::lang::XTypeProvider.  
Construct a static object
     of this class for your UNO object's implementation id.
 */
-class OImplementationId
+class CPPUHELPER_DLLPUBLIC OImplementationId
 {
     /** @internal */
     mutable ::com::sun::star::uno::Sequence< sal_Int8 > * _pSeq;
diff --git a/cppuhelper/inc/cppuhelper/unourl.hxx 
b/cppuhelper/inc/cppuhelper/unourl.hxx
index f05c6a9c91b4..c1b68652d7fc 100644
--- a/cppuhelper/inc/cppuhelper/unourl.hxx
+++ b/cppuhelper/inc/cppuhelper/unourl.hxx
@@ -26,6 +26,8 @@
 
 #include <memory>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 namespace rtl { class OUString; }
 
 namespace cppu {
@@ -37,7 +39,7 @@ namespace cppu {
     For example, some functions take a string representing a connection or
     protocol descriptor as input, and can use this class to parse the string.
  */
-class UnoUrlDescriptor
+class CPPUHELPER_DLLPUBLIC UnoUrlDescriptor
 {
 public:
     /** @internal
@@ -134,7 +136,7 @@ private:
     invalid UTF-16 entities in the resulting output (e.g., a high surrogate not
     followed by a low surrogate) are not detected.
  */
-class UnoUrl
+class CPPUHELPER_DLLPUBLIC UnoUrl
 {
 public:
     /** Construct a UNO URL from a string representation.
diff --git a/cppuhelper/inc/cppuhelper/weak.hxx 
b/cppuhelper/inc/cppuhelper/weak.hxx
index 727f02abbf97..6bdd713249b9 100644
--- a/cppuhelper/inc/cppuhelper/weak.hxx
+++ b/cppuhelper/inc/cppuhelper/weak.hxx
@@ -27,6 +27,7 @@
 #include <rtl/alloc.h>
 #include <cppuhelper/weakref.hxx>
 #include <cppuhelper/queryinterface.hxx>
+#include "cppuhelper/cppuhelperdllapi.h"
 #ifndef _COM_SUN_STAR_UNO_WEAK_HPP_
 #include <com/sun/star/uno/XWeak.hpp>
 #endif
@@ -46,7 +47,7 @@ class OWeakConnectionPoint;
     @derive
     Inherit from this class and delegate acquire()/ release() calls.
 */
-class OWeakObject : public ::com::sun::star::uno::XWeak
+class CPPUHELPER_DLLPUBLIC OWeakObject : public ::com::sun::star::uno::XWeak
 {
     /** @internal */
     friend class OWeakConnectionPoint;
diff --git a/cppuhelper/inc/cppuhelper/weakagg.hxx 
b/cppuhelper/inc/cppuhelper/weakagg.hxx
index b6dbd6c58726..b37311ea2fa5 100644
--- a/cppuhelper/inc/cppuhelper/weakagg.hxx
+++ b/cppuhelper/inc/cppuhelper/weakagg.hxx
@@ -24,6 +24,7 @@
 #define _CPPUHELPER_WEAKAGG_HXX_
 
 #include <cppuhelper/weak.hxx>
+#include "cppuhelper/cppuhelperdllapi.h"
 #include <com/sun/star/uno/XAggregation.hpp>
 
 
@@ -40,7 +41,7 @@ namespace cppu
     Inherit from this class and delegate acquire()/ release() calls.  
Re-implement
     XAggregation::queryInterface().
 */
-class OWeakAggObject
+class CPPUHELPER_DLLPUBLIC OWeakAggObject
     : public ::cppu::OWeakObject
     , public ::com::sun::star::uno::XAggregation
 {
diff --git a/cppuhelper/inc/cppuhelper/weakref.hxx 
b/cppuhelper/inc/cppuhelper/weakref.hxx
index 56a24a42572f..13143b9fed48 100644
--- a/cppuhelper/inc/cppuhelper/weakref.hxx
+++ b/cppuhelper/inc/cppuhelper/weakref.hxx
@@ -25,6 +25,8 @@
 
 #include <com/sun/star/uno/XInterface.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 
 namespace com
 {
@@ -41,7 +43,7 @@ class OWeakRefListener;
 /** The WeakReferenceHelper holds a weak reference to an object. This object 
must implement
     the ::com::sun::star::uno::XWeak interface.  The implementation is thread 
safe.
 */
-class WeakReferenceHelper
+class CPPUHELPER_DLLPUBLIC WeakReferenceHelper
 {
 public:
     /** Default ctor.  Creates an empty weak reference.
diff --git a/cppuhelper/prj/d.lst b/cppuhelper/prj/d.lst
index de80ca9b8533..4c29cf85d6f8 100644
--- a/cppuhelper/prj/d.lst
+++ b/cppuhelper/prj/d.lst
@@ -55,6 +55,7 @@ mkdir: %_DEST%\inc%_EXT%\cppuhelper
 ..\inc\cppuhelper\implementationentry.hxx 
%_DEST%\inc%_EXT%\cppuhelper\implementationentry.hxx
 ..\inc\cppuhelper\access_control.hxx 
%_DEST%\inc%_EXT%\cppuhelper\access_control.hxx
 ..\inc\cppuhelper\unourl.hxx %_DEST%\inc%_EXT%\cppuhelper\unourl.hxx
+..\inc\cppuhelper\cppuhelperdllapi.h 
%_DEST%\inc%_EXT%\cppuhelper\cppuhelperdllapi.h
 
 ..\%__SRC%\bin\cppuh*.dll %_DEST%\bin%_EXT%\cppuh*.dll
 ..\%__SRC%\lib\*cppuhelper*.lib %_DEST%\lib%_EXT%\*
diff --git a/cppuhelper/source/bootstrap.cxx b/cppuhelper/source/bootstrap.cxx
index 3ada9e9d4a43..80874f492110 100644
--- a/cppuhelper/source/bootstrap.cxx
+++ b/cppuhelper/source/bootstrap.cxx
@@ -178,6 +178,7 @@ void addFactories(
 }
 
 // private forward decl
+SAL_DLLPUBLIC_EXPORT
 Reference< lang::XMultiComponentFactory > bootstrapInitialSF(
     OUString const & rBootstrapPath )
     SAL_THROW( (Exception) );
diff --git a/cppuhelper/source/makefile.mk b/cppuhelper/source/makefile.mk
index 52f939f92615..57da8f5ca155 100644
--- a/cppuhelper/source/makefile.mk
+++ b/cppuhelper/source/makefile.mk
@@ -27,6 +27,7 @@ TARGET=cppuhelper
 
 ENABLE_EXCEPTIONS=TRUE
 USE_DEFFILE=TRUE
+VISIBILITY_HIDDEN=TRUE
 
 # not strictly a bootstrap service but containing
 # bootstrap code that may require generated files
@@ -121,6 +122,8 @@ CFLAGS += -Ob0
 .ENDIF
 .ENDIF
 
+CFLAGS += -DCPPUHELPER_DLLIMPLEMENTATION
+
 SLOFILES= \
         $(SLO)$/typeprovider.obj       \
         $(SLO)$/exc_thrower.obj        \
@@ -172,9 +175,7 @@ SHL1DEF=$(MISC)$/$(SHL1TARGET).def
 
 DEF1NAME=$(SHL1TARGET)
 
-.IF "$(COMNAME)"=="msci"
-SHL1VERSIONMAP=msvc_win32_intel.map
-.ELIF "$(COMNAME)"=="sunpro5"
+.IF "$(COMNAME)"=="sunpro5"
 SHL1VERSIONMAP=cc5_solaris_sparc.map
 .ELIF "$(GUI)$(COMNAME)"=="OS2gcc3"
 SHL1VERSIONMAP=gcc3os2.map
diff --git a/cppuhelper/source/msvc_win32_intel.map 
b/cppuhelper/source/msvc_win32_intel.map
deleted file mode 100644
index 19590721a282..000000000000
--- a/cppuhelper/source/msvc_win32_intel.map
+++ /dev/null
@@ -1,306 +0,0 @@
-###############################################################
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#
-###############################################################
-UDK_3_0_0 {
-    global:
-GetVersionInfo;
-??0OComponentHelper@cppu@@QAE@AAVMutex@osl@@@Z;
-??1OComponentHelper@cppu@@UAE@XZ;
-??BOWeakObject@cppu@@QAA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-??BWeakReferenceHelper@uno@star@sun@com@@QBA?AV?$Reference@VXInterface@uno@star@sun@com@@@1234@XZ;
-??_7OComponentHelper@cppu@@6BOWeakObject@1@@;
-??_7OComponentHelper@cppu@@6BXAggregation@uno@star@sun@com@@@;
-??_7OComponentHelper@cppu@@6BXComponent@lang@star@sun@com@@@;
-??_7OComponentHelper@cppu@@6BXTypeProvider@lang@star@sun@com@@@;
-??_7OWeakAggObject@cppu@@6BOWeakObject@1@@;
-??_7OWeakAggObject@cppu@@6BXAggregation@uno@star@sun@com@@@;
-??_7OWeakObject@cppu@@6B@;
-??_GOComponentHelper@cppu@@UAEPAXI@Z;
-??_GOWeakAggObject@cppu@@MAEPAXI@Z;
-??_GOWeakObject@cppu@@MAEPAXI@Z;
-?addEventListener@OComponentHelper@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z;
-?dispose@OComponentHelper@cppu@@UAAXXZ;
-?disposing@OComponentHelper@cppu@@MAAXXZ;
-?release@OComponentHelper@cppu@@UAAXXZ;
-?removeEventListener@OComponentHelper@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z;
-??1OTypeCollection@cppu@@QAE@XZ;
-?createFactoryProxy@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABV23456@@Z;
-?createOneInstanceRegistryFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABVOUString@rtl@@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z;
-?createSingleRegistryFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABVOUString@rtl@@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z;
-?getTypes@OTypeCollection@cppu@@QAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-?createStandardClassWithSequence@cppu@@YAPAVXIdlClass@reflection@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@456@ABVOUString@rtl@@ABV?$Reference@VXIdlClass@reflection@star@sun@com@@@8456@ABV?$Sequence@VOUString@rtl@@@8456@@Z;
-??0OInterfaceContainerHelper@cppu@@QAE@AAVMutex@osl@@@Z;
-??0OInterfaceIteratorHelper@cppu@@QAE@AAVOInterfaceContainerHelper@1@@Z;
-??1OInterfaceContainerHelper@cppu@@QAE@XZ;
-??1OInterfaceIteratorHelper@cppu@@QAE@XZ;
-?addInterface@OInterfaceContainerHelper@cppu@@QAAJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z;
-?clear@OInterfaceContainerHelper@cppu@@QAAXXZ;
-?copyAndResetInUse@OInterfaceContainerHelper@cppu@@AAEXXZ;
-?disposeAndClear@OInterfaceContainerHelper@cppu@@QAAXABUEventObject@lang@star@sun@com@@@Z;
-?getElements@OInterfaceContainerHelper@cppu@@QBA?AV?$Sequence@V?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-?getLength@OInterfaceContainerHelper@cppu@@QBAJXZ;
-?next@OInterfaceIteratorHelper@cppu@@QAAPAVXInterface@uno@star@sun@com@@XZ;
-?removeInterface@OInterfaceContainerHelper@cppu@@QAAJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z;
-??0WeakReferenceHelper@uno@star@sun@com@@QAE@ABV01234@@Z;
-??0WeakReferenceHelper@uno@star@sun@com@@QAE@ABV?$Reference@VXInterface@uno@star@sun@com@@@1234@@Z;
-??1OWeakAggObject@cppu@@MAE@XZ;
-??1OWeakObject@cppu@@MAE@XZ;
-??1WeakReferenceHelper@uno@star@sun@com@@QAE@XZ;
-??4WeakReferenceHelper@uno@star@sun@com@@QAAAAV01234@ABV01234@@Z;
-??4WeakReferenceHelper@uno@star@sun@com@@QAAAAV01234@ABV?$Reference@VXInterface@uno@star@sun@com@@@1234@@Z;
-?acquire@OWeakAggObject@cppu@@UAAXXZ;
-?acquire@OWeakObject@cppu@@UAAXXZ;
-?get@WeakReferenceHelper@uno@star@sun@com@@QBA?AV?$Reference@VXInterface@uno@star@sun@com@@@2345@XZ;
-?queryAdapter@OWeakObject@cppu@@UAA?AV?$Reference@VXAdapter@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-?queryAggregation@OWeakAggObject@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?queryInterface@OWeakAggObject@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?queryInterface@OWeakObject@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?release@OWeakAggObject@cppu@@UAAXXZ;
-?release@OWeakObject@cppu@@UAAXXZ;
-?setDelegator@OWeakAggObject@cppu@@UAAXABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z;
-??0OPropertyArrayHelper@cppu@@QAE@ABV?$Sequence@UProperty@beans@star@sun@com@@@uno@star@sun@com@@E@Z;
-??0OPropertyArrayHelper@cppu@@QAE@PAUProperty@beans@star@sun@com@@JE@Z;
-??1IPropertyArrayHelper@cppu@@UAE@XZ;
-??1OPropertyArrayHelper@cppu@@UAE@XZ;
-??1OPropertySetHelper@cppu@@QAE@XZ;
-??_7IPropertyArrayHelper@cppu@@6B@;
-??_7OPropertyArrayHelper@cppu@@6B@;
-??_7OPropertySetHelper@cppu@@6BXFastPropertySet@beans@star@sun@com@@@;
-??_7OPropertySetHelper@cppu@@6BXMultiPropertySet@beans@star@sun@com@@@;
-??_7OPropertySetHelper@cppu@@6BXPropertySet@beans@star@sun@com@@@;
-??_GIPropertyArrayHelper@cppu@@UAEPAXI@Z;
-??_GOPropertyArrayHelper@cppu@@UAEPAXI@Z;
-?addPropertiesChangeListener@OPropertySetHelper@cppu@@UAAXABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@ABV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@4567@@Z;
-?addPropertyChangeListener@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-?addVetoableChangeListener@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-?createPropertySetInfo@OPropertySetHelper@cppu@@SA?AV?$Reference@VXPropertySetInfo@beans@star@sun@com@@@uno@star@sun@com@@AAVIPropertyArrayHelper@2@@Z;
-?disposing@OPropertySetHelper@cppu@@QAAXXZ;
-?fillHandles@OPropertyArrayHelper@cppu@@UAAJPAJABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@@Z;
-?fillPropertyMembersByHandle@OPropertyArrayHelper@cppu@@UAAEPAVOUString@rtl@@PAFJ@Z;
-?fire@OPropertySetHelper@cppu@@IAAXPAJPBVAny@uno@star@sun@com@@1JE@Z;
-?firePropertiesChangeEvent@OPropertySetHelper@cppu@@UAAXABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@ABV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@4567@@Z;
-?getCount@OPropertyArrayHelper@cppu@@QBAJXZ;
-?getFastPropertyValue@OPropertySetHelper@cppu@@UAA?AVAny@uno@star@sun@com@@J@Z;
-?getHandleByName@OPropertyArrayHelper@cppu@@UAAJABVOUString@rtl@@@Z;
-?getProperties@OPropertyArrayHelper@cppu@@UAA?AV?$Sequence@UProperty@beans@star@sun@com@@@uno@star@sun@com@@XZ;
-?getPropertyByName@OPropertyArrayHelper@cppu@@UAA?AUProperty@beans@star@sun@com@@ABVOUString@rtl@@@Z;
-?getPropertyValue@OPropertySetHelper@cppu@@UAA?AVAny@uno@star@sun@com@@ABVOUString@rtl@@@Z;
-?getPropertyValues@OPropertySetHelper@cppu@@UAA?AV?$Sequence@VAny@uno@star@sun@com@@@uno@star@sun@com@@ABV?$Sequence@VOUString@rtl@@@4567@@Z;
-?hasPropertyByName@OPropertyArrayHelper@cppu@@UAAEABVOUString@rtl@@@Z;
-?init@OPropertyArrayHelper@cppu@@AAEXE@Z;
-?queryInterface@OPropertySetHelper@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?queryInterface@OPropertySetHelper@cppu@@W3AA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?queryInterface@OPropertySetHelper@cppu@@W7AA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?removePropertiesChangeListener@OPropertySetHelper@cppu@@UAAXABV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-?removePropertyChangeListener@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-?removeVetoableChangeListener@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-?setFastPropertyValue@OPropertySetHelper@cppu@@UAAXJABVAny@uno@star@sun@com@@@Z;
-?setFastPropertyValues@OPropertySetHelper@cppu@@IAAXJPAJPBVAny@uno@star@sun@com@@J@Z;
-?setPropertyValue@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABVAny@uno@star@sun@com@@@Z;
-?setPropertyValues@OPropertySetHelper@cppu@@UAAXABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@ABV?$Sequence@VAny@uno@star@sun@com@@@4567@@Z;
-??0ClassDataBase@cppu@@QAE@J@Z;
-??0ClassDataBase@cppu@@QAE@XZ;
-??1ClassDataBase@cppu@@QAE@XZ;
-?getImplHelperInitMutex@cppu@@YAAAVMutex@osl@@XZ;
-?getImplementationId@ClassData@cppu@@QAA?AV?$Sequence@C@uno@star@sun@com@@XZ;
-?getTypes@ClassData@cppu@@QAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-?initTypeProvider@ClassData@cppu@@QAAXXZ;
-?query@ClassData@cppu@@QAA?AVAny@uno@star@sun@com@@ABVType@4567@PAVXTypeProvider@lang@567@@Z;
-?writeTypeOffset@ClassData@cppu@@QAAXABVType@uno@star@sun@com@@J@Z;
-?createRegistryServiceFactory@cppu@@YA?AV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@0E0@Z;
-?throwException@cppu@@YAXABVAny@uno@star@sun@com@@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@00000000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@0000000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@000000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@00000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@0000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@00000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@0000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@00ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@0ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z;
-??1OImplementationId@cppu@@QAE@XZ;
-?getImplementationId@OImplementationId@cppu@@QBA?AV?$Sequence@C@uno@star@sun@com@@XZ;
-?writeSharedLibComponentInfo@cppu@@YAXABVOUString@rtl@@0ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@5678@@Z;
-?remove@OInterfaceIteratorHelper@cppu@@QAAXXZ;
-??0OWeakObject@cppu@@QAE@XZ;
-?installTypeDescriptionManager@cppu@@YAEABV?$Reference@VXHierarchicalNameAccess@container@star@sun@com@@@uno@star@sun@com@@@Z;
-?loadSharedLibComponentFactory@cppu@@YA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@00ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z;
-?createComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@PBUContextEntry_Init@1@JABV23456@@Z;
-?bootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@3456@ABVOUString@rtl@@@Z;
-?createNestedRegistry@cppu@@YA?AV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@@Z;
-?createSimpleRegistry@cppu@@YA?AV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@@Z;
-??0WeakAggComponentImplHelperBase@cppu@@IAE@AAVMutex@osl@@@Z;
-??0WeakComponentImplHelperBase@cppu@@IAE@AAVMutex@osl@@@Z;
-?acquire@WeakAggComponentImplHelperBase@cppu@@UAAXXZ;
-?acquire@WeakComponentImplHelperBase@cppu@@UAAXXZ;
-?addEventListener@WeakAggComponentImplHelperBase@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z;
-?addEventListener@WeakComponentImplHelperBase@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z;
-?dispose@WeakAggComponentImplHelperBase@cppu@@UAAXXZ;
-?dispose@WeakComponentImplHelperBase@cppu@@UAAXXZ;
-?queryAggregation@WeakAggComponentImplHelperBase@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?queryInterface@WeakAggComponentImplHelperBase@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?queryInterface@WeakComponentImplHelperBase@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?release@WeakAggComponentImplHelperBase@cppu@@UAAXXZ;
-?release@WeakComponentImplHelperBase@cppu@@UAAXXZ;
-?removeEventListener@WeakAggComponentImplHelperBase@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z;
-?removeEventListener@WeakComponentImplHelperBase@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z;
-??1WeakAggComponentImplHelperBase@cppu@@UAE@XZ;
-??1WeakComponentImplHelperBase@cppu@@UAE@XZ;
-?disposing@WeakAggComponentImplHelperBase@cppu@@MAAXXZ;
-?disposing@WeakComponentImplHelperBase@cppu@@MAAXXZ;
-?createOneInstanceFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABVOUString@rtl@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@0@ZABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z;
-?createSingleComponentFactory@cppu@@YA?AV?$Reference@VXSingleComponentFactory@lang@star@sun@com@@@uno@star@sun@com@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@3456@@ZABVOUString@rtl@@ABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z;
-?createSingleFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABVOUString@rtl@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@0@ZABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z;
-?defaultBootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-?acquire@OComponentHelper@cppu@@UAAXXZ;
-?getTypes@OComponentHelper@cppu@@UAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-?queryAggregation@OComponentHelper@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?queryInterface@OComponentHelper@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-?removeListener@?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@cppu@@QAEXABVType@uno@star@sun@com@@ABV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z;
-??0OMultiTypeInterfaceContainerHelper@cppu@@QAE@AAVMutex@osl@@@Z;
-??0OMultiTypeInterfaceContainerHelperInt32@cppu@@QAE@AAVMutex@osl@@@Z;
-??1OMultiTypeInterfaceContainerHelper@cppu@@QAE@XZ;
-??1OMultiTypeInterfaceContainerHelperInt32@cppu@@QAE@XZ;
-?addInterface@OMultiTypeInterfaceContainerHelper@cppu@@QAAJABVType@uno@star@sun@com@@ABV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z;
-?addInterface@OMultiTypeInterfaceContainerHelperInt32@cppu@@QAAJABJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z;
-?clear@OMultiTypeInterfaceContainerHelper@cppu@@QAAXXZ;
-?clear@OMultiTypeInterfaceContainerHelperInt32@cppu@@QAAXXZ;
-?disposeAndClear@OMultiTypeInterfaceContainerHelper@cppu@@QAAXABUEventObject@lang@star@sun@com@@@Z;
-?disposeAndClear@OMultiTypeInterfaceContainerHelperInt32@cppu@@QAAXABUEventObject@lang@star@sun@com@@@Z;
-?getContainedTypes@OMultiTypeInterfaceContainerHelper@cppu@@QBA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-?getContainedTypes@OMultiTypeInterfaceContainerHelperInt32@cppu@@QBA?AV?$Sequence@J@uno@star@sun@com@@XZ;
-?getContainer@OMultiTypeInterfaceContainerHelper@cppu@@QBAPAVOInterfaceContainerHelper@2@ABVType@uno@star@sun@com@@@Z;
-?getContainer@OMultiTypeInterfaceContainerHelperInt32@cppu@@QBAPAVOInterfaceContainerHelper@2@ABJ@Z;
-?removeInterface@OMultiTypeInterfaceContainerHelper@cppu@@QAAJABVType@uno@star@sun@com@@ABV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z;
-?removeInterface@OMultiTypeInterfaceContainerHelperInt32@cppu@@QAAJABJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z;
-??0OPropertySetHelper@cppu@@QAE@AAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@@Z;
-?addListener@?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@cppu@@QAEXABVType@uno@star@sun@com@@ABV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z;
-?component_writeInfoHelper@cppu@@YAEPAX0QBUImplementationEntry@1@@Z;
-?component_getFactoryHelper@cppu@@YAPAXPBDPAX1QBUImplementationEntry@1@@Z;
-?ImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAX@Z;
-?ImplHelper_queryNoXInterface@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAX@Z;
-?ImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z;
-?ImplInhHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@ABV23456@@Z;
-?ImplHelper_getImplementationId@cppu@@YA?AV?$Sequence@C@uno@star@sun@com@@PAUclass_data@1@@Z;
-?WeakImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAXPAVOWeakObject@1@@Z;
-?WeakImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z;
-?WeakAggImplHelper_queryAgg@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAXPAVOWeakAggObject@1@@Z;
-?WeakAggComponentImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z;
-?WeakComponentImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAXPAVWeakComponentImplHelperBase@1@@Z;
-?WeakAggImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z;
-?WeakAggComponentImplHelper_queryAgg@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAXPAVWeakAggComponentImplHelperBase@1@@Z;
-?WeakComponentImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z;
-?defaultBootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@@Z;
-
-??0AccessControl@cppu@@QAE@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@@Z;
-??0AccessControl@cppu@@QAE@ABV?$Reference@VXAccessController@security@star@sun@com@@@uno@star@sun@com@@@Z;
-??0AccessControl@cppu@@QAE@ABV01@@Z;
-?checkRuntimePermission@AccessControl@cppu@@QAAXABVOUString@rtl@@@Z;
-?checkFilePermission@AccessControl@cppu@@QAAXABVOUString@rtl@@0@Z;
-?checkSocketPermission@AccessControl@cppu@@QAAXABVOUString@rtl@@0@Z;
-
-??0UnoUrl@cppu@@QAE@ABV01@@Z;
-??0UnoUrl@cppu@@QAE@ABVOUString@rtl@@@Z;
-??0UnoUrlDescriptor@cppu@@QAE@ABV01@@Z;
-??0UnoUrlDescriptor@cppu@@QAE@ABVOUString@rtl@@@Z;
-??1UnoUrl@cppu@@QAE@XZ;
-??1UnoUrlDescriptor@cppu@@QAE@XZ;
-??4UnoUrl@cppu@@QAEAAV01@ABV01@@Z;
-??4UnoUrlDescriptor@cppu@@QAEAAV01@ABV01@@Z;
-?getConnection@UnoUrl@cppu@@QBEABVUnoUrlDescriptor@2@XZ;
-?getDescriptor@UnoUrlDescriptor@cppu@@QBEABVOUString@rtl@@XZ;
-?getName@UnoUrlDescriptor@cppu@@QBEABVOUString@rtl@@XZ;
-?getObjectName@UnoUrl@cppu@@QBEABVOUString@rtl@@XZ;
-?getParameter@UnoUrlDescriptor@cppu@@QBE?AVOUString@rtl@@ABV34@@Z;
-?getProtocol@UnoUrl@cppu@@QBEABVUnoUrlDescriptor@2@XZ;
-?hasParameter@UnoUrlDescriptor@cppu@@QBE_NABVOUString@rtl@@@Z;
-
-    local:
-        *;
-};
-
-UDK_3.1 {
-    global:
-        ?getCaughtException@cppu@@YA?AVAny@uno@star@sun@com@@XZ;
-
-        
??0OPropertySetHelper@cppu@@QAE@AAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@_N@Z;
-
-        
?bootstrap@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-        ??0BootstrapException@cppu@@QAE@XZ;
-        ??0BootstrapException@cppu@@QAE@ABVOUString@rtl@@@Z;
-        ??0BootstrapException@cppu@@QAE@ABV01@@Z;
-        ??1BootstrapException@cppu@@UAE@XZ;
-        ??4BootstrapException@cppu@@QAEAAV01@ABV01@@Z;
-        ?getMessage@BootstrapException@cppu@@QBEABVOUString@rtl@@XZ;
-} UDK_3_0_0;
-
-UDK_3.2 {
-    global:
-        ??1PropertySetMixinImpl@cppu@@AAE@XZ;
-        
?queryInterface@PropertySetMixinImpl@cppu@@MAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z;
-        
?getPropertySetInfo@PropertySetMixinImpl@cppu@@MAA?AV?$Reference@VXPropertySetInfo@beans@star@sun@com@@@uno@star@sun@com@@XZ;
-        ?notify@BoundListeners@PropertySetMixinImpl@cppu@@QBEXXZ;
-        
?setPropertyValue@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABVAny@uno@star@sun@com@@@Z;
-        
?getPropertyValue@PropertySetMixinImpl@cppu@@MAA?AVAny@uno@star@sun@com@@ABVOUString@rtl@@@Z;
-        
?removePropertyChangeListener@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-        
?removeVetoableChangeListener@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-        
?setFastPropertyValue@PropertySetMixinImpl@cppu@@MAAXJABVAny@uno@star@sun@com@@@Z;
-        
?getFastPropertyValue@PropertySetMixinImpl@cppu@@MAA?AVAny@uno@star@sun@com@@J@Z;
-        
?getPropertyValues@PropertySetMixinImpl@cppu@@MAA?AV?$Sequence@UPropertyValue@beans@star@sun@com@@@uno@star@sun@com@@XZ;
-        
?setPropertyValues@PropertySetMixinImpl@cppu@@MAAXABV?$Sequence@UPropertyValue@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-        
?prepareSet@PropertySetMixinImpl@cppu@@IAEXABVOUString@rtl@@ABVAny@uno@star@sun@com@@1PAVBoundListeners@12@@Z;
-        ??0BoundListeners@PropertySetMixinImpl@cppu@@QAE@XZ;
-        ??1BoundListeners@PropertySetMixinImpl@cppu@@QAE@XZ;
-        
??0PropertySetMixinImpl@cppu@@AAE@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@W4Implements@01@ABV?$Sequence@VOUString@rtl@@@3456@ABVType@3456@@Z;
-        ?dispose@PropertySetMixinImpl@cppu@@IAEXXZ;
-        
?addPropertyChangeListener@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-        
?addVetoableChangeListener@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z;
-} UDK_3.1;
-
-UDK_3.3 {
-    global:
-        
?getTypes@OPropertySetHelper@cppu@@QAE?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ;
-} UDK_3.2;
-
-UDK_3.4 { # OOo 2.4
-    global:
-        ?bootstrap_expandUri@cppu@@YA?AVOUString@rtl@@ABV23@@Z; # 
rtl::OUString cppu::bootstrap_expandUri(rtl::OUString const &)
-} UDK_3.3;
-
-UDK_3.5 { # OOo 3.0
-    global:
-        
??0OPropertySetHelper@cppu@@QAE@AAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@PAVIEventNotificationHook@1@_N@Z;
-} UDK_3.4;
-
-UDK_3.6 { # OOo 3.3
-    global:
-        ?disposeWeakConnectionPoint@OWeakObject@cppu@@IAEXXZ;
-        ?clear@WeakReferenceHelper@uno@star@sun@com@@QAAXXZ;
-        
?createOneInstanceComponentFactory@cppu@@YA?AV?$Reference@VXSingleComponentFactory@lang@star@sun@com@@@uno@star@sun@com@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@3456@@ZABVOUString@rtl@@ABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z;
-} UDK_3.5;
-
-UDK_3.7 { # OOo 3.4
-    global:
-        
?setDependentFastPropertyValue@OPropertySetHelper@cppu@@IAEXJABVAny@uno@star@sun@com@@@Z;
-} UDK_3.6;
-
diff --git a/odk/pack/gendocu/makefile.mk b/odk/pack/gendocu/makefile.mk
index 90e9d67fe3fb..4024dedc8951 100644
--- a/odk/pack/gendocu/makefile.mk
+++ b/odk/pack/gendocu/makefile.mk
@@ -64,7 +64,9 @@ JAVA_BEAN_SRC_FILES=\
         $(JAVA_SRC_DIR)$/com$/sun$/star$/beans$/OfficeConnection.java \
         $(JAVA_SRC_DIR)$/com$/sun$/star$/beans$/OfficeWindow.java
 
-AUTODOCPARAMS= -lg c++ \
+AUTODOCPARAMS=\
+        -ignoredefine CPPUHELPER_DLLPUBLIC \
+        -lg c++ \
         -p sal $(INCOUT) -t sal -t osl -t rtl \
         -p store $(INCOUT) -t store \
         -p registry $(INCOUT) -t registry \
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to