diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-03-04 20:27:36 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-03-06 08:18:06 +0100 |
commit | 47b4ee1a1a2a0212ffcf3e85647e9f9f67276ee3 (patch) | |
tree | 4dc94e2ea216efee2b583a9fa4ecd13fe884889d /include/vcl/field.hxx | |
parent | cedc8a942e451a63dd1e7dae7f25642c0fcb4be8 (diff) |
limit symbols exported when using --enable-mergelibs
when doing LTO and --enable-mergelibs, we can improve the effectiveness
of LTO by marking more code as internal to the merged library.
So introduce a new macro UNLESS_MERGELIBS, which we can wrap around
*_DLLPUBLIC annotations
Also introduced here is a script that can be run on a completed build to
determine which classes can be marked with this macro.
Change-Id: I73fb87c897489da53791277d0b66b01f884ba061
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89991
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include/vcl/field.hxx')
-rw-r--r-- | include/vcl/field.hxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/vcl/field.hxx b/include/vcl/field.hxx index 9260859874f0..dbb4f358963d 100644 --- a/include/vcl/field.hxx +++ b/include/vcl/field.hxx @@ -22,6 +22,7 @@ #include <memory> #include <vcl/dllapi.h> +#include <config_options.h> #include <tools/link.hxx> #include <tools/date.hxx> #include <tools/time.hxx> @@ -228,7 +229,7 @@ private: OUString maCustomUnitText; }; -class VCL_DLLPUBLIC DateFormatter : public FormatterBase +class UNLESS_MERGELIBS(VCL_DLLPUBLIC) DateFormatter : public FormatterBase { private: std::unique_ptr<CalendarWrapper> mxCalendarWrapper; @@ -474,7 +475,7 @@ public: virtual void dispose() override; }; -class VCL_DLLPUBLIC TimeField final : public SpinField, public TimeFormatter +class UNLESS_MERGELIBS(VCL_DLLPUBLIC) TimeField final : public SpinField, public TimeFormatter { private: tools::Time maFirst; |