connectivity/inc/sdbcx/VIndex.hxx                   |    3 ++-
 connectivity/inc/sdbcx/VIndexColumn.hxx             |    3 ++-
 connectivity/source/inc/file/FColumns.hxx           |    2 +-
 connectivity/source/inc/file/FResultSet.hxx         |    2 +-
 connectivity/source/inc/file/fcode.hxx              |    5 +++--
 dbaccess/inc/core_resource.hxx                      |    2 +-
 dbaccess/source/filter/hsqldb/hsqlimport.hxx        |    2 +-
 dbaccess/source/inc/OAuthenticationContinuation.hxx |    2 +-
 dbaccess/source/inc/dsntypes.hxx                    |    4 ++--
 include/basic/basicmanagerrepository.hxx            |    3 ++-
 include/comphelper/SelectionMultiplex.hxx           |    5 +++--
 include/comphelper/asyncnotification.hxx            |    3 ++-
 include/comphelper/containermultiplexer.hxx         |    5 +++--
 include/comphelper/enumhelper.hxx                   |    5 +++--
 include/comphelper/numberedcollection.hxx           |    3 ++-
 include/comphelper/propertystatecontainer.hxx       |    3 ++-
 include/comphelper/sharedmutex.hxx                  |    3 ++-
 include/connectivity/BlobHelper.hxx                 |    3 ++-
 include/connectivity/DriversConfig.hxx              |    3 ++-
 include/connectivity/PColumn.hxx                    |    2 +-
 include/connectivity/dbcharset.hxx                  |    7 ++++---
 include/connectivity/dbexception.hxx                |    3 ++-
 include/connectivity/filtermanager.hxx              |    3 ++-
 include/connectivity/parameters.hxx                 |    2 +-
 include/connectivity/paramwrapper.hxx               |    3 ++-
 include/connectivity/predicateinput.hxx             |    2 +-
 include/connectivity/sqlerror.hxx                   |    3 ++-
 include/connectivity/statementcomposer.hxx          |    3 ++-
 include/connectivity/warningscontainer.hxx          |    3 ++-
 include/dbaccess/dataview.hxx                       |    2 +-
 include/dbaccess/dbsubcomponentcontroller.hxx       |    2 +-
 include/dbaccess/genericcontroller.hxx              |    2 +-
 include/formula/formula.hxx                         |    3 ++-
 include/framework/actiontriggerhelper.hxx           |    3 ++-
 include/framework/titlehelper.hxx                   |    3 ++-
 include/framework/undomanagerhelper.hxx             |    3 ++-
 include/sfx2/docmacromode.hxx                       |    3 ++-
 include/sfx2/docstoragemodifylistener.hxx           |    3 ++-
 include/sfx2/mailmodelapi.hxx                       |    3 ++-
 include/sfx2/signaturestate.hxx                     |    4 +++-
 include/sfx2/thumbnailviewitem.hxx                  |    3 ++-
 include/sfx2/userinputinterception.hxx              |    3 ++-
 include/svl/rngitem.hxx                             |    3 ++-
 include/svtools/editbrowsebox.hxx                   |    2 +-
 include/svtools/extcolorcfg.hxx                     |    3 ++-
 include/svtools/querydelete.hxx                     |    4 +++-
 include/svx/ParseContext.hxx                        |    3 ++-
 include/svx/colorwindow.hxx                         |    2 +-
 include/svx/dbaexchange.hxx                         |    3 ++-
 include/svx/dbaobjectex.hxx                         |    3 ++-
 include/svx/fmgridcl.hxx                            |    4 ++--
 include/svx/fmgridif.hxx                            |    4 ++--
 include/svx/gridctrl.hxx                            |    2 +-
 include/svx/svdetc.hxx                              |    8 ++++----
 include/svx/unoprov.hxx                             |    2 +-
 include/svx/unoshape.hxx                            |    4 ++--
 include/unotools/historyoptions.hxx                 |   11 ++++++-----
 include/unotools/localfilehelper.hxx                |    3 ++-
 include/unotools/sharedunocomponent.hxx             |    3 ++-
 include/vcl/ctrl.hxx                                |    2 +-
 include/vcl/toolkit/ivctrl.hxx                      |    2 +-
 include/xmloff/EnumPropertyHdl.hxx                  |    3 ++-
 include/xmloff/NamedBoolPropertyHdl.hxx             |    3 ++-
 include/xmloff/SettingsExportHelper.hxx             |    3 ++-
 include/xmloff/XMLCharContext.hxx                   |    3 ++-
 include/xmloff/XMLConstantsPropertyHandler.hxx      |    3 ++-
 include/xmloff/controlpropertyhdl.hxx               |    5 +++--
 include/xmloff/txtimppr.hxx                         |    3 ++-
 include/xmloff/txtprmap.hxx                         |    3 ++-
 include/xmloff/xmlnumfe.hxx                         |    3 ++-
 include/xmloff/xmltkmap.hxx                         |    3 ++-
 reportdesign/inc/PropertyForward.hxx                |    3 ++-
 reportdesign/inc/ReportDefinition.hxx               |    3 ++-
 reportdesign/inc/ReportVisitor.hxx                  |    3 ++-
 reportdesign/inc/RptModel.hxx                       |    2 +-
 reportdesign/inc/RptObject.hxx                      |   10 +++++-----
 reportdesign/inc/RptPage.hxx                        |    2 +-
 reportdesign/inc/UndoActions.hxx                    |    2 +-
 reportdesign/inc/conditionalexpression.hxx          |    5 +++--
 reportdesign/inc/reportformula.hxx                  |    3 ++-
 starmath/inc/smdll.hxx                              |    3 ++-
 vcl/source/uitest/uiobject.cxx                      |    2 +-
 writerperfect/inc/WPFTEncodingDialog.hxx            |    4 +++-
 83 files changed, 165 insertions(+), 106 deletions(-)

New commits:
commit 6c5a27efb2522ae3838bbe28ed4770970fa367f8
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Tue Mar 12 21:21:23 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Mar 13 08:14:53 2024 +0100

    SAL_WARN -> SAL_INFO
    
    Change-Id: I1a958ca6e9a084b2237f6467b17476ffeb5a987a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164725
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/vcl/source/uitest/uiobject.cxx b/vcl/source/uitest/uiobject.cxx
index d5e1b6f3ebf9..24b11ecb8556 100644
--- a/vcl/source/uitest/uiobject.cxx
+++ b/vcl/source/uitest/uiobject.cxx
@@ -443,7 +443,7 @@ void addChildren(vcl::Window const * pParent, 
std::set<OUString>& rChildren)
             if (!aId.isEmpty())
             {
                 auto ret = rChildren.insert(aId);
-                SAL_WARN_IF(!ret.second, "vcl.uitest", "duplicate ids '" << 
aId << "' for ui elements. violates locally unique requirement");
+                SAL_INFO_IF(!ret.second, "vcl.uitest", "duplicate ids '" << 
aId << "' for ui elements. violates locally unique requirement");
             }
 
             addChildren(pChild, rChildren);
commit cd35a509ef6d0e1c09e19879fc6dc6a0ecc25bb4
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Mon Mar 11 12:06:38 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Mar 13 08:14:38 2024 +0100

    reduce symbol visibility in --enable-mergelibs=more mode
    
    Change-Id: If811c9ec336543227db73c990248b9113846cf2f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164657
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/connectivity/inc/sdbcx/VIndex.hxx 
b/connectivity/inc/sdbcx/VIndex.hxx
index 5d597efe3a4c..fd9bebe73ec2 100644
--- a/connectivity/inc/sdbcx/VIndex.hxx
+++ b/connectivity/inc/sdbcx/VIndex.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include <config_options.h>
 #include <com/sun/star/sdbcx/XDataDescriptorFactory.hpp>
 #include <comphelper/IdPropArrayHelper.hxx>
 #include <cppuhelper/basemutex.hxx>
@@ -36,7 +37,7 @@ namespace connectivity::sdbcx
         typedef ::cppu::ImplHelper1< css::sdbcx::XDataDescriptorFactory > 
OIndex_BASE;
         typedef ::comphelper::OIdPropertyArrayUsageHelper<OIndex> OIndex_PROP;
 
-        class OOO_DLLPUBLIC_DBTOOLS OIndex :
+        class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) OIndex :
                                     public cppu::BaseMutex,
                                     public ODescriptor_BASE,
                                     public IRefreshableColumns,
diff --git a/connectivity/inc/sdbcx/VIndexColumn.hxx 
b/connectivity/inc/sdbcx/VIndexColumn.hxx
index 056b8239411b..8b9083c7ec75 100644
--- a/connectivity/inc/sdbcx/VIndexColumn.hxx
+++ b/connectivity/inc/sdbcx/VIndexColumn.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include <config_options.h>
 #include <connectivity/dbtoolsdllapi.hxx>
 #include <connectivity/sdbcx/VColumn.hxx>
 
@@ -27,7 +28,7 @@ namespace connectivity::sdbcx
         class OIndexColumn;
         typedef ::comphelper::OIdPropertyArrayUsageHelper<OIndexColumn> 
OIndexColumn_PROP;
 
-        class OOO_DLLPUBLIC_DBTOOLS OIndexColumn :
+        class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) OIndexColumn :
             public OColumn, public OIndexColumn_PROP
         {
             bool    m_IsAscending;
diff --git a/connectivity/source/inc/file/FColumns.hxx 
b/connectivity/source/inc/file/FColumns.hxx
index f5fce16b6f6a..056934f88c65 100644
--- a/connectivity/source/inc/file/FColumns.hxx
+++ b/connectivity/source/inc/file/FColumns.hxx
@@ -26,7 +26,7 @@
 
 namespace connectivity::file
     {
-        class OOO_DLLPUBLIC_FILE OColumns : public sdbcx::OCollection
+        class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_FILE) OColumns : public 
sdbcx::OCollection
         {
         protected:
             OFileTable* m_pTable;
diff --git a/connectivity/source/inc/file/FResultSet.hxx 
b/connectivity/source/inc/file/FResultSet.hxx
index 16371531fb3b..0870593e6388 100644
--- a/connectivity/source/inc/file/FResultSet.hxx
+++ b/connectivity/source/inc/file/FResultSet.hxx
@@ -56,7 +56,7 @@ namespace connectivity::file
                                                   css::lang::XServiceInfo,
                                                   css::lang::XEventListener> 
OResultSet_BASE;
 
-        class OOO_DLLPUBLIC_FILE OResultSet :
+        class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_FILE) OResultSet :
                             public  cppu::BaseMutex,
                             public  ::connectivity::IResultSetHelper,
                             public  OResultSet_BASE,
diff --git a/connectivity/source/inc/file/fcode.hxx 
b/connectivity/source/inc/file/fcode.hxx
index daadbf880f5a..541377c7dd5f 100644
--- a/connectivity/source/inc/file/fcode.hxx
+++ b/connectivity/source/inc/file/fcode.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include <config_options.h>
 #include <connectivity/sqliterator.hxx>
 #include <com/sun/star/sdbc/DataType.hpp>
 #include <connectivity/FValue.hxx>
@@ -36,7 +37,7 @@ namespace connectivity
         class OOperand;
         typedef std::stack<OOperand*> OCodeStack;
 
-        class OOO_DLLPUBLIC_FILE OCode
+        class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_FILE) OCode
         {
         public:
             //virtual dtor to allow this to be the root of the class hierarchy
@@ -244,7 +245,7 @@ namespace connectivity
             virtual bool operate(const OOperand*, const OOperand*) const 
override;
         };
 
-        class OOO_DLLPUBLIC_FILE OOp_COMPARE : public OBoolOperator
+        class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_FILE) OOp_COMPARE : public 
OBoolOperator
         {
             sal_Int32 aPredicateType;
 
diff --git a/dbaccess/inc/core_resource.hxx b/dbaccess/inc/core_resource.hxx
index 0f7a6ba3eef7..000a59bf1713 100644
--- a/dbaccess/inc/core_resource.hxx
+++ b/dbaccess/inc/core_resource.hxx
@@ -30,7 +30,7 @@ namespace dbaccess
 {
     // ResourceManager
     // handling resources within the DBA-Core library
-    class OOO_DLLPUBLIC_DBA ResourceManager
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBA) ResourceManager
     {
     private:
         // no instantiation allowed
diff --git a/dbaccess/source/filter/hsqldb/hsqlimport.hxx 
b/dbaccess/source/filter/hsqldb/hsqlimport.hxx
index 7bab53c24b88..13bbcd510442 100644
--- a/dbaccess/source/filter/hsqldb/hsqlimport.hxx
+++ b/dbaccess/source/filter/hsqldb/hsqlimport.hxx
@@ -23,7 +23,7 @@ class Window;
 
 namespace dbahsql
 {
-class SAL_DLLPUBLIC_EXPORT HsqlImporter
+class UNLESS_MERGELIBS_MORE(SAL_DLLPUBLIC_EXPORT) HsqlImporter
 {
 private:
     css::uno::Reference<css::sdbc::XConnection>& m_rConnection;
diff --git a/dbaccess/source/inc/OAuthenticationContinuation.hxx 
b/dbaccess/source/inc/OAuthenticationContinuation.hxx
index d1eac7b54a23..a87203e7a64c 100644
--- a/dbaccess/source/inc/OAuthenticationContinuation.hxx
+++ b/dbaccess/source/inc/OAuthenticationContinuation.hxx
@@ -31,7 +31,7 @@
 namespace dbaccess
 {
 
-class OOO_DLLPUBLIC_DBA OAuthenticationContinuation :
+class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBA) OAuthenticationContinuation :
     public comphelper::OInteraction< 
css::ucb::XInteractionSupplyAuthentication >
 {
     bool    m_bRememberPassword : 1;      // remember the password for this 
session ?
diff --git a/dbaccess/source/inc/dsntypes.hxx b/dbaccess/source/inc/dsntypes.hxx
index 00ea9844e163..bea655383e86 100644
--- a/dbaccess/source/inc/dsntypes.hxx
+++ b/dbaccess/source/inc/dsntypes.hxx
@@ -101,7 +101,7 @@ enum DATASOURCE_TYPE
 #define PAGE_DBSETUPWIZARD_POSTGRES                  19
 
 // ODsnTypeCollection
-class OOO_DLLPUBLIC_DBA ODsnTypeCollection final
+class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBA) ODsnTypeCollection final
 {
 
     std::vector<OUString> m_aDsnTypesDisplayNames;    /// user readable names 
for the datasource types
@@ -187,7 +187,7 @@ public:
 };
 
 //- ODsnTypeCollection::TypeIterator
-class OOO_DLLPUBLIC_DBA ODsnTypeCollection::TypeIterator
+class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBA) ODsnTypeCollection::TypeIterator
 {
     friend class ODsnTypeCollection;
 
diff --git a/include/basic/basicmanagerrepository.hxx 
b/include/basic/basicmanagerrepository.hxx
index e9e906685ed6..40025784b0ed 100644
--- a/include/basic/basicmanagerrepository.hxx
+++ b/include/basic/basicmanagerrepository.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_BASIC_BASICMANAGERREPOSITORY_HXX
 #define INCLUDED_BASIC_BASICMANAGERREPOSITORY_HXX
 
+#include <config_options.h>
 #include <basic/basicdllapi.h>
 
 namespace com::sun::star::frame { class XModel; }
@@ -62,7 +63,7 @@ namespace basic
 
     //= BasicManagerRepository
 
-    class BASIC_DLLPUBLIC BasicManagerRepository
+    class UNLESS_MERGELIBS_MORE(BASIC_DLLPUBLIC) BasicManagerRepository
     {
     public:
         /** returns the BasicManager belonging to the given document
diff --git a/include/comphelper/SelectionMultiplex.hxx 
b/include/comphelper/SelectionMultiplex.hxx
index ab980984aa16..6e599f544078 100644
--- a/include/comphelper/SelectionMultiplex.hxx
+++ b/include/comphelper/SelectionMultiplex.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_COMPHELPER_SELECTIONMULTIPLEX_HXX
 #define INCLUDED_COMPHELPER_SELECTIONMULTIPLEX_HXX
 
+#include <config_options.h>
 #include <com/sun/star/view/XSelectionChangeListener.hpp>
 #include <com/sun/star/lang/EventObject.hpp>
 #include <cppuhelper/implbase.hxx>
@@ -37,7 +38,7 @@ namespace comphelper
     //= OSelectionChangeListener
 
     /// simple listener adapter for selections
-    class COMPHELPER_DLLPUBLIC OSelectionChangeListener
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OSelectionChangeListener
     {
         friend class OSelectionChangeMultiplexer;
 
@@ -54,7 +55,7 @@ namespace comphelper
     //= OSelectionChangeMultiplexer
 
     /// multiplexer for selection changes
-    class COMPHELPER_DLLPUBLIC OSelectionChangeMultiplexer final : public 
cppu::WeakImplHelper< css::view::XSelectionChangeListener>
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) 
OSelectionChangeMultiplexer final : public cppu::WeakImplHelper< 
css::view::XSelectionChangeListener>
     {
         friend class OSelectionChangeListener;
         css::uno::Reference< css::view::XSelectionSupplier>  m_xSet;
diff --git a/include/comphelper/asyncnotification.hxx 
b/include/comphelper/asyncnotification.hxx
index 5c2416488957..16b36593b963 100644
--- a/include/comphelper/asyncnotification.hxx
+++ b/include/comphelper/asyncnotification.hxx
@@ -21,6 +21,7 @@
 #define INCLUDED_COMPHELPER_ASYNCNOTIFICATION_HXX
 
 #include <sal/config.h>
+#include <config_options.h>
 
 #include <comphelper/comphelperdllapi.h>
 #include <rtl/ref.hxx>
@@ -165,7 +166,7 @@ namespace comphelper
     /** This is a hack (when proper joining is not possible), use of which
         should be avoided by good design.
      */
-    class COMPHELPER_DLLPUBLIC AsyncEventNotifierAutoJoin final
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) 
AsyncEventNotifierAutoJoin final
         : public AsyncEventNotifierBase
         , private osl::Thread
     {
diff --git a/include/comphelper/containermultiplexer.hxx 
b/include/comphelper/containermultiplexer.hxx
index dc3abc1d6148..4c0b782be434 100644
--- a/include/comphelper/containermultiplexer.hxx
+++ b/include/comphelper/containermultiplexer.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_COMPHELPER_CONTAINERMULTIPLEXER_HXX
 #define INCLUDED_COMPHELPER_CONTAINERMULTIPLEXER_HXX
 
+#include <config_options.h>
 #include <com/sun/star/container/XContainerListener.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <comphelper/comphelperdllapi.h>
@@ -42,7 +43,7 @@ namespace comphelper
         In this case, derive this class from OContainerListener, and create an 
adapter
         OContainerListenerAdapter which multiplexes the changes.</p>
     */
-    class COMPHELPER_DLLPUBLIC OContainerListener
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OContainerListener
     {
         friend class OContainerListenerAdapter;
         rtl::Reference<OContainerListenerAdapter>  m_xAdapter;
@@ -68,7 +69,7 @@ namespace comphelper
     // workaround for incremental linking bugs in MSVC2015
     class SAL_DLLPUBLIC_TEMPLATE OContainerListenerAdapter_Base : public 
cppu::WeakImplHelper< css::container::XContainerListener > {};
 
-    class COMPHELPER_DLLPUBLIC OContainerListenerAdapter final : public 
OContainerListenerAdapter_Base
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) 
OContainerListenerAdapter final : public OContainerListenerAdapter_Base
     {
         friend class OContainerListener;
 
diff --git a/include/comphelper/enumhelper.hxx 
b/include/comphelper/enumhelper.hxx
index 91e8af5b8f9a..05b5d3218503 100644
--- a/include/comphelper/enumhelper.hxx
+++ b/include/comphelper/enumhelper.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_COMPHELPER_ENUMHELPER_HXX
 #define INCLUDED_COMPHELPER_ENUMHELPER_HXX
 
+#include <config_options.h>
 #include <com/sun/star/container/XEnumeration.hpp>
 #include <com/sun/star/lang/XEventListener.hpp>
 #include <comphelper/comphelperdllapi.h>
@@ -37,7 +38,7 @@ namespace comphelper
 /** provides a com.sun.star.container::XEnumeration access based
     on an object implementing the com.sun.star.container::XNameAccess interface
 */
-class COMPHELPER_DLLPUBLIC OEnumerationByName final :
+class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OEnumerationByName final :
                          public ::cppu::WeakImplHelper< 
css::container::XEnumeration ,
                                                           
css::lang::XEventListener    >
 {
@@ -99,7 +100,7 @@ class SAL_DLLPUBLIC_TEMPLATE OAnyEnumeration_BASE
     for an outside set vector of Any's.
 
 */
-class COMPHELPER_DLLPUBLIC OAnyEnumeration final :
+class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAnyEnumeration final :
                                            public OAnyEnumeration_BASE
 {
     sal_Int32                         m_nPos;
diff --git a/include/comphelper/numberedcollection.hxx 
b/include/comphelper/numberedcollection.hxx
index 3dbb1f534e9d..ca5a46f56edd 100644
--- a/include/comphelper/numberedcollection.hxx
+++ b/include/comphelper/numberedcollection.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_COMPHELPER_NUMBEREDCOLLECTION_HXX
 #define INCLUDED_COMPHELPER_NUMBEREDCOLLECTION_HXX
 
+#include <config_options.h>
 #include <comphelper/comphelperdllapi.h>
 
 #include <com/sun/star/uno/Reference.h>
@@ -44,7 +45,7 @@ namespace comphelper{
 
     @threadsafe
  */
-class COMPHELPER_DLLPUBLIC NumberedCollection final :
+class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) NumberedCollection final :
                                               public  ::cppu::WeakImplHelper< 
css::frame::XUntitledNumbers >
 {
 
diff --git a/include/comphelper/propertystatecontainer.hxx 
b/include/comphelper/propertystatecontainer.hxx
index 966e2cb9939b..d5da098f1630 100644
--- a/include/comphelper/propertystatecontainer.hxx
+++ b/include/comphelper/propertystatecontainer.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_COMPHELPER_PROPERTYSTATECONTAINER_HXX
 #define INCLUDED_COMPHELPER_PROPERTYSTATECONTAINER_HXX
 
+#include <config_options.h>
 #include <comphelper/propertycontainer.hxx>
 #include <com/sun/star/beans/XPropertyState.hpp>
 #include <cppuhelper/implbase1.hxx>
@@ -42,7 +43,7 @@ namespace comphelper
 
         @see com.sun.star.beans.XPropertyState
     */
-    class COMPHELPER_DLLPUBLIC OPropertyStateContainer
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OPropertyStateContainer
                 :public  OPropertyContainer
                 ,public  OPropertyStateContainer_TBase
     {
diff --git a/include/comphelper/sharedmutex.hxx 
b/include/comphelper/sharedmutex.hxx
index a92c7ccb33e6..745394a9a237 100644
--- a/include/comphelper/sharedmutex.hxx
+++ b/include/comphelper/sharedmutex.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_COMPHELPER_SHAREDMUTEX_HXX
 #define INCLUDED_COMPHELPER_SHAREDMUTEX_HXX
 
+#include <config_options.h>
 #include <comphelper/comphelperdllapi.h>
 #include <memory>
 
@@ -31,7 +32,7 @@ namespace comphelper
 
     //= SharedMutex
 
-    class COMPHELPER_DLLPUBLIC SharedMutex
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) SharedMutex
     {
     public:
         SharedMutex();
diff --git a/include/connectivity/BlobHelper.hxx 
b/include/connectivity/BlobHelper.hxx
index 95b5892dc006..ff608912e30d 100644
--- a/include/connectivity/BlobHelper.hxx
+++ b/include/connectivity/BlobHelper.hxx
@@ -18,13 +18,14 @@
  */
 #pragma once
 
+#include <config_options.h>
 #include <connectivity/dbtoolsdllapi.hxx>
 #include <com/sun/star/sdbc/XBlob.hpp>
 #include <cppuhelper/implbase.hxx>
 
 namespace connectivity
 {
-    class OOO_DLLPUBLIC_DBTOOLS BlobHelper final : public 
::cppu::WeakImplHelper< css::sdbc::XBlob >
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) BlobHelper final : 
public ::cppu::WeakImplHelper< css::sdbc::XBlob >
     {
         css::uno::Sequence< sal_Int8 > m_aValue;
     public:
diff --git a/include/connectivity/DriversConfig.hxx 
b/include/connectivity/DriversConfig.hxx
index 8dd8d23ca846..bd233205e870 100644
--- a/include/connectivity/DriversConfig.hxx
+++ b/include/connectivity/DriversConfig.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_CONNECTIVITY_DRIVERSCONFIG_HXX
 #define INCLUDED_CONNECTIVITY_DRIVERSCONFIG_HXX
 
+#include <config_options.h>
 #include <sal/config.h>
 
 #include <map>
@@ -54,7 +55,7 @@ namespace connectivity
 
     // Allows to access all driver which are located in the configuration
 
-    class OOO_DLLPUBLIC_DBTOOLS DriversConfig
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) DriversConfig
     {
         typedef comphelper::SingletonRef<DriversConfigImpl> OSharedConfigNode;
 
diff --git a/include/connectivity/PColumn.hxx b/include/connectivity/PColumn.hxx
index 46ceaa1bb099..e4a5826b861e 100644
--- a/include/connectivity/PColumn.hxx
+++ b/include/connectivity/PColumn.hxx
@@ -40,7 +40,7 @@ namespace connectivity::parse
         typedef sdbcx::OColumn OParseColumn_BASE;
         typedef ::comphelper::OPropertyArrayUsageHelper<OParseColumn> 
OParseColumn_PROP;
 
-        class OOO_DLLPUBLIC_DBTOOLS OParseColumn final :
+        class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) OParseColumn final :
             public OParseColumn_BASE, public OParseColumn_PROP
         {
             OUString    m_aRealName;
diff --git a/include/connectivity/dbcharset.hxx 
b/include/connectivity/dbcharset.hxx
index 18ef0fe67fc3..e8e10f9f1d24 100644
--- a/include/connectivity/dbcharset.hxx
+++ b/include/connectivity/dbcharset.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_CONNECTIVITY_DBCHARSET_HXX
 #define INCLUDED_CONNECTIVITY_DBCHARSET_HXX
 
+#include <config_options.h>
 #include <sal/config.h>
 
 #include <set>
@@ -50,7 +51,7 @@ namespace dbtools
         </ul>
         </p>
     */
-    class OOO_DLLPUBLIC_DBTOOLS OCharsetMap
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) OCharsetMap
     {
     protected:
         typedef std::set<rtl_TextEncoding> TextEncBag;
@@ -91,7 +92,7 @@ namespace dbtools
 
     //- CharsetIteratorDerefHelper
 
-    class OOO_DLLPUBLIC_DBTOOLS CharsetIteratorDerefHelper
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) 
CharsetIteratorDerefHelper
     {
         friend class OCharsetMap::CharsetIterator;
 
@@ -112,7 +113,7 @@ namespace dbtools
 
     //- OCharsetMap::CharsetIterator
 
-    class OOO_DLLPUBLIC_DBTOOLS OCharsetMap::CharsetIterator
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) 
OCharsetMap::CharsetIterator
     {
         friend class OCharsetMap;
 
diff --git a/include/connectivity/dbexception.hxx 
b/include/connectivity/dbexception.hxx
index 8c9dfad33efe..7166ec2ef6c4 100644
--- a/include/connectivity/dbexception.hxx
+++ b/include/connectivity/dbexception.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_CONNECTIVITY_DBEXCEPTION_HXX
 #define INCLUDED_CONNECTIVITY_DBEXCEPTION_HXX
 
+#include <config_options.h>
 #include <connectivity/standardsqlstate.hxx>
 #include <connectivity/dbtoolsdllapi.hxx>
 #include <com/sun/star/uno/Reference.hxx>
@@ -145,7 +146,7 @@ private:
 //= SQLExceptionIteratorHelper - iterating through an SQLException chain
 
 
-class OOO_DLLPUBLIC_DBTOOLS SQLExceptionIteratorHelper final
+class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) SQLExceptionIteratorHelper 
final
 {
     const css::sdbc::SQLException* m_pCurrent;
     SQLExceptionInfo::TYPE                      m_eCurrentType;
diff --git a/include/connectivity/filtermanager.hxx 
b/include/connectivity/filtermanager.hxx
index b6f104aa4037..b6555fc1519d 100644
--- a/include/connectivity/filtermanager.hxx
+++ b/include/connectivity/filtermanager.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_CONNECTIVITY_FILTERMANAGER_HXX
 #define INCLUDED_CONNECTIVITY_FILTERMANAGER_HXX
 
+#include <config_options.h>
 #include <com/sun/star/uno/Reference.hxx>
 
 #include <rtl/ustrbuf.hxx>
@@ -54,7 +55,7 @@ namespace dbtools
         controls which act as live filter, which could be implemented with a 
third component), but
         at the moment there are only these two.
     */
-    class OOO_DLLPUBLIC_DBTOOLS FilterManager
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) FilterManager
     {
     public:
         enum class FilterComponent
diff --git a/include/connectivity/parameters.hxx 
b/include/connectivity/parameters.hxx
index 8d526c983af5..6db302188785 100644
--- a/include/connectivity/parameters.hxx
+++ b/include/connectivity/parameters.hxx
@@ -56,7 +56,7 @@ namespace dbtools
     //= ParameterManager
 
     class FilterManager;
-    class OOO_DLLPUBLIC_DBTOOLS ParameterManager
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) ParameterManager
     {
     public:
         /// classifies the origin of the data to fill a parameter
diff --git a/include/connectivity/paramwrapper.hxx 
b/include/connectivity/paramwrapper.hxx
index 4905e4fc2fe7..dc287cda0469 100644
--- a/include/connectivity/paramwrapper.hxx
+++ b/include/connectivity/paramwrapper.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_CONNECTIVITY_PARAMWRAPPER_HXX
 #define INCLUDED_CONNECTIVITY_PARAMWRAPPER_HXX
 
+#include <config_options.h>
 #include <connectivity/dbtoolsdllapi.hxx>
 #include <connectivity/FValue.hxx>
 
@@ -127,7 +128,7 @@ namespace dbtools::param
                                                >   
ParameterWrapperContainer_Base;
 
     /// class for the parameter event @see approveParameter
-    class OOO_DLLPUBLIC_DBTOOLS ParameterWrapperContainer final :
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) 
ParameterWrapperContainer final :
         public ParameterWrapperContainer_Base
     {
     private:
diff --git a/include/connectivity/predicateinput.hxx 
b/include/connectivity/predicateinput.hxx
index 3d9fb0a71a25..6d5a47801ec2 100644
--- a/include/connectivity/predicateinput.hxx
+++ b/include/connectivity/predicateinput.hxx
@@ -41,7 +41,7 @@ namespace dbtools
     /** A class which allows input of an SQL predicate for a row set column
         into an edit field.
     */
-    class OOO_DLLPUBLIC_DBTOOLS OPredicateInputController
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) 
OPredicateInputController
     {
     private:
         css::uno::Reference< css::sdbc::XConnection >
diff --git a/include/connectivity/sqlerror.hxx 
b/include/connectivity/sqlerror.hxx
index 252fe479e566..6728684b659f 100644
--- a/include/connectivity/sqlerror.hxx
+++ b/include/connectivity/sqlerror.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_CONNECTIVITY_SQLERROR_HXX
 #define INCLUDED_CONNECTIVITY_SQLERROR_HXX
 
+#include <config_options.h>
 #include <com/sun/star/sdbc/SQLException.hpp>
 #include <connectivity/dbtoolsdllapi.hxx>
 #include <optional>
@@ -55,7 +56,7 @@ namespace connectivity
 
         @see css::sdb::ErrorCondition
     */
-    class OOO_DLLPUBLIC_DBTOOLS SQLError
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) SQLError
     {
     public:
                         SQLError();
diff --git a/include/connectivity/statementcomposer.hxx 
b/include/connectivity/statementcomposer.hxx
index 88fa61f553b1..537204dc946b 100644
--- a/include/connectivity/statementcomposer.hxx
+++ b/include/connectivity/statementcomposer.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_CONNECTIVITY_STATEMENTCOMPOSER_HXX
 #define INCLUDED_CONNECTIVITY_STATEMENTCOMPOSER_HXX
 
+#include <config_options.h>
 #include <rtl/ustring.hxx>
 
 #include <memory>
@@ -39,7 +40,7 @@ namespace dbtools
     struct StatementComposer_Data;
     /** a class which is able to compose queries (SELECT statements) from a 
command and a command type
     */
-    class OOO_DLLPUBLIC_DBTOOLS StatementComposer
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) StatementComposer
     {
         ::std::unique_ptr< StatementComposer_Data >   m_pData;
 
diff --git a/include/connectivity/warningscontainer.hxx 
b/include/connectivity/warningscontainer.hxx
index 5be03ca5efcf..b6e79d9ba0ee 100644
--- a/include/connectivity/warningscontainer.hxx
+++ b/include/connectivity/warningscontainer.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_CONNECTIVITY_WARNINGSCONTAINER_HXX
 #define INCLUDED_CONNECTIVITY_WARNINGSCONTAINER_HXX
 
+#include <config_options.h>
 #include <connectivity/dbtoolsdllapi.hxx>
 
 #include <com/sun/star/uno/Reference.hxx>
@@ -37,7 +38,7 @@ namespace dbtools
     /** helper class for implementing XWarningsSupplier, which mixes own 
warnings with
         warnings obtained from an external instance
     */
-    class OOO_DLLPUBLIC_DBTOOLS WarningsContainer
+    class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBTOOLS) WarningsContainer
     {
     private:
         css::uno::Reference< css::sdbc::XWarningsSupplier >   
m_xExternalWarnings;
diff --git a/include/dbaccess/dataview.hxx b/include/dbaccess/dataview.hxx
index b6308663366a..702f785b0a52 100644
--- a/include/dbaccess/dataview.hxx
+++ b/include/dbaccess/dataview.hxx
@@ -43,7 +43,7 @@ namespace tools { class Rectangle; }
 namespace dbaui
 {
     class IController;
-    class DBACCESS_DLLPUBLIC ODataView :    public vcl::Window
+    class UNLESS_MERGELIBS_MORE(DBACCESS_DLLPUBLIC) ODataView :    public 
vcl::Window
     {
         css::uno::Reference< css::uno::XComponentContext >    m_xContext;  // 
the service factory to work with
 
diff --git a/include/dbaccess/dbsubcomponentcontroller.hxx 
b/include/dbaccess/dbsubcomponentcontroller.hxx
index ff821bb0b064..43cbf41fe6cf 100644
--- a/include/dbaccess/dbsubcomponentcontroller.hxx
+++ b/include/dbaccess/dbsubcomponentcontroller.hxx
@@ -62,7 +62,7 @@ namespace dbaui
                                          >   DBSubComponentController_Base;
 
     struct DBSubComponentController_Impl;
-    class DBACCESS_DLLPUBLIC DBSubComponentController : public 
DBSubComponentController_Base
+    class UNLESS_MERGELIBS_MORE(DBACCESS_DLLPUBLIC) DBSubComponentController : 
public DBSubComponentController_Base
     {
     private:
         ::std::unique_ptr<DBSubComponentController_Impl> m_pImpl;
diff --git a/include/dbaccess/genericcontroller.hxx 
b/include/dbaccess/genericcontroller.hxx
index 0438c091a86d..2624a2c4449f 100644
--- a/include/dbaccess/genericcontroller.hxx
+++ b/include/dbaccess/genericcontroller.hxx
@@ -199,7 +199,7 @@ namespace dbaui
 
     struct OGenericUnoController_Data;
 
-    class DBACCESS_DLLPUBLIC OGenericUnoController
+    class UNLESS_MERGELIBS_MORE(DBACCESS_DLLPUBLIC) OGenericUnoController
                                 :public OGenericUnoController_MBASE
                                 ,public OGenericUnoController_Base
                                 ,public IController
diff --git a/include/formula/formula.hxx b/include/formula/formula.hxx
index aed0e1b0d714..06a932b272b3 100644
--- a/include/formula/formula.hxx
+++ b/include/formula/formula.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_FORMULA_FORMULA_HXX
 #define INCLUDED_FORMULA_FORMULA_HXX
 
+#include <config_options.h>
 #include <memory>
 #include <utility>
 
@@ -52,7 +53,7 @@ class RefEdit;
 class RefButton;
 class FormEditData;
 
-class FORMULA_DLLPUBLIC FormulaModalDialog
+class UNLESS_MERGELIBS_MORE(FORMULA_DLLPUBLIC) FormulaModalDialog
     : public weld::GenericDialogController, public 
formula::IFormulaEditorHelper
 {
     friend class FormulaDlg_Impl;
diff --git a/include/framework/actiontriggerhelper.hxx 
b/include/framework/actiontriggerhelper.hxx
index d0efa7a3a39b..ec9574b537da 100644
--- a/include/framework/actiontriggerhelper.hxx
+++ b/include/framework/actiontriggerhelper.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include <config_options.h>
 #include <framework/fwkdllapi.h>
 #include <com/sun/star/uno/Reference.hxx>
 
@@ -27,7 +28,7 @@ namespace com::sun::star::container { class XIndexContainer; }
 
 namespace framework
 {
-    class FWK_DLLPUBLIC ActionTriggerHelper
+    class UNLESS_MERGELIBS_MORE(FWK_DLLPUBLIC) ActionTriggerHelper
     {
         public:
             // Fills the submitted menu with the structure contained in the 
second
diff --git a/include/framework/titlehelper.hxx 
b/include/framework/titlehelper.hxx
index 2b6e251d34f8..b0afc7c77b75 100644
--- a/include/framework/titlehelper.hxx
+++ b/include/framework/titlehelper.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_FRAMEWORK_TITLEHELPER_HXX
 #define INCLUDED_FRAMEWORK_TITLEHELPER_HXX
 
+#include <config_options.h>
 #include <com/sun/star/uno/Reference.hxx>
 #include <com/sun/star/frame/XTitle.hpp>
 #include <com/sun/star/frame/XTitleChangeBroadcaster.hpp>
@@ -50,7 +51,7 @@ namespace framework{
 
     @threadsafe
  */
-class FWK_DLLPUBLIC TitleHelper final : private ::cppu::BaseMutex
+class UNLESS_MERGELIBS_MORE(FWK_DLLPUBLIC) TitleHelper final : private 
::cppu::BaseMutex
                   , public  ::cppu::WeakImplHelper< css::frame::XTitle         
        ,
                                                      
css::frame::XTitleChangeBroadcaster,
                                                      
css::frame::XTitleChangeListener   ,
diff --git a/include/framework/undomanagerhelper.hxx 
b/include/framework/undomanagerhelper.hxx
index eb9986919b90..c1d142e49aba 100644
--- a/include/framework/undomanagerhelper.hxx
+++ b/include/framework/undomanagerhelper.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_FRAMEWORK_UNDOMANAGERHELPER_HXX
 #define INCLUDED_FRAMEWORK_UNDOMANAGERHELPER_HXX
 
+#include <config_options.h>
 #include <framework/fwkdllapi.h>
 #include <com/sun/star/uno/Sequence.hxx>
 #include <com/sun/star/uno/Reference.hxx>
@@ -110,7 +111,7 @@ namespace framework
         the dreaded SolarMutex being locked when they're called, the above 
behavior is a compromise between "how it should
         be" and "how it can realistically be".
     */
-    class FWK_DLLPUBLIC UndoManagerHelper
+    class UNLESS_MERGELIBS_MORE(FWK_DLLPUBLIC) UndoManagerHelper
     {
     public:
         UndoManagerHelper( IUndoManagerImplementation& i_undoManagerImpl );
diff --git a/include/sfx2/docmacromode.hxx b/include/sfx2/docmacromode.hxx
index 688297f26598..0816f310b45b 100644
--- a/include/sfx2/docmacromode.hxx
+++ b/include/sfx2/docmacromode.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_SFX2_DOCMACROMODE_HXX
 #define INCLUDED_SFX2_DOCMACROMODE_HXX
 
+#include <config_options.h>
 #include <sfx2/dllapi.h>
 #include <sfx2/signaturestate.hxx>
 
@@ -178,7 +179,7 @@ namespace sfx2
 
         @see css::document::MacroExecMode
     */
-    class SFX2_DLLPUBLIC DocumentMacroMode
+    class UNLESS_MERGELIBS_MORE(SFX2_DLLPUBLIC) DocumentMacroMode
     {
     public:
         /** creates an instance
diff --git a/include/sfx2/docstoragemodifylistener.hxx 
b/include/sfx2/docstoragemodifylistener.hxx
index 8530711cad1e..4fc77be43c1d 100644
--- a/include/sfx2/docstoragemodifylistener.hxx
+++ b/include/sfx2/docstoragemodifylistener.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_SFX2_DOCSTORAGEMODIFYLISTENER_HXX
 #define INCLUDED_SFX2_DOCSTORAGEMODIFYLISTENER_HXX
 
+#include <config_options.h>
 #include <sfx2/dllapi.h>
 
 #include <com/sun/star/util/XModifyListener.hpp>
@@ -50,7 +51,7 @@ namespace sfx2
 
     //= DocumentStorageModifyListener
 
-    class SFX2_DLLPUBLIC DocumentStorageModifyListener final : public 
cppu::WeakImplHelper<css::util::XModifyListener>
+    class UNLESS_MERGELIBS_MORE(SFX2_DLLPUBLIC) DocumentStorageModifyListener 
final : public cppu::WeakImplHelper<css::util::XModifyListener>
     {
         IModifiableDocument*    m_pDocument;
         comphelper::SolarMutex& m_rMutex;
diff --git a/include/sfx2/mailmodelapi.hxx b/include/sfx2/mailmodelapi.hxx
index 78438ff22483..cc4f143e9ada 100644
--- a/include/sfx2/mailmodelapi.hxx
+++ b/include/sfx2/mailmodelapi.hxx
@@ -18,6 +18,7 @@
  */
 #pragma once
 
+#include <config_options.h>
 #include <com/sun/star/uno/Reference.hxx>
 #include <rtl/ustring.hxx>
 #include <sfx2/dllapi.h>
@@ -37,7 +38,7 @@ typedef ::std::vector< OUString > AddressList_Impl;
 
 // class SfxMailModel_Impl -----------------------------------------------
 
-class SFX2_DLLPUBLIC SfxMailModel
+class UNLESS_MERGELIBS_MORE(SFX2_DLLPUBLIC) SfxMailModel
 {
 protected:
     enum SaveResult
diff --git a/include/sfx2/signaturestate.hxx b/include/sfx2/signaturestate.hxx
index d63498d1cbe4..858f733bea6a 100644
--- a/include/sfx2/signaturestate.hxx
+++ b/include/sfx2/signaturestate.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_SFX2_SIGNATURESTATE_HXX
 #define INCLUDED_SFX2_SIGNATURESTATE_HXX
 
+#include <config_options.h>
 #include <sfx2/dllapi.h>
 
 #include <com/sun/star/security/DocumentSignatureInformation.hpp>
@@ -45,7 +46,8 @@ enum class SignatureState
 namespace DocumentSignatures
 {
 /** Get document signature state */
-SFX2_DLLPUBLIC SignatureState
+UNLESS_MERGELIBS_MORE(SFX2_DLLPUBLIC)
+SignatureState
 getSignatureState(const 
css::uno::Sequence<css::security::DocumentSignatureInformation>& aInfos);
 }
 
diff --git a/include/sfx2/thumbnailviewitem.hxx 
b/include/sfx2/thumbnailviewitem.hxx
index 22020c47728d..2aced41486c0 100644
--- a/include/sfx2/thumbnailviewitem.hxx
+++ b/include/sfx2/thumbnailviewitem.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include <config_options.h>
 #include <basegfx/vector/b2dvector.hxx>
 #include <drawinglayer/attribute/fontattribute.hxx>
 #include <vcl/bitmapex.hxx>
@@ -61,7 +62,7 @@ struct ThumbnailItemAttributes
     drawinglayer::attribute::FontAttribute aFontAttr;
 };
 
-class SFX2_DLLPUBLIC ThumbnailViewItem
+class UNLESS_MERGELIBS_MORE(SFX2_DLLPUBLIC) ThumbnailViewItem
 {
 public:
 
diff --git a/include/sfx2/userinputinterception.hxx 
b/include/sfx2/userinputinterception.hxx
index f948579785ed..2ed1eb0b8f5c 100644
--- a/include/sfx2/userinputinterception.hxx
+++ b/include/sfx2/userinputinterception.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_SFX2_USERINPUTINTERCEPTION_HXX
 #define INCLUDED_SFX2_USERINPUTINTERCEPTION_HXX
 
+#include <config_options.h>
 #include <sfx2/dllapi.h>
 
 #include <memory>
@@ -44,7 +45,7 @@ namespace sfx2
     /** helper class for implementing the XUserInputInterception interface
         for a controller implementation
     */
-    class SFX2_DLLPUBLIC UserInputInterception
+    class UNLESS_MERGELIBS_MORE(SFX2_DLLPUBLIC) UserInputInterception
     {
     public:
         UserInputInterception( ::cppu::OWeakObject& _rControllerImpl, 
::osl::Mutex& _rMutex );
diff --git a/include/svl/rngitem.hxx b/include/svl/rngitem.hxx
index 7e8caf93742f..8e41184749b1 100644
--- a/include/svl/rngitem.hxx
+++ b/include/svl/rngitem.hxx
@@ -20,13 +20,14 @@
 #ifndef INCLUDED_SVL_RNGITEM_HXX
 #define INCLUDED_SVL_RNGITEM_HXX
 
+#include <config_options.h>
 #include <svl/svldllapi.h>
 #include <svl/poolitem.hxx>
 
 class SvStream;
 
 
-class SVL_DLLPUBLIC SfxRangeItem final : public SfxPoolItem
+class UNLESS_MERGELIBS_MORE(SVL_DLLPUBLIC) SfxRangeItem final : public 
SfxPoolItem
 {
 private:
     sal_uInt16                  nFrom;
diff --git a/include/svtools/editbrowsebox.hxx 
b/include/svtools/editbrowsebox.hxx
index c89a396a9dc7..9dcc6440bb81 100644
--- a/include/svtools/editbrowsebox.hxx
+++ b/include/svtools/editbrowsebox.hxx
@@ -916,7 +916,7 @@ namespace svt
         EditBrowseBox(EditBrowseBox const &) = delete;
         EditBrowseBox& operator=(EditBrowseBox const &) = delete;
 
-        class BrowserMouseEventPtr
+        class SAL_DLLPRIVATE BrowserMouseEventPtr
         {
             std::unique_ptr<BrowserMouseEvent> pEvent;
             bool               bDown;
diff --git a/include/svtools/extcolorcfg.hxx b/include/svtools/extcolorcfg.hxx
index 26bd4048e08d..1b1f4a9d0b08 100644
--- a/include/svtools/extcolorcfg.hxx
+++ b/include/svtools/extcolorcfg.hxx
@@ -18,6 +18,7 @@
  */
 #pragma once
 
+#include <config_options.h>
 #include <svtools/svtdllapi.h>
 #include <rtl/ustring.hxx>
 #include <svl/SfxBroadcaster.hxx>
@@ -57,7 +58,7 @@ public:
     void            setColor(Color _nColor) { m_nColor = _nColor; }
 };
 
-class SVT_DLLPUBLIC ExtendedColorConfig final : public SfxBroadcaster, public 
SfxListener
+class UNLESS_MERGELIBS_MORE(SVT_DLLPUBLIC) ExtendedColorConfig final : public 
SfxBroadcaster, public SfxListener
 {
     friend class ExtendedColorConfig_Impl;
 private:
diff --git a/include/svtools/querydelete.hxx b/include/svtools/querydelete.hxx
index 31f494ea66c7..e473db8d18e2 100644
--- a/include/svtools/querydelete.hxx
+++ b/include/svtools/querydelete.hxx
@@ -18,6 +18,7 @@
  */
 #pragma once
 
+#include <config_options.h>
 #include <memory>
 #include <vcl/weld.hxx>
 #include <svtools/svtdllapi.h>
@@ -32,7 +33,8 @@ enum QueryDeleteResult_Impl
     QUERYDELETE_ALL = 101
 };
 
-class SVT_DLLPUBLIC QueryDeleteDlg_Impl final : public 
weld::MessageDialogController
+class UNLESS_MERGELIBS_MORE(SVT_DLLPUBLIC) QueryDeleteDlg_Impl final
+    : public weld::MessageDialogController
 {
 private:
     std::unique_ptr<weld::Button> m_xAllButton;
diff --git a/include/svx/ParseContext.hxx b/include/svx/ParseContext.hxx
index b5b8b7c84ea6..bbd8d312141b 100644
--- a/include/svx/ParseContext.hxx
+++ b/include/svx/ParseContext.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_SVX_PARSECONTEXT_HXX
 #define INCLUDED_SVX_PARSECONTEXT_HXX
 
+#include <config_options.h>
 #include <com/sun/star/lang/Locale.hpp>
 
 #include <connectivity/IParseContext.hxx>
@@ -70,7 +71,7 @@ namespace svxform
     /** helper class which needs access to a (shared and ref-counted) 
OSystemParseContext
         instance.
     */
-    class SVXCORE_DLLPUBLIC OParseContextClient
+    class UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) OParseContextClient
     {
     protected:
         OParseContextClient();
diff --git a/include/svx/colorwindow.hxx b/include/svx/colorwindow.hxx
index c0feb10f1f61..d88db32426a7 100644
--- a/include/svx/colorwindow.hxx
+++ b/include/svx/colorwindow.hxx
@@ -32,7 +32,7 @@ namespace com::sun::star::frame { class XFrame; }
 class PaletteManager;
 class ToolBox;
 
-class SVXCORE_DLLPUBLIC ColorStatus
+class UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) ColorStatus
 {
     Color maColor;
     Color maTLBRColor;
diff --git a/include/svx/dbaexchange.hxx b/include/svx/dbaexchange.hxx
index c5a0193b886a..f6407f7208b7 100644
--- a/include/svx/dbaexchange.hxx
+++ b/include/svx/dbaexchange.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_SVX_DBAEXCHANGE_HXX
 #define INCLUDED_SVX_DBAEXCHANGE_HXX
 
+#include <config_options.h>
 #include <sal/config.h>
 
 #include <o3tl/typed_flags_set.hxx>
@@ -240,7 +241,7 @@ namespace svx
 
     /** class for transferring multiple columns
     */
-    class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC OMultiColumnTransferable final : 
public TransferDataContainer
+    class SAL_WARN_UNUSED UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) 
OMultiColumnTransferable final : public TransferDataContainer
     {
     public:
         OMultiColumnTransferable();
diff --git a/include/svx/dbaobjectex.hxx b/include/svx/dbaobjectex.hxx
index 2a0d243cce0a..0fc0bf7a3b5f 100644
--- a/include/svx/dbaobjectex.hxx
+++ b/include/svx/dbaobjectex.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_SVX_DBAOBJECTEX_HXX
 #define INCLUDED_SVX_DBAOBJECTEX_HXX
 
+#include <config_options.h>
 #include <vcl/transfer.hxx>
 #include <svx/dataaccessdescriptor.hxx>
 #include <svx/svxdllapi.h>
@@ -29,7 +30,7 @@ namespace com::sun::star::ucb { class XContent; }
 namespace svx
 {
     //= OComponentTransferable
-    class SAL_WARN_UNUSED SVX_DLLPUBLIC OComponentTransferable final : public 
TransferDataContainer
+    class SAL_WARN_UNUSED UNLESS_MERGELIBS_MORE(SVX_DLLPUBLIC) 
OComponentTransferable final : public TransferDataContainer
     {
     public:
         OComponentTransferable();
diff --git a/include/svx/fmgridcl.hxx b/include/svx/fmgridcl.hxx
index 43d59ecb3ec1..1b07a29a5d82 100644
--- a/include/svx/fmgridcl.hxx
+++ b/include/svx/fmgridcl.hxx
@@ -32,7 +32,7 @@ namespace weld { class Menu; }
 // FmGridHeader
 
 struct FmGridHeaderData;
-class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC FmGridHeader
+class SAL_WARN_UNUSED UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) FmGridHeader
             :public ::svt::EditBrowserHeader
             ,public DropTargetHelper
 {
@@ -87,7 +87,7 @@ private:
 // FmGridControl
 
 class FmXGridPeer;
-class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC FmGridControl : public DbGridControl
+class SAL_WARN_UNUSED UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) FmGridControl : 
public DbGridControl
 
 {
     friend class FmGridHeader;
diff --git a/include/svx/fmgridif.hxx b/include/svx/fmgridif.hxx
index a7ffb7289797..e3011cda8dae 100644
--- a/include/svx/fmgridif.hxx
+++ b/include/svx/fmgridif.hxx
@@ -205,7 +205,7 @@ typedef ::cppu::ImplHelper10<   css::form::XBoundComponent,
                             >   FmXGridControl_BASE;
 
 class FmXGridPeer;
-class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC FmXGridControl  :public UnoControl
+class SAL_WARN_UNUSED UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) FmXGridControl  
:public UnoControl
                         ,public FmXGridControl_BASE
 {
     FmXModifyMultiplexer        m_aModifyListeners;
@@ -316,7 +316,7 @@ protected:
 
 // FmXGridPeer -> Peer for the Gridcontrol
 class FmGridControl;
-class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC FmXGridPeer:
+class SAL_WARN_UNUSED UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) FmXGridPeer:
     public cppu::ImplInheritanceHelper<
         VCLXWindow,
         css::form::XGridPeer,
diff --git a/include/svx/gridctrl.hxx b/include/svx/gridctrl.hxx
index f47520090fba..27d7f25c7cf2 100644
--- a/include/svx/gridctrl.hxx
+++ b/include/svx/gridctrl.hxx
@@ -218,7 +218,7 @@ private:
     void PositionDataSource(sal_Int32 nRecord);
 };
 
-class SVXCORE_DLLPUBLIC DbGridControl : public svt::EditBrowseBox
+class UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) DbGridControl : public 
svt::EditBrowseBox
 {
     friend class FmXGridSourcePropListener;
     friend class GridFieldValueListener;
diff --git a/include/svx/svdetc.hxx b/include/svx/svdetc.hxx
index bcff88d33809..69cdb6ea663c 100644
--- a/include/svx/svdetc.hxx
+++ b/include/svx/svdetc.hxx
@@ -166,14 +166,14 @@ class OLEObjCache
 
 public:
     OLEObjCache();
-    SVXCORE_DLLPUBLIC ~OLEObjCache();
+    UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) ~OLEObjCache();
 
     void InsertObj(SdrOle2Obj* pObj);
     void RemoveObj(SdrOle2Obj* pObj);
 
-    SVXCORE_DLLPUBLIC size_t size() const;
-    SVXCORE_DLLPUBLIC SdrOle2Obj* operator[](size_t nPos);
-    SVXCORE_DLLPUBLIC const SdrOle2Obj* operator[](size_t nPos) const;
+    UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) size_t size() const;
+    UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) SdrOle2Obj* operator[](size_t 
nPos);
+    UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) const SdrOle2Obj* 
operator[](size_t nPos) const;
 };
 
 
diff --git a/include/svx/unoprov.hxx b/include/svx/unoprov.hxx
index 1a825dbd612a..e67cd69d79bc 100644
--- a/include/svx/unoprov.hxx
+++ b/include/svx/unoprov.hxx
@@ -79,7 +79,7 @@ public:
  * SvxUnoPropertyMapProvider
  */
 
-class SVXCORE_DLLPUBLIC SvxUnoPropertyMapProvider
+class UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) SvxUnoPropertyMapProvider
 {
     std::span<SfxItemPropertyMapEntry const> aMapArr[SVXMAP_END];
     std::unique_ptr<SvxItemPropertySet> aSetArr[SVXMAP_END];
diff --git a/include/svx/unoshape.hxx b/include/svx/unoshape.hxx
index 5ff80b6a4e36..a72c3beae1b5 100644
--- a/include/svx/unoshape.hxx
+++ b/include/svx/unoshape.hxx
@@ -517,7 +517,7 @@ public:
 /***********************************************************************
 *                                                                      *
 ***********************************************************************/
-class SVXCORE_DLLPUBLIC SvxShapeControl final : public 
css::drawing::XControlShape, public SvxShapeText
+class UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) SvxShapeControl final : public 
css::drawing::XControlShape, public SvxShapeText
 {
 protected:
     using SvxUnoTextRangeBase::setPropertyValue;
@@ -587,7 +587,7 @@ public:
 ***********************************************************************/
 
 // #i118485# changed parent to SvxShapeText to allow Text handling over UNO API
-class SVXCORE_DLLPUBLIC SvxOle2Shape : public SvxShapeText
+class UNLESS_MERGELIBS_MORE(SVXCORE_DLLPUBLIC) SvxOle2Shape : public 
SvxShapeText
 {
 private:
     OUString referer_;
diff --git a/include/unotools/historyoptions.hxx 
b/include/unotools/historyoptions.hxx
index 7305d3659711..c6107dbdc379 100644
--- a/include/unotools/historyoptions.hxx
+++ b/include/unotools/historyoptions.hxx
@@ -18,6 +18,7 @@
  */
 #pragma once
 
+#include <config_options.h>
 #include <unotools/unotoolsdllapi.h>
 #include <rtl/ustring.hxx>
 #include <vector>
@@ -44,7 +45,7 @@ namespace SvtHistoryOptions
 
         @param      eHistory select right history.
     */
-    UNOTOOLS_DLLPUBLIC void Clear(EHistoryType eHistory, const bool 
bClearPinnedItems = true);
+    UNLESS_MERGELIBS_MORE(UNOTOOLS_DLLPUBLIC) void Clear(EHistoryType 
eHistory, const bool bClearPinnedItems = true);
 
     /** Return the complete specified history list.
 
@@ -60,7 +61,7 @@ namespace SvtHistoryOptions
         bool isReadOnly = false;
         bool isPinned = false;
     };
-    UNOTOOLS_DLLPUBLIC std::vector< HistoryItem > GetList(EHistoryType 
eHistory);
+    UNLESS_MERGELIBS_MORE(UNOTOOLS_DLLPUBLIC) std::vector< HistoryItem > 
GetList(EHistoryType eHistory);
 
     /** Append a new item to the specified list.
 
@@ -73,18 +74,18 @@ namespace SvtHistoryOptions
         @param sThumbnail  base64 encoded thumbnail of the item
         @param oIsReadOnly item was opened editable or read-only
     */
-    UNOTOOLS_DLLPUBLIC void AppendItem(EHistoryType eHistory, const OUString& 
sURL,
+    UNLESS_MERGELIBS_MORE(UNOTOOLS_DLLPUBLIC) void AppendItem(EHistoryType 
eHistory, const OUString& sURL,
                                        const OUString& sFilter, const 
OUString& sTitle,
                                        const std::optional<OUString>& 
sThumbnail,
                                        std::optional<bool> oIsReadOnly);
 
     /** Delete item from the specified list.
     */
-    UNOTOOLS_DLLPUBLIC void DeleteItem(EHistoryType eHistory, const OUString& 
sURL,
+    UNLESS_MERGELIBS_MORE(UNOTOOLS_DLLPUBLIC) void DeleteItem(EHistoryType 
eHistory, const OUString& sURL,
                                        const bool bClearPinned = true);
 
     // tdf#38742 - toggle pinned state of an item
-    UNOTOOLS_DLLPUBLIC void TogglePinItem(EHistoryType eHistory, const 
OUString& sURL);
+    UNLESS_MERGELIBS_MORE(UNOTOOLS_DLLPUBLIC) void TogglePinItem(EHistoryType 
eHistory, const OUString& sURL);
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/unotools/localfilehelper.hxx 
b/include/unotools/localfilehelper.hxx
index e96b5a571f28..c23ffde15227 100644
--- a/include/unotools/localfilehelper.hxx
+++ b/include/unotools/localfilehelper.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_UNOTOOLS_LOCALFILEHELPER_HXX
 #define INCLUDED_UNOTOOLS_LOCALFILEHELPER_HXX
 
+#include <config_options.h>
 #include <com/sun/star/uno/Sequence.hxx>
 #include <unotools/unotoolsdllapi.h>
 
@@ -26,7 +27,7 @@
 
 namespace utl
 {
-    class UNOTOOLS_DLLPUBLIC LocalFileHelper
+    class UNLESS_MERGELIBS_MORE(UNOTOOLS_DLLPUBLIC) LocalFileHelper
     {
     public:
         static          css::uno::Sequence< OUString >
diff --git a/include/unotools/sharedunocomponent.hxx 
b/include/unotools/sharedunocomponent.hxx
index 8acc64b1f905..ed04d3b268cd 100644
--- a/include/unotools/sharedunocomponent.hxx
+++ b/include/unotools/sharedunocomponent.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_UNOTOOLS_SHAREDUNOCOMPONENT_HXX
 #define INCLUDED_UNOTOOLS_SHAREDUNOCOMPONENT_HXX
 
+#include <config_options.h>
 #include <unotools/unotoolsdllapi.h>
 #include <com/sun/star/uno/Reference.hxx>
 #include <rtl/ref.hxx>
@@ -74,7 +75,7 @@ namespace utl
         You'll usually never use this class directly, but only as parameter 
for a
         ->SharedUNOComponent class.
     */
-    class UNOTOOLS_DLLPUBLIC CloseableComponent
+    class UNLESS_MERGELIBS_MORE(UNOTOOLS_DLLPUBLIC) CloseableComponent
     {
     private:
         /** Our IMPL class.
diff --git a/include/vcl/ctrl.hxx b/include/vcl/ctrl.hxx
index c922bcfd18ff..6d8bba77b3d1 100644
--- a/include/vcl/ctrl.hxx
+++ b/include/vcl/ctrl.hxx
@@ -35,7 +35,7 @@ class Control;
 namespace vcl
 {
 
-struct VCL_DLLPUBLIC ControlLayoutData
+struct UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) ControlLayoutData
 {
     // contains the string really displayed
     // there must be exactly one bounding rectangle in m_aUnicodeBoundRects
diff --git a/include/vcl/toolkit/ivctrl.hxx b/include/vcl/toolkit/ivctrl.hxx
index 925afdf40225..9441f46a7a30 100644
--- a/include/vcl/toolkit/ivctrl.hxx
+++ b/include/vcl/toolkit/ivctrl.hxx
@@ -114,7 +114,7 @@ public:
     const Image&            GetImage () const { return aImage; }
     void                    SetText ( const OUString& rText ) { aText = rText; 
}
     const OUString&         GetText () const { return aText; }
-    OUString VCL_DLLPUBLIC  GetDisplayText() const;
+    OUString UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC)  GetDisplayText() const;
     void                    SetQuickHelpText( const OUString& rText ) { 
aQuickHelpText = rText; }
     const OUString&         GetQuickHelpText() const { return aQuickHelpText; }
 
diff --git a/include/xmloff/EnumPropertyHdl.hxx 
b/include/xmloff/EnumPropertyHdl.hxx
index 7256dd69ffa0..cc10b0d6fb1c 100644
--- a/include/xmloff/EnumPropertyHdl.hxx
+++ b/include/xmloff/EnumPropertyHdl.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_XMLOFF_ENUMPROPERTYHDL_HXX
 #define INCLUDED_XMLOFF_ENUMPROPERTYHDL_HXX
 
+#include <config_options.h>
 #include <xmloff/xmlprhdl.hxx>
 #include <cppu/unotype.hxx>
 
@@ -28,7 +29,7 @@ template <typename EnumT> struct SvXMLEnumMapEntry;
 /**
     PropertyHandler for a generic xml enumeration type:
 */
-class XMLOFF_DLLPUBLIC XMLEnumPropertyHdl : public XMLPropertyHandler
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) XMLEnumPropertyHdl : public 
XMLPropertyHandler
 {
 private:
     const SvXMLEnumMapEntry<sal_uInt16>* mpEnumMap;
diff --git a/include/xmloff/NamedBoolPropertyHdl.hxx 
b/include/xmloff/NamedBoolPropertyHdl.hxx
index 73b6a6156175..f733fb1a74bf 100644
--- a/include/xmloff/NamedBoolPropertyHdl.hxx
+++ b/include/xmloff/NamedBoolPropertyHdl.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_XMLOFF_NAMEDBOOLPROPERTYHDL_HXX
 #define INCLUDED_XMLOFF_NAMEDBOOLPROPERTYHDL_HXX
 
+#include <config_options.h>
 #include <utility>
 #include <xmloff/xmlprhdl.hxx>
 #include <xmloff/xmltoken.hxx>
@@ -27,7 +28,7 @@
 /**
     PropertyHandler for a named xml bool type:
 */
-class XMLOFF_DLLPUBLIC XMLNamedBoolPropertyHdl final : public 
XMLPropertyHandler
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) XMLNamedBoolPropertyHdl final : 
public XMLPropertyHandler
 {
 private:
     const OUString maTrueStr;
diff --git a/include/xmloff/SettingsExportHelper.hxx 
b/include/xmloff/SettingsExportHelper.hxx
index 0ee9f3ea4ee3..fa3bdf21b357 100644
--- a/include/xmloff/SettingsExportHelper.hxx
+++ b/include/xmloff/SettingsExportHelper.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_XMLOFF_SETTINGSEXPORTHELPER_HXX
 #define INCLUDED_XMLOFF_SETTINGSEXPORTHELPER_HXX
 
+#include <config_options.h>
 #include <sal/config.h>
 
 #include <string_view>
@@ -45,7 +46,7 @@ namespace xmloff
     class XMLSettingsExportContext;
 }
 
-class XMLOFF_DLLPUBLIC XMLSettingsExportHelper
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) XMLSettingsExportHelper
 {
     ::xmloff::XMLSettingsExportContext& m_rContext;
 
diff --git a/include/xmloff/XMLCharContext.hxx 
b/include/xmloff/XMLCharContext.hxx
index 348cd75f6ebb..ede2940939e7 100644
--- a/include/xmloff/XMLCharContext.hxx
+++ b/include/xmloff/XMLCharContext.hxx
@@ -19,12 +19,13 @@
 #ifndef INCLUDED_XMLOFF_XMLCHARCONTEXT_HXX
 #define INCLUDED_XMLOFF_XMLCHARCONTEXT_HXX
 
+#include <config_options.h>
 #include <xmloff/dllapi.h>
 #include <xmloff/xmlictxt.hxx>
 
 namespace com::sun::star::uno { template <typename > class Reference; }
 
-class XMLOFF_DLLPUBLIC XMLCharContext : public SvXMLImportContext
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) XMLCharContext : public 
SvXMLImportContext
 {
     XMLCharContext(const XMLCharContext&) = delete;
     void operator =(const XMLCharContext&) = delete;
diff --git a/include/xmloff/XMLConstantsPropertyHandler.hxx 
b/include/xmloff/XMLConstantsPropertyHandler.hxx
index 7152c7180932..8f93665d5b98 100644
--- a/include/xmloff/XMLConstantsPropertyHandler.hxx
+++ b/include/xmloff/XMLConstantsPropertyHandler.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_XMLOFF_XMLCONSTANTSPROPERTYHANDLER_HXX
 #define INCLUDED_XMLOFF_XMLCONSTANTSPROPERTYHANDLER_HXX
 
+#include <config_options.h>
 #include <sal/config.h>
 #include <xmloff/dllapi.h>
 #include <xmloff/xmlprhdl.hxx>
@@ -32,7 +33,7 @@ struct SvXMLEnumMapEntry;
 /** Abstract base-class for different XML-types. Derivations of this class
     knows how to compare, im/export a special XML-type
 */
-class XMLOFF_DLLPUBLIC XMLConstantsPropertyHandler: public XMLPropertyHandler
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) XMLConstantsPropertyHandler: 
public XMLPropertyHandler
 {
     const SvXMLEnumMapEntry<sal_uInt16> *m_pMap;
     const enum ::xmloff::token::XMLTokenEnum m_eDefault;
diff --git a/include/xmloff/controlpropertyhdl.hxx 
b/include/xmloff/controlpropertyhdl.hxx
index ce8a2da13459..b9be6a501ca8 100644
--- a/include/xmloff/controlpropertyhdl.hxx
+++ b/include/xmloff/controlpropertyhdl.hxx
@@ -21,6 +21,7 @@
 #define INCLUDED_XMLOFF_CONTROLPROPERTYHDL_HXX
 
 #include <sal/config.h>
+#include <config_options.h>
 
 #include <memory>
 
@@ -93,7 +94,7 @@ namespace xmloff
 
     //= ImageScaleModeHandler
 
-    class XMLOFF_DLLPUBLIC ImageScaleModeHandler final : public 
XMLConstantsPropertyHandler
+    class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) ImageScaleModeHandler final 
: public XMLConstantsPropertyHandler
     {
     public:
         ImageScaleModeHandler();
@@ -102,7 +103,7 @@ namespace xmloff
 
     //= OControlPropertyHandlerFactory
 
-    class XMLOFF_DLLPUBLIC OControlPropertyHandlerFactory : public 
XMLPropertyHandlerFactory
+    class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) 
OControlPropertyHandlerFactory : public XMLPropertyHandlerFactory
     {
         mutable std::unique_ptr<XMLConstantsPropertyHandler>    
m_pTextAlignHandler;
         mutable std::unique_ptr<OControlBorderHandler>          
m_pControlBorderStyleHandler;
diff --git a/include/xmloff/txtimppr.hxx b/include/xmloff/txtimppr.hxx
index 89f8b369fdea..ca01450d825f 100644
--- a/include/xmloff/txtimppr.hxx
+++ b/include/xmloff/txtimppr.hxx
@@ -19,11 +19,12 @@
 #ifndef INCLUDED_XMLOFF_TXTIMPPR_HXX
 #define INCLUDED_XMLOFF_TXTIMPPR_HXX
 
+#include <config_options.h>
 #include <xmloff/dllapi.h>
 #include <xmloff/xmlimppr.hxx>
 #include <optional>
 
-class XMLOFF_DLLPUBLIC XMLTextImportPropertyMapper final : public 
SvXMLImportPropertyMapper
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) XMLTextImportPropertyMapper 
final : public SvXMLImportPropertyMapper
 {
     sal_Int32 m_nSizeTypeIndex;
     sal_Int32 m_nWidthTypeIndex;
diff --git a/include/xmloff/txtprmap.hxx b/include/xmloff/txtprmap.hxx
index 53b2a36edfa0..9efbb085688c 100644
--- a/include/xmloff/txtprmap.hxx
+++ b/include/xmloff/txtprmap.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_XMLOFF_TXTPRMAP_HXX
 #define INCLUDED_XMLOFF_TXTPRMAP_HXX
 
+#include <config_options.h>
 #include <xmloff/contextid.hxx>
 #include <xmloff/xmlprmap.hxx>
 
@@ -219,7 +220,7 @@ enum class TextPropMap {
     CELL = 11
 };
 
-class XMLOFF_DLLPUBLIC XMLTextPropertySetMapper final : public 
XMLPropertySetMapper
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) XMLTextPropertySetMapper final : 
public XMLPropertySetMapper
 {
 public:
     XMLTextPropertySetMapper( TextPropMap nType, bool bForExport );
diff --git a/include/xmloff/xmlnumfe.hxx b/include/xmloff/xmlnumfe.hxx
index d96f40c53a04..e367fef2b89e 100644
--- a/include/xmloff/xmlnumfe.hxx
+++ b/include/xmloff/xmlnumfe.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_XMLOFF_XMLNUMFE_HXX
 #define INCLUDED_XMLOFF_XMLNUMFE_HXX
 
+#include <config_options.h>
 #include <sal/config.h>
 #include <xmloff/dllapi.h>
 #include <sal/types.h>
@@ -44,7 +45,7 @@ class SvXMLNumUsedList_Impl;
 
 class SvXMLEmbeddedTextEntryArr;
 
-class XMLOFF_DLLPUBLIC SvXMLNumFmtExport final
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) SvXMLNumFmtExport final
 {
 private:
     SvXMLExport&                m_rExport;
diff --git a/include/xmloff/xmltkmap.hxx b/include/xmloff/xmltkmap.hxx
index e4771996040f..3e2f0999b699 100644
--- a/include/xmloff/xmltkmap.hxx
+++ b/include/xmloff/xmltkmap.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_XMLOFF_XMLTKMAP_HXX
 #define INCLUDED_XMLOFF_XMLTKMAP_HXX
 
+#include <config_options.h>
 #include <sal/config.h>
 #include <xmloff/dllapi.h>
 #include <sal/types.h>
@@ -47,7 +48,7 @@ struct SvXMLTokenMapEntry
     }
 };
 
-class XMLOFF_DLLPUBLIC SvXMLTokenMap
+class UNLESS_MERGELIBS_MORE(XMLOFF_DLLPUBLIC) SvXMLTokenMap
 {
 private:
     std::unique_ptr<SvXMLTokenMap_Impl>  m_pImpl;
diff --git a/reportdesign/inc/PropertyForward.hxx 
b/reportdesign/inc/PropertyForward.hxx
index 8a9a058a0500..a943eaa0e280 100644
--- a/reportdesign/inc/PropertyForward.hxx
+++ b/reportdesign/inc/PropertyForward.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_REPORTDESIGN_INC_PROPERTYFORWARD_HXX
 #define INCLUDED_REPORTDESIGN_INC_PROPERTYFORWARD_HXX
 
+#include <config_options.h>
 #include "dllapi.h"
 #include <com/sun/star/beans/XPropertyChangeListener.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
@@ -39,7 +40,7 @@ namespace rptui
      * Identical properties will be set at the other propertyset.
      * \ingroup reportdesign_source_ui_misc
      */
-    class REPORTDESIGN_DLLPUBLIC OPropertyMediator final : public 
::cppu::BaseMutex
+    class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) OPropertyMediator 
final : public ::cppu::BaseMutex
                             ,public OPropertyForward_Base
     {
         TPropertyNamePair                                     m_aNameMap;
diff --git a/reportdesign/inc/ReportDefinition.hxx 
b/reportdesign/inc/ReportDefinition.hxx
index b88fe46be475..1d56882b5c36 100644
--- a/reportdesign/inc/ReportDefinition.hxx
+++ b/reportdesign/inc/ReportDefinition.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_REPORTDESIGN_INC_REPORTDEFINITION_HXX
 #define INCLUDED_REPORTDESIGN_INC_REPORTDEFINITION_HXX
 
+#include <config_options.h>
 #include "dllapi.h"
 
 #include "ReportHelperDefines.hxx"
@@ -189,7 +190,7 @@ namespace reportdesign
     public:
         //TTTT Needed? Or same as above?
         static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId();
-        REPORTDESIGN_DLLPUBLIC static std::shared_ptr<rptui::OReportModel> 
getSdrModel(const css::uno::Reference< css::report::XReportDefinition >& 
_xReportDefinition);
+        UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) static 
std::shared_ptr<rptui::OReportModel> getSdrModel(const css::uno::Reference< 
css::report::XReportDefinition >& _xReportDefinition);
 
     private:
         DECLARE_XINTERFACE( )
diff --git a/reportdesign/inc/ReportVisitor.hxx 
b/reportdesign/inc/ReportVisitor.hxx
index 3752b52c35d4..cdbb6c2e43b5 100644
--- a/reportdesign/inc/ReportVisitor.hxx
+++ b/reportdesign/inc/ReportVisitor.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_REPORTDESIGN_INC_REPORTVISITOR_HXX
 #define INCLUDED_REPORTDESIGN_INC_REPORTVISITOR_HXX
 
+#include <config_options.h>
 #include "dllapi.h"
 #include <com/sun/star/report/XReportDefinition.hpp>
 
@@ -47,7 +48,7 @@ namespace reportdesign
         ~ITraverseReport() {}
     };
 
-    class REPORTDESIGN_DLLPUBLIC OReportVisitor
+    class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) OReportVisitor
     {
         ITraverseReport*                                                       
         m_pTraverseReport;
     public:
diff --git a/reportdesign/inc/RptModel.hxx b/reportdesign/inc/RptModel.hxx
index a80c1f9c0a63..5f5c84a033d6 100644
--- a/reportdesign/inc/RptModel.hxx
+++ b/reportdesign/inc/RptModel.hxx
@@ -37,7 +37,7 @@ namespace rptui
 class OReportPage;
 class OXUndoEnvironment;
 
-class REPORTDESIGN_DLLPUBLIC OReportModel final : public SdrModel
+class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) OReportModel final : 
public SdrModel
 {
     friend class OReportPage;
 
diff --git a/reportdesign/inc/RptObject.hxx b/reportdesign/inc/RptObject.hxx
index 9cafcccbfecc..d88ac2e5d1da 100644
--- a/reportdesign/inc/RptObject.hxx
+++ b/reportdesign/inc/RptObject.hxx
@@ -42,7 +42,7 @@ typedef ::std::multimap< sal_Int16, OUString > IndexToNameMap;
     };
 
     class OUnoObject;
-    class REPORTDESIGN_DLLPUBLIC DlgEdHint final : public SfxHint
+    class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) DlgEdHint final : 
public SfxHint
     {
     private:
         DlgEdHintKind   eHintKind;
@@ -60,7 +60,7 @@ typedef ::std::multimap< sal_Int16, OUString > IndexToNameMap;
 class OReportPage;
 class OPropertyMediator;
 
-class REPORTDESIGN_DLLPUBLIC SAL_LOPLUGIN_ANNOTATE("crosscast") OObjectBase
+class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) 
SAL_LOPLUGIN_ANNOTATE("crosscast") OObjectBase
 {
 protected:
     mutable rtl::Reference<OPropertyMediator>                         
m_xMediator;
@@ -115,7 +115,7 @@ public:
 
 // OCustomShape
 
-class REPORTDESIGN_DLLPUBLIC OCustomShape final : public SdrObjCustomShape , 
public OObjectBase
+class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) OCustomShape final : 
public SdrObjCustomShape , public OObjectBase
 {
     friend class OReportPage;
     friend class DlgEdFactory;
@@ -158,7 +158,7 @@ private:
 
 // OOle2Obj
 
-class REPORTDESIGN_DLLPUBLIC OOle2Obj final : public SdrOle2Obj , public 
OObjectBase
+class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) OOle2Obj final : public 
SdrOle2Obj , public OObjectBase
 {
     friend class OReportPage;
     friend class DlgEdFactory;
@@ -215,7 +215,7 @@ private:
 
 // OUnoObject
 
-class REPORTDESIGN_DLLPUBLIC OUnoObject final : public SdrUnoObj , public 
OObjectBase
+class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) OUnoObject final : public 
SdrUnoObj , public OObjectBase
 {
     friend class OReportPage;
     friend class OObjectBase;
diff --git a/reportdesign/inc/RptPage.hxx b/reportdesign/inc/RptPage.hxx
index ea2b53f53a0e..ce8e3e6133f0 100644
--- a/reportdesign/inc/RptPage.hxx
+++ b/reportdesign/inc/RptPage.hxx
@@ -32,7 +32,7 @@ namespace rptui
 
 class OReportModel;
 
-class REPORTDESIGN_DLLPUBLIC OReportPage final : public SdrPage
+class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) OReportPage final : public 
SdrPage
 {
     OReportPage& operator=(const OReportPage&) = delete;
     OReportPage(const OReportPage&) = delete;
diff --git a/reportdesign/inc/UndoActions.hxx b/reportdesign/inc/UndoActions.hxx
index bf0b2107e142..3ce12eabaf3d 100644
--- a/reportdesign/inc/UndoActions.hxx
+++ b/reportdesign/inc/UndoActions.hxx
@@ -135,7 +135,7 @@ namespace rptui
 
     //= OCommentUndoAction
 
-    class REPORTDESIGN_DLLPUBLIC OCommentUndoAction : public SdrUndoAction
+    class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) OCommentUndoAction : 
public SdrUndoAction
     {
     protected:
         OUString                m_strComment; // undo, redo comment
diff --git a/reportdesign/inc/conditionalexpression.hxx 
b/reportdesign/inc/conditionalexpression.hxx
index 4bac298a2138..ac814560d80d 100644
--- a/reportdesign/inc/conditionalexpression.hxx
+++ b/reportdesign/inc/conditionalexpression.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_REPORTDESIGN_INC_CONDITIONALEXPRESSION_HXX
 #define INCLUDED_REPORTDESIGN_INC_CONDITIONALEXPRESSION_HXX
 
+#include <config_options.h>
 #include "dllapi.h"
 
 #include <rtl/ustring.hxx>
@@ -32,7 +33,7 @@ namespace rptui
 
     // = ConditionalExpression
 
-    class REPORTDESIGN_DLLPUBLIC ConditionalExpression
+    class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) ConditionalExpression
     {
     private:
         const OUString       m_sPattern;
@@ -90,7 +91,7 @@ namespace rptui
 
     // = ConditionalExpressionFactory
 
-    class REPORTDESIGN_DLLPUBLIC ConditionalExpressionFactory
+    class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) 
ConditionalExpressionFactory
     {
     public:
         /// fills the given map with all ConditionalExpressions which we know
diff --git a/reportdesign/inc/reportformula.hxx 
b/reportdesign/inc/reportformula.hxx
index b94368701e9a..afb123b297c6 100644
--- a/reportdesign/inc/reportformula.hxx
+++ b/reportdesign/inc/reportformula.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_REPORTDESIGN_INC_REPORTFORMULA_HXX
 #define INCLUDED_REPORTDESIGN_INC_REPORTFORMULA_HXX
 
+#include <config_options.h>
 #include "dllapi.h"
 
 #include <osl/diagnose.h>
@@ -32,7 +33,7 @@ namespace rptui
 
     //= ReportFormula
 
-    class REPORTDESIGN_DLLPUBLIC ReportFormula
+    class UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) ReportFormula
     {
     public:
         enum BindType
diff --git a/starmath/inc/smdll.hxx b/starmath/inc/smdll.hxx
index 1a1e175c8811..44a5a0f866e1 100644
--- a/starmath/inc/smdll.hxx
+++ b/starmath/inc/smdll.hxx
@@ -19,11 +19,12 @@
 
 #pragma once
 
+#include <config_options.h>
 #include "smdllapi.hxx"
 
 namespace SmGlobals
 {
-SM_DLLPUBLIC void ensure();
+UNLESS_MERGELIBS_MORE(SM_DLLPUBLIC) void ensure();
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerperfect/inc/WPFTEncodingDialog.hxx 
b/writerperfect/inc/WPFTEncodingDialog.hxx
index be3ff99a3cc2..f84b1b273635 100644
--- a/writerperfect/inc/WPFTEncodingDialog.hxx
+++ b/writerperfect/inc/WPFTEncodingDialog.hxx
@@ -11,13 +11,15 @@
 
 #pragma once
 
+#include <config_options.h>
 #include <vcl/weld.hxx>
 
 #include "writerperfectdllapi.h"
 
 namespace writerperfect
 {
-class WRITERPERFECT_DLLPUBLIC WPFTEncodingDialog final : public 
weld::GenericDialogController
+class UNLESS_MERGELIBS_MORE(WRITERPERFECT_DLLPUBLIC) WPFTEncodingDialog final
+    : public weld::GenericDialogController
 {
 public:
     WPFTEncodingDialog(weld::Window* pParent, const OUString& title, const 
OUString& defEncoding);

Reply via email to