You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by da...@apache.org on 2018/03/10 09:06:23 UTC

svn commit: r1826398 - in /openoffice/trunk/main: autodoc/inc/autodoc/ autodoc/source/exes/adc_uni/ autodoc/source/inc/ autodoc/source/parser/cpp/ autodoc/source/parser/inc/cpp/ cppuhelper/inc/cppuhelper/ cppuhelper/prj/ cppuhelper/source/ odk/pack/gen...

Author: damjan
Date: Sat Mar 10 09:06:22 2018
New Revision: 1826398

URL: http://svn.apache.org/viewvc?rev=1826398&view=rev
Log:
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


Added:
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h   (with props)
Removed:
    openoffice/trunk/main/cppuhelper/source/msvc_win32_intel.map
Modified:
    openoffice/trunk/main/autodoc/inc/autodoc/prs_code.hxx
    openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cl.cxx
    openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.cxx
    openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.hxx
    openoffice/trunk/main/autodoc/source/exes/adc_uni/cmd_run.cxx
    openoffice/trunk/main/autodoc/source/exes/adc_uni/spec-CommandLine.txt
    openoffice/trunk/main/autodoc/source/inc/adc_cl.hxx
    openoffice/trunk/main/autodoc/source/parser/cpp/prs_cpp.cxx
    openoffice/trunk/main/autodoc/source/parser/inc/cpp/prs_cpp.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx
    openoffice/trunk/main/cppuhelper/prj/d.lst
    openoffice/trunk/main/cppuhelper/source/bootstrap.cxx
    openoffice/trunk/main/cppuhelper/source/makefile.mk
    openoffice/trunk/main/odk/pack/gendocu/makefile.mk

Modified: openoffice/trunk/main/autodoc/inc/autodoc/prs_code.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/inc/autodoc/prs_code.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/inc/autodoc/prs_code.hxx (original)
+++ openoffice/trunk/main/autodoc/inc/autodoc/prs_code.hxx Sat Mar 10 09:06:22 2018
@@ -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 &

Modified: openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cl.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cl.cxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cl.cxx (original)
+++ openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cl.cxx Sat Mar 10 09:06:22 2018
@@ -355,6 +355,11 @@ CommandLine::do_Init( int
             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);

Modified: openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.cxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.cxx (original)
+++ openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.cxx Sat Mar 10 09:06:22 2018
@@ -65,6 +65,7 @@ extern const String C_opt_DevmanRoot("-d
 //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");
 

Modified: openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.hxx (original)
+++ openoffice/trunk/main/autodoc/source/exes/adc_uni/adc_cmds.hxx Sat Mar 10 09:06:22 2018
@@ -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;
 

Modified: openoffice/trunk/main/autodoc/source/exes/adc_uni/cmd_run.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/source/exes/adc_uni/cmd_run.cxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/source/exes/adc_uni/cmd_run.cxx (original)
+++ openoffice/trunk/main/autodoc/source/exes/adc_uni/cmd_run.cxx Sat Mar 10 09:06:22 2018
@@ -173,7 +173,8 @@ Parser::Create_CppParser()
     pCppDocuInterpreter = ParseToolsFactory().Create_DocuParser_AutodocStyle();
 
     pCppParser->Setup( CommandLine::Get_().TheRepository(),
-                       *pCppDocuInterpreter );
+                       *pCppDocuInterpreter,
+                       CommandLine::Get_().IgnoreDefines() );
 }
 
 void

Modified: openoffice/trunk/main/autodoc/source/exes/adc_uni/spec-CommandLine.txt
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/source/exes/adc_uni/spec-CommandLine.txt?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/source/exes/adc_uni/spec-CommandLine.txt (original)
+++ openoffice/trunk/main/autodoc/source/exes/adc_uni/spec-CommandLine.txt Sat Mar 10 09:06:22 2018
@@ -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

Modified: openoffice/trunk/main/autodoc/source/inc/adc_cl.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/source/inc/adc_cl.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/source/inc/adc_cl.hxx (original)
+++ openoffice/trunk/main/autodoc/source/inc/adc_cl.hxx Sat Mar 10 09:06:22 2018
@@ -32,6 +32,8 @@
 	// COMPONENTS
 	// PARAMETERS
 
+#include <vector>
+
 namespace ary
 {
     class Repository;
@@ -75,6 +77,9 @@ class CommandLine : public csv::CommandL
     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::CommandL
     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::CommandL
     command::CreateHtml *
                         pCommand_CreateHtml;
 
+    ::std::vector<String> ignoreDefines;
+
     String              sExternRoot;
     String              sExternNamespace;
 

Modified: openoffice/trunk/main/autodoc/source/parser/cpp/prs_cpp.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/source/parser/cpp/prs_cpp.cxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/source/parser/cpp/prs_cpp.cxx (original)
+++ openoffice/trunk/main/autodoc/source/parser/cpp/prs_cpp.cxx Sat Mar 10 09:06:22 2018
@@ -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::Fil
 }
 
 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::Repos
 }
 
 
-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()

Modified: openoffice/trunk/main/autodoc/source/parser/inc/cpp/prs_cpp.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/autodoc/source/parser/inc/cpp/prs_cpp.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/autodoc/source/parser/inc/cpp/prs_cpp.hxx (original)
+++ openoffice/trunk/main/autodoc/source/parser/inc/cpp/prs_cpp.hxx Sat Mar 10 09:06:22 2018
@@ -47,7 +47,9 @@ class Cpluplus_Parser : public autodoc::
 	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 &

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx Sat Mar 10 09:06:22 2018
@@ -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;
     

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx Sat Mar 10 09:06:22 2018
@@ -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 installTypeDescription
     @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
     @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
  *
  * @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);
 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx Sat Mar 10 09:06:22 2018
@@ -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) );

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx Sat Mar 10 09:06:22 2018
@@ -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

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx Sat Mar 10 09:06:22 2018
@@ -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,

Added: openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h?rev=1826398&view=auto
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h (added)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h Sat Mar 10 09:06:22 2018
@@ -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 */
+

Propchange: openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx Sat Mar 10 09:06:22 2018
@@ -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 ::co
               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();
 
 }
 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx Sat Mar 10 09:06:22 2018
@@ -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
     @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
     @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, 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx Sat Mar 10 09:06:22 2018
@@ -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( () );
 }
 
 //

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx Sat Mar 10 09:06:22 2018
@@ -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) );

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx Sat Mar 10 09:06:22 2018
@@ -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,

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h Sat Mar 10 09:06:22 2018
@@ -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.

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx Sat Mar 10 09:06:22 2018
@@ -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 PropertySet
 
    @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

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx Sat Mar 10 09:06:22 2018
@@ -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
 {

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx Sat Mar 10 09:06:22 2018
@@ -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, 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx Sat Mar 10 09:06:22 2018
@@ -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,

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx Sat Mar 10 09:06:22 2018
@@ -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 , 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx Sat Mar 10 09:06:22 2018
@@ -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;

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx Sat Mar 10 09:06:22 2018
@@ -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.

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx Sat Mar 10 09:06:22 2018
@@ -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;

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx Sat Mar 10 09:06:22 2018
@@ -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
 {

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx Sat Mar 10 09:06:22 2018
@@ -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.

Modified: openoffice/trunk/main/cppuhelper/prj/d.lst
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/prj/d.lst?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/prj/d.lst (original)
+++ openoffice/trunk/main/cppuhelper/prj/d.lst Sat Mar 10 09:06:22 2018
@@ -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%\*

Modified: openoffice/trunk/main/cppuhelper/source/bootstrap.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/source/bootstrap.cxx?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/source/bootstrap.cxx (original)
+++ openoffice/trunk/main/cppuhelper/source/bootstrap.cxx Sat Mar 10 09:06:22 2018
@@ -178,6 +178,7 @@ void addFactories(
 }
 
 // private forward decl
+SAL_DLLPUBLIC_EXPORT
 Reference< lang::XMultiComponentFactory > bootstrapInitialSF(
     OUString const & rBootstrapPath )
     SAL_THROW( (Exception) );

Modified: openoffice/trunk/main/cppuhelper/source/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/source/makefile.mk?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/source/makefile.mk (original)
+++ openoffice/trunk/main/cppuhelper/source/makefile.mk Sat Mar 10 09:06:22 2018
@@ -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

Modified: openoffice/trunk/main/odk/pack/gendocu/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/odk/pack/gendocu/makefile.mk?rev=1826398&r1=1826397&r2=1826398&view=diff
==============================================================================
--- openoffice/trunk/main/odk/pack/gendocu/makefile.mk (original)
+++ openoffice/trunk/main/odk/pack/gendocu/makefile.mk Sat Mar 10 09:06:22 2018
@@ -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 \