summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2018-06-03 13:07:55 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-06-06 08:55:02 +0200
commit9739c37d8ad7c6fca269709674a6975fa7ebd191 (patch)
treefae0bf0830d41d66017815ff6a665610d2c65a8a /include
parenta96a260a5fd6303eeebb26aee4be24ddf88391d1 (diff)
enable incremental linking on windows
requires a handful of workarounds Change-Id: I77c25580135eeec437716eceea1412607f8d14ca Reviewed-on: https://gerrit.libreoffice.org/55244 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r--include/comphelper/ChainablePropertySetInfo.hxx6
-rw-r--r--include/comphelper/MasterPropertySetInfo.hxx6
-rw-r--r--include/comphelper/containermultiplexer.hxx6
-rw-r--r--include/svl/itemprop.hxx11
-rw-r--r--include/ucbhelper/activedatasink.hxx7
-rw-r--r--include/ucbhelper/commandenvironment.hxx6
-rw-r--r--include/unotools/streamwrap.hxx6
7 files changed, 32 insertions, 16 deletions
diff --git a/include/comphelper/ChainablePropertySetInfo.hxx b/include/comphelper/ChainablePropertySetInfo.hxx
index b7807c74fec4..16bfced1376b 100644
--- a/include/comphelper/ChainablePropertySetInfo.hxx
+++ b/include/comphelper/ChainablePropertySetInfo.hxx
@@ -33,8 +33,10 @@
*/
namespace comphelper
{
- class COMPHELPER_DLLPUBLIC ChainablePropertySetInfo:
- public ::cppu::WeakImplHelper< css::beans::XPropertySetInfo >
+ // workaround for incremental linking bugs in MSVC2015
+ class SAL_DLLPUBLIC_TEMPLATE ChainablePropertySetInfo_Base : public cppu::WeakImplHelper< css::beans::XPropertySetInfo > {};
+
+ class COMPHELPER_DLLPUBLIC ChainablePropertySetInfo : public ChainablePropertySetInfo_Base
{
public:
ChainablePropertySetInfo( PropertyInfo const * pMap );
diff --git a/include/comphelper/MasterPropertySetInfo.hxx b/include/comphelper/MasterPropertySetInfo.hxx
index 07416c79c633..8559b2e2fd45 100644
--- a/include/comphelper/MasterPropertySetInfo.hxx
+++ b/include/comphelper/MasterPropertySetInfo.hxx
@@ -26,8 +26,10 @@
namespace comphelper
{
- class COMPHELPER_DLLPUBLIC MasterPropertySetInfo:
- public ::cppu::WeakImplHelper< css::beans::XPropertySetInfo >
+ // workaround for incremental linking bugs in MSVC2015
+ class SAL_DLLPUBLIC_TEMPLATE MasterPropertySetInfo_Base : public cppu::WeakImplHelper< css::beans::XPropertySetInfo > {};
+
+ class COMPHELPER_DLLPUBLIC MasterPropertySetInfo : public MasterPropertySetInfo_Base
{
public:
MasterPropertySetInfo( PropertyInfo const * pMap );
diff --git a/include/comphelper/containermultiplexer.hxx b/include/comphelper/containermultiplexer.hxx
index 0a3729a5809b..a896c690d530 100644
--- a/include/comphelper/containermultiplexer.hxx
+++ b/include/comphelper/containermultiplexer.hxx
@@ -64,8 +64,10 @@ namespace comphelper
void setAdapter(OContainerListenerAdapter* _pAdapter);
};
- class COMPHELPER_DLLPUBLIC OContainerListenerAdapter
- : public cppu::WeakImplHelper<css::container::XContainerListener>
+ // workaround for incremental linking bugs in MSVC2015
+ class SAL_DLLPUBLIC_TEMPLATE OContainerListenerAdapter_Base : public cppu::WeakImplHelper< css::container::XContainerListener > {};
+
+ class COMPHELPER_DLLPUBLIC OContainerListenerAdapter : public OContainerListenerAdapter_Base
{
friend class OContainerListener;
diff --git a/include/svl/itemprop.hxx b/include/svl/itemprop.hxx
index 334ae8d5f35a..05dc671fc99b 100644
--- a/include/svl/itemprop.hxx
+++ b/include/svl/itemprop.hxx
@@ -182,7 +182,11 @@ public:
};
struct SfxItemPropertySetInfo_Impl;
-class SVL_DLLPUBLIC SfxItemPropertySetInfo : public cppu::WeakImplHelper<css::beans::XPropertySetInfo>
+
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE SfxItemPropertySetInfo_Base : public cppu::WeakImplHelper< css::beans::XPropertySetInfo > {};
+
+class SVL_DLLPUBLIC SfxItemPropertySetInfo : public SfxItemPropertySetInfo_Base
{
std::unique_ptr<SfxItemPropertySetInfo_Impl> m_pImpl;
@@ -202,7 +206,10 @@ public:
};
-class SVL_DLLPUBLIC SfxExtItemPropertySetInfo: public cppu::WeakImplHelper<css::beans::XPropertySetInfo>
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE SfxExtItemPropertySetInfo_Base : public cppu::WeakImplHelper< css::beans::XPropertySetInfo > {};
+
+class SVL_DLLPUBLIC SfxExtItemPropertySetInfo: public SfxExtItemPropertySetInfo_Base
{
SfxItemPropertyMap aExtMap;
public:
diff --git a/include/ucbhelper/activedatasink.hxx b/include/ucbhelper/activedatasink.hxx
index 4cdc69a2b2c7..7e2cbcc8274c 100644
--- a/include/ucbhelper/activedatasink.hxx
+++ b/include/ucbhelper/activedatasink.hxx
@@ -27,14 +27,15 @@
namespace ucbhelper
{
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE ActiveDataSink_Base : public cppu::WeakImplHelper< css::io::XActiveDataSink > {};
+
/**
* This class implements the interface css::io::XActiveDataSink.
* Instances of this class can be passed with the parameters of an
* "open" command.
*/
-
-class UCBHELPER_DLLPUBLIC ActiveDataSink :
- public cppu::WeakImplHelper< css::io::XActiveDataSink >
+class UCBHELPER_DLLPUBLIC ActiveDataSink : public ActiveDataSink_Base
{
css::uno::Reference< css::io::XInputStream > m_xStream;
diff --git a/include/ucbhelper/commandenvironment.hxx b/include/ucbhelper/commandenvironment.hxx
index 919f49ca3a3a..1819d8328b5b 100644
--- a/include/ucbhelper/commandenvironment.hxx
+++ b/include/ucbhelper/commandenvironment.hxx
@@ -29,13 +29,15 @@ namespace ucbhelper
{
struct CommandEnvironment_Impl;
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE CommandEnvironment_Base : public cppu::WeakImplHelper< css::ucb::XCommandEnvironment > {};
+
/**
* This class implements the interface
* css::ucb::XCommandEnvironment. Instances of this class can
* be used to supply environments to commands executed by UCB contents.
*/
-class UCBHELPER_DLLPUBLIC CommandEnvironment :
- public cppu::WeakImplHelper< css::ucb::XCommandEnvironment >
+class UCBHELPER_DLLPUBLIC CommandEnvironment : public CommandEnvironment_Base
{
std::unique_ptr<CommandEnvironment_Impl> m_pImpl;
diff --git a/include/unotools/streamwrap.hxx b/include/unotools/streamwrap.hxx
index b50b92434fd8..81f463ea6e2c 100644
--- a/include/unotools/streamwrap.hxx
+++ b/include/unotools/streamwrap.hxx
@@ -35,11 +35,11 @@ class SvStream;
namespace utl
{
-//= OInputStreamWrapper
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE OInputStreamWrapper_Base : public cppu::WeakImplHelper< css::io::XInputStream > {};
/// helper class for wrapping an SvStream into an com.sun.star.io::XInputStream
-class UNOTOOLS_DLLPUBLIC OInputStreamWrapper
- : public cppu::WeakImplHelper<css::io::XInputStream>
+class UNOTOOLS_DLLPUBLIC OInputStreamWrapper : public OInputStreamWrapper_Base
{
protected:
::osl::Mutex m_aMutex;