summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-03-01 15:58:23 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-03-02 09:36:01 +0100
commit621e16205363c1eea0be57017997396dee63df4b (patch)
tree10e82071ae0d9bf4f3a75df1f32fb18c4465769c
parentRelated tdf#158945: Calc: crash when entering text in a cell (diff)
downloadcore-621e16205363c1eea0be57017997396dee63df4b.tar.gz
core-621e16205363c1eea0be57017997396dee63df4b.zip
add UNLESS_MERGELIBS_MORE and use to reduce symbol visibility
Change-Id: I2e6c2dcd06c76e0f5f68a1debde3a20665104b27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164219 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--config_host/config_options.h.in12
-rw-r--r--include/comphelper/accessibletexthelper.hxx3
-rw-r--r--include/comphelper/accessiblewrapper.hxx6
-rw-r--r--include/comphelper/proxyaggregation.hxx3
-rw-r--r--include/svtools/DocumentToGraphicRenderer.hxx3
-rw-r--r--include/toolkit/awt/vclxfont.hxx3
-rw-r--r--include/toolkit/awt/vclxwindows.hxx19
-rw-r--r--include/vcl/opengl/OpenGLHelper.hxx3
-rw-r--r--include/vcl/tabctrl.hxx2
-rw-r--r--include/vcl/toolkit/ivctrl.hxx3
-rw-r--r--include/vcl/toolkit/scrbar.hxx3
-rw-r--r--include/vcl/toolkit/svtabbx.hxx5
-rw-r--r--include/vcl/toolkit/treelist.hxx5
-rw-r--r--include/vcl/toolkit/treelistbox.hxx3
-rw-r--r--include/vcl/toolkit/treelistentry.hxx3
-rw-r--r--include/vcl/toolkit/vclmedit.hxx3
-rw-r--r--include/vcl/txtattr.hxx3
17 files changed, 54 insertions, 28 deletions
diff --git a/config_host/config_options.h.in b/config_host/config_options.h.in
index abce3417e45a..e87f6e8db806 100644
--- a/config_host/config_options.h.in
+++ b/config_host/config_options.h.in
@@ -24,5 +24,17 @@
#define IF_MERGELIBS(x)
#endif
+// Used to turn off visibility for some classes/symbols when linking with --enable-mergelibs=more
+//
+#if ENABLE_MERGELIBS_MORE
+#define UNLESS_MERGELIBS_MORE(x)
+#else
+#define UNLESS_MERGELIBS_MORE(x) x
+#endif
+#if ENABLE_MERGELIBS_MORE
+#define IF_MERGELIBS_MORE(x) x
+#else
+#define IF_MERGELIBS_MORE(x)
+#endif
#endif
diff --git a/include/comphelper/accessibletexthelper.hxx b/include/comphelper/accessibletexthelper.hxx
index 30730469be91..433cd357badc 100644
--- a/include/comphelper/accessibletexthelper.hxx
+++ b/include/comphelper/accessibletexthelper.hxx
@@ -20,6 +20,7 @@
#ifndef INCLUDED_COMPHELPER_ACCESSIBLETEXTHELPER_HXX
#define INCLUDED_COMPHELPER_ACCESSIBLETEXTHELPER_HXX
+#include <config_options.h>
#include <com/sun/star/accessibility/XAccessibleText.hpp>
#include <com/sun/star/accessibility/TextSegment.hpp>
#include <comphelper/accessiblecomponenthelper.hxx>
@@ -114,7 +115,7 @@ namespace comphelper
/** a helper class for implementing an AccessibleExtendedComponent which at the same time
supports an XAccessibleText interface
*/
- class COMPHELPER_DLLPUBLIC OAccessibleTextHelper : public cppu::ImplInheritanceHelper<
+ class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAccessibleTextHelper : public cppu::ImplInheritanceHelper<
OAccessibleExtendedComponentHelper,
css::accessibility::XAccessibleText>,
public OCommonAccessibleText
diff --git a/include/comphelper/accessiblewrapper.hxx b/include/comphelper/accessiblewrapper.hxx
index 089c143b971f..fa0e5832f448 100644
--- a/include/comphelper/accessiblewrapper.hxx
+++ b/include/comphelper/accessiblewrapper.hxx
@@ -62,7 +62,7 @@ namespace comphelper
/** a class which aggregates a proxy for an XAccessible, and wrapping the context returned by this
XAccessible.
*/
- class COMPHELPER_DLLPUBLIC OAccessibleWrapper:public OAccessibleWrapper_Base
+ class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAccessibleWrapper:public OAccessibleWrapper_Base
,public OComponentProxyAggregation
{
@@ -139,7 +139,7 @@ namespace comphelper
@seealso OAccessibleContextWrapper
*/
- class COMPHELPER_DLLPUBLIC OAccessibleContextWrapperHelper
+ class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAccessibleContextWrapperHelper
:private OComponentProxyAggregationHelper
,public OAccessibleContextWrapperHelper_Base
{
@@ -240,7 +240,7 @@ namespace comphelper
, css::accessibility::XAccessibleContext
> OAccessibleContextWrapper_CBase;
- class COMPHELPER_DLLPUBLIC OAccessibleContextWrapper
+ class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAccessibleContextWrapper
:public cppu::BaseMutex
,public OAccessibleContextWrapper_CBase
,public OAccessibleContextWrapperHelper
diff --git a/include/comphelper/proxyaggregation.hxx b/include/comphelper/proxyaggregation.hxx
index 48444355ce23..a9b13004d7f1 100644
--- a/include/comphelper/proxyaggregation.hxx
+++ b/include/comphelper/proxyaggregation.hxx
@@ -20,6 +20,7 @@
#ifndef INCLUDED_COMPHELPER_PROXYAGGREGATION_HXX
#define INCLUDED_COMPHELPER_PROXYAGGREGATION_HXX
+#include <config_options.h>
#include <cppuhelper/implbase1.hxx>
#include <cppuhelper/interfacecontainer.h>
#include <cppuhelper/basemutex.hxx>
@@ -178,7 +179,7 @@ namespace comphelper
//= OComponentProxyAggregation
- class COMPHELPER_DLLPUBLIC OComponentProxyAggregation : public cppu::BaseMutex
+ class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OComponentProxyAggregation : public cppu::BaseMutex
,public cppu::WeakComponentImplHelperBase
,public OComponentProxyAggregationHelper
{
diff --git a/include/svtools/DocumentToGraphicRenderer.hxx b/include/svtools/DocumentToGraphicRenderer.hxx
index a5dc8e115a8e..75af9b048a2c 100644
--- a/include/svtools/DocumentToGraphicRenderer.hxx
+++ b/include/svtools/DocumentToGraphicRenderer.hxx
@@ -20,6 +20,7 @@
#pragma once
+#include <config_options.h>
#include <vector>
#include <vcl/graph.hxx>
@@ -41,7 +42,7 @@ namespace com::sun::star {
}
}
-class SVT_DLLPUBLIC DocumentToGraphicRenderer
+class UNLESS_MERGELIBS_MORE(SVT_DLLPUBLIC) DocumentToGraphicRenderer
{
const css::uno::Reference<css::lang::XComponent>& mxDocument;
diff --git a/include/toolkit/awt/vclxfont.hxx b/include/toolkit/awt/vclxfont.hxx
index 3142a18123c1..c3276de03c9f 100644
--- a/include/toolkit/awt/vclxfont.hxx
+++ b/include/toolkit/awt/vclxfont.hxx
@@ -20,6 +20,7 @@
#ifndef INCLUDED_TOOLKIT_AWT_VCLXFONT_HXX
#define INCLUDED_TOOLKIT_AWT_VCLXFONT_HXX
+#include <config_options.h>
#include <memory>
#include <toolkit/dllapi.h>
#include <com/sun/star/awt/XFont2.hpp>
@@ -34,7 +35,7 @@ class FontMetric;
-class TOOLKIT_DLLPUBLIC VCLXFont final :
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) VCLXFont final :
public cppu::WeakImplHelper<
css::awt::XFont2>
{
diff --git a/include/toolkit/awt/vclxwindows.hxx b/include/toolkit/awt/vclxwindows.hxx
index 60352097019d..317286d598e6 100644
--- a/include/toolkit/awt/vclxwindows.hxx
+++ b/include/toolkit/awt/vclxwindows.hxx
@@ -19,6 +19,7 @@
#pragma once
+#include <config_options.h>
#include <toolkit/dllapi.h>
#include <com/sun/star/awt/XTextArea.hpp>
@@ -132,7 +133,7 @@ public:
// class VCLXCheckBox
-class TOOLKIT_DLLPUBLIC VCLXCheckBox final : public cppu::ImplInheritanceHelper<
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) VCLXCheckBox final : public cppu::ImplInheritanceHelper<
VCLXGraphicControl,
css::awt::XCheckBox,
css::awt::XButton>
@@ -181,7 +182,7 @@ public:
// class VCLXRadioButton
-class TOOLKIT_DLLPUBLIC VCLXRadioButton final : public cppu::ImplInheritanceHelper<
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) VCLXRadioButton final : public cppu::ImplInheritanceHelper<
VCLXGraphicControl,
css::awt::XRadioButton,
css::awt::XButton>
@@ -298,7 +299,7 @@ public:
// class VCLXScrollBar
-class TOOLKIT_DLLPUBLIC VCLXScrollBar final :
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) VCLXScrollBar final :
public cppu::ImplInheritanceHelper<VCLXWindow, css::awt::XScrollBar>
{
private:
@@ -535,25 +536,25 @@ protected:
virtual void GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
};
-class SAL_DLLPUBLIC_RTTI SVTXNumericField final : public cppu::ImplInheritanceHelper<SVTXFormattedField, css::awt::XNumericField>
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) SVTXNumericField final : public cppu::ImplInheritanceHelper<SVTXFormattedField, css::awt::XNumericField>
{
public:
SVTXNumericField();
virtual ~SVTXNumericField() override;
// css::awt::XNumericField
- TOOLKIT_DLLPUBLIC void SAL_CALL setValue( double Value ) override;
- TOOLKIT_DLLPUBLIC double SAL_CALL getValue( ) override;
+ void SAL_CALL setValue( double Value ) override;
+ double SAL_CALL getValue( ) override;
void SAL_CALL setMin( double Value ) override;
- TOOLKIT_DLLPUBLIC double SAL_CALL getMin( ) override;
+ double SAL_CALL getMin( ) override;
void SAL_CALL setMax( double Value ) override;
- TOOLKIT_DLLPUBLIC double SAL_CALL getMax( ) override;
+ double SAL_CALL getMax( ) override;
void SAL_CALL setFirst( double Value ) override;
double SAL_CALL getFirst( ) override;
void SAL_CALL setLast( double Value ) override;
double SAL_CALL getLast( ) override;
void SAL_CALL setSpinSize( double Value ) override;
- TOOLKIT_DLLPUBLIC double SAL_CALL getSpinSize( ) override;
+ double SAL_CALL getSpinSize( ) override;
void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) override;
sal_Int16 SAL_CALL getDecimalDigits( ) override;
void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
diff --git a/include/vcl/opengl/OpenGLHelper.hxx b/include/vcl/opengl/OpenGLHelper.hxx
index 45383bd6fb9d..715636147747 100644
--- a/include/vcl/opengl/OpenGLHelper.hxx
+++ b/include/vcl/opengl/OpenGLHelper.hxx
@@ -10,6 +10,7 @@
#ifndef INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX
#define INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX
+#include <config_options.h>
#include <epoxy/gl.h>
#include <sal/detail/log.h>
#include <vcl/dllapi.h>
@@ -42,7 +43,7 @@
} while (false)
// All member functions static and VCL_DLLPUBLIC. Basically a glorified namespace.
-struct VCL_DLLPUBLIC OpenGLHelper
+struct UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) OpenGLHelper
{
OpenGLHelper() = delete; // Should not be instantiated
diff --git a/include/vcl/tabctrl.hxx b/include/vcl/tabctrl.hxx
index f7db263d2eac..9ac3b334497e 100644
--- a/include/vcl/tabctrl.hxx
+++ b/include/vcl/tabctrl.hxx
@@ -39,7 +39,7 @@ class ToolBox;
#define TAB_PAGE_NOTFOUND (sal_uInt16(0xFFFF))
#endif /* !TAB_APPEND */
-class VCL_DLLPUBLIC TabControl : public Control
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) TabControl : public Control
{
protected:
std::unique_ptr<ImplTabCtrlData> mpTabCtrlData;
diff --git a/include/vcl/toolkit/ivctrl.hxx b/include/vcl/toolkit/ivctrl.hxx
index ca96bc8e5718..925afdf40225 100644
--- a/include/vcl/toolkit/ivctrl.hxx
+++ b/include/vcl/toolkit/ivctrl.hxx
@@ -23,6 +23,7 @@
#error "don't use this in new code"
#endif
+#include <config_options.h>
#include <memory>
#include <vcl/dllapi.h>
#include <vcl/ctrl.hxx>
@@ -174,7 +175,7 @@ public:
class MnemonicGenerator;
-class VCL_DLLPUBLIC SvtIconChoiceCtrl final : public Control
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvtIconChoiceCtrl final : public Control
{
friend class SvxIconChoiceCtrl_Impl;
diff --git a/include/vcl/toolkit/scrbar.hxx b/include/vcl/toolkit/scrbar.hxx
index 30aa2e925404..408ca90d7483 100644
--- a/include/vcl/toolkit/scrbar.hxx
+++ b/include/vcl/toolkit/scrbar.hxx
@@ -23,6 +23,7 @@
#error "don't use this in new code"
#endif
+#include <config_options.h>
#include <vcl/dllapi.h>
#include <vcl/ctrl.hxx>
#include <vcl/scrollable.hxx>
@@ -30,7 +31,7 @@
struct ImplScrollBarData;
-class VCL_DLLPUBLIC ScrollBar final : public Control
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) ScrollBar final : public Control
, public Scrollable
{
private:
diff --git a/include/vcl/toolkit/svtabbx.hxx b/include/vcl/toolkit/svtabbx.hxx
index 1fd7b8b16e12..94b0077f44fe 100644
--- a/include/vcl/toolkit/svtabbx.hxx
+++ b/include/vcl/toolkit/svtabbx.hxx
@@ -23,6 +23,7 @@
#error "don't use this in new code"
#endif
+#include <config_options.h>
#include <vcl/dllapi.h>
#include <vcl/toolkit/treelistbox.hxx>
#include <vcl/accessibletableprovider.hxx>
@@ -39,7 +40,7 @@ enum class SvTabJustify
AdjustCenter = static_cast<int>(SvLBoxTabFlags::ADJUST_CENTER)
};
-class VCL_DLLPUBLIC SvTabListBox : public SvTreeListBox
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTabListBox : public SvTreeListBox
{
private:
std::vector<SvLBoxTab> mvTabList;
@@ -90,7 +91,7 @@ namespace vcl {
struct SvHeaderTabListBoxImpl;
}
-class VCL_DLLPUBLIC SvHeaderTabListBox : public SvTabListBox, public vcl::IAccessibleTableProvider
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvHeaderTabListBox : public SvTabListBox, public vcl::IAccessibleTableProvider
{
private:
bool m_bFirstPaint;
diff --git a/include/vcl/toolkit/treelist.hxx b/include/vcl/toolkit/treelist.hxx
index d0306ce915a0..0f33e95f9f27 100644
--- a/include/vcl/toolkit/treelist.hxx
+++ b/include/vcl/toolkit/treelist.hxx
@@ -23,6 +23,7 @@
#error "don't use this in new code"
#endif
+#include <config_options.h>
#include <vcl/dllapi.h>
#include <vcl/toolkit/treelistentries.hxx>
@@ -61,7 +62,7 @@ struct SvSortData
const SvTreeListEntry* pRight;
};
-class VCL_DLLPUBLIC SvTreeList final
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTreeList final
{
friend class SvListView;
@@ -199,7 +200,7 @@ public:
void Resort();
};
-class VCL_DLLPUBLIC SvListView
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvListView
{
friend class SvTreeList;
diff --git a/include/vcl/toolkit/treelistbox.hxx b/include/vcl/toolkit/treelistbox.hxx
index dd5562ed13e5..7b452e0ae4bd 100644
--- a/include/vcl/toolkit/treelistbox.hxx
+++ b/include/vcl/toolkit/treelistbox.hxx
@@ -23,6 +23,7 @@
#error "don't use this in new code"
#endif
+#include <config_options.h>
#include <vcl/dllapi.h>
#include <deque>
@@ -173,7 +174,7 @@ typedef std::pair<vcl::RenderContext&, const SvTreeListEntry&> svtree_measure_ar
typedef std::tuple<vcl::RenderContext&, const tools::Rectangle&, const SvTreeListEntry&> svtree_render_args;
typedef std::pair<SvTreeListEntry*, OUString> IterString;
-class VCL_DLLPUBLIC SvTreeListBox
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTreeListBox
:public Control
,public SvListView
,public DropTargetHelper
diff --git a/include/vcl/toolkit/treelistentry.hxx b/include/vcl/toolkit/treelistentry.hxx
index b8bffecefd30..58228711c377 100644
--- a/include/vcl/toolkit/treelistentry.hxx
+++ b/include/vcl/toolkit/treelistentry.hxx
@@ -23,6 +23,7 @@
#error "don't use this in new code"
#endif
+#include <config_options.h>
#include <vcl/dllapi.h>
#include <tools/color.hxx>
#include <vcl/toolkit/treelistbox.hxx>
@@ -52,7 +53,7 @@ namespace o3tl
template<> struct typed_flags<SvTLEntryFlags> : is_typed_flags<SvTLEntryFlags, 0x801f> {};
}
-class VCL_DLLPUBLIC SvTreeListEntry
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTreeListEntry
{
friend class SvTreeList;
friend class SvListView;
diff --git a/include/vcl/toolkit/vclmedit.hxx b/include/vcl/toolkit/vclmedit.hxx
index 2ca010451907..fd17e75fb48d 100644
--- a/include/vcl/toolkit/vclmedit.hxx
+++ b/include/vcl/toolkit/vclmedit.hxx
@@ -23,6 +23,7 @@
#error "don't use this in new code"
#endif
+#include <config_options.h>
#include <tools/lineend.hxx>
#include <vcl/wintypes.hxx>
#include <vcl/toolkit/edit.hxx>
@@ -75,7 +76,7 @@ public:
void DisableSelectionOnFocus() { mbSelectOnTab = false; }
};
-class VCL_DLLPUBLIC VclMultiLineEdit : public Edit
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) VclMultiLineEdit : public Edit
{
friend class VCLXAccessibleEdit;
diff --git a/include/vcl/txtattr.hxx b/include/vcl/txtattr.hxx
index 186fbe1ad611..e32fbc0b7cde 100644
--- a/include/vcl/txtattr.hxx
+++ b/include/vcl/txtattr.hxx
@@ -20,6 +20,7 @@
#ifndef INCLUDED_VCL_TXTATTR_HXX
#define INCLUDED_VCL_TXTATTR_HXX
+#include <config_options.h>
#include <tools/color.hxx>
#include <tools/debug.hxx>
#include <tools/fontenum.hxx>
@@ -74,7 +75,7 @@ public:
};
-class VCL_DLLPUBLIC TextAttribFontWeight final : public TextAttrib
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) TextAttribFontWeight final : public TextAttrib
{
private:
FontWeight meWeight;