summaryrefslogtreecommitdiff
path: root/cppuhelper
diff options
context:
space:
mode:
authorDamjan Jovanovic <damjan@apache.org>2018-12-03 17:51:52 +0000
committerDamjan Jovanovic <damjan@apache.org>2018-12-03 17:51:52 +0000
commite8087fa293e6f3a5780ee3f18aa0a0aceb814e9e (patch)
tree64497bf59c2e56f0eebbddae3d2c0554cfcd4784 /cppuhelper
parent73866e708f1e89ec38fb43ad00d7afd852fa11c6 (diff)
After much experimentation, it was found that on Windows
WeakImplHelper1 needs to be SAL_DLLPUBLIC_EXPORT to prevent multiple definition errors when building in debug mode as opposed to CPPUHELPER_DLLPUBLIC we would normally use. Without -DCPPUHELPER_DLLIMPLEMENTATION, the header's CPPUHELPER_DLLPUBLIC would become SAL_DLLPUBLIC_IMPORT, and on MSVC that presumbly causes symbols to be redefined and exported for some unknown reason, whereas when we use only SAL_DLLPUBLIC_EXPORT, it is exported in multiple modules, but at least when building those modules we won't get errors, as the modules' dependencies presumably aren't searched. This has no effect on FreeBSD and hopefully other platforms. Make all WeakImplHelper[1-12] SAL_DLLPUBLIC_EXPORT just in case. This need for mysterious platform-specific code attributes that affect the linker in undocumented ways really reveals a profound and terrible truth: how ugly, poor, flimsy, degenerate, twisted, dark, revolting and sick C++ remains as a language, even after decades of its development. Patch by: me
Notes
Notes: prefer: 36627af621d46674273f44e2eb85731419a41cc1
Diffstat (limited to 'cppuhelper')
-rw-r--r--cppuhelper/inc/cppuhelper/implbase1.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase10.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase11.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase12.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase2.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase3.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase4.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase5.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase6.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase7.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase8.hxx2
-rw-r--r--cppuhelper/inc/cppuhelper/implbase9.hxx2
12 files changed, 12 insertions, 12 deletions
diff --git a/cppuhelper/inc/cppuhelper/implbase1.hxx b/cppuhelper/inc/cppuhelper/implbase1.hxx
index fc1e9d256008..3879511c1d6d 100644
--- a/cppuhelper/inc/cppuhelper/implbase1.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase1.hxx
@@ -88,7 +88,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1 >
- class SAL_NO_VTABLE WeakImplHelper1
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper1
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1
diff --git a/cppuhelper/inc/cppuhelper/implbase10.hxx b/cppuhelper/inc/cppuhelper/implbase10.hxx
index ed3e1d87f083..97d2d9f56cf0 100644
--- a/cppuhelper/inc/cppuhelper/implbase10.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase10.hxx
@@ -98,7 +98,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
- class SAL_NO_VTABLE WeakImplHelper10
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper10
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
diff --git a/cppuhelper/inc/cppuhelper/implbase11.hxx b/cppuhelper/inc/cppuhelper/implbase11.hxx
index f189f16ca88c..f20a3f41c6c5 100644
--- a/cppuhelper/inc/cppuhelper/implbase11.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase11.hxx
@@ -99,7 +99,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
- class SAL_NO_VTABLE WeakImplHelper11
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper11
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
diff --git a/cppuhelper/inc/cppuhelper/implbase12.hxx b/cppuhelper/inc/cppuhelper/implbase12.hxx
index f95fce6e7dba..f8c90e572caf 100644
--- a/cppuhelper/inc/cppuhelper/implbase12.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase12.hxx
@@ -100,7 +100,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
- class SAL_NO_VTABLE WeakImplHelper12
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper12
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
diff --git a/cppuhelper/inc/cppuhelper/implbase2.hxx b/cppuhelper/inc/cppuhelper/implbase2.hxx
index 24bbddf5a843..09f8bc76c44d 100644
--- a/cppuhelper/inc/cppuhelper/implbase2.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase2.hxx
@@ -89,7 +89,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2 >
- class SAL_NO_VTABLE WeakImplHelper2
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper2
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2
diff --git a/cppuhelper/inc/cppuhelper/implbase3.hxx b/cppuhelper/inc/cppuhelper/implbase3.hxx
index 092e48feba85..12cf073fa1fd 100644
--- a/cppuhelper/inc/cppuhelper/implbase3.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase3.hxx
@@ -90,7 +90,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3 >
- class SAL_NO_VTABLE WeakImplHelper3
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper3
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3
diff --git a/cppuhelper/inc/cppuhelper/implbase4.hxx b/cppuhelper/inc/cppuhelper/implbase4.hxx
index b4f0019212e5..d22c1f930de1 100644
--- a/cppuhelper/inc/cppuhelper/implbase4.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase4.hxx
@@ -92,7 +92,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
- class SAL_NO_VTABLE WeakImplHelper4
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper4
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4
diff --git a/cppuhelper/inc/cppuhelper/implbase5.hxx b/cppuhelper/inc/cppuhelper/implbase5.hxx
index fb5f0b8c7eb7..2cb93e85a81c 100644
--- a/cppuhelper/inc/cppuhelper/implbase5.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase5.hxx
@@ -93,7 +93,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
- class SAL_NO_VTABLE WeakImplHelper5
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper5
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
diff --git a/cppuhelper/inc/cppuhelper/implbase6.hxx b/cppuhelper/inc/cppuhelper/implbase6.hxx
index 672f4d4cf63b..9e917704898a 100644
--- a/cppuhelper/inc/cppuhelper/implbase6.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase6.hxx
@@ -94,7 +94,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
- class SAL_NO_VTABLE WeakImplHelper6
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper6
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
diff --git a/cppuhelper/inc/cppuhelper/implbase7.hxx b/cppuhelper/inc/cppuhelper/implbase7.hxx
index fa6159531e93..a3da5def2ada 100644
--- a/cppuhelper/inc/cppuhelper/implbase7.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase7.hxx
@@ -96,7 +96,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
- class SAL_NO_VTABLE WeakImplHelper7
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper7
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
diff --git a/cppuhelper/inc/cppuhelper/implbase8.hxx b/cppuhelper/inc/cppuhelper/implbase8.hxx
index 8e2d4b94a01c..ee3fe419aba6 100644
--- a/cppuhelper/inc/cppuhelper/implbase8.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase8.hxx
@@ -96,7 +96,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
- class SAL_NO_VTABLE WeakImplHelper8
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper8
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
diff --git a/cppuhelper/inc/cppuhelper/implbase9.hxx b/cppuhelper/inc/cppuhelper/implbase9.hxx
index fb8deaedd46e..cad14dea5a79 100644
--- a/cppuhelper/inc/cppuhelper/implbase9.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase9.hxx
@@ -98,7 +98,7 @@ namespace cppu
Your sub class defines method implementations for these interface(s).
*/
template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
- class SAL_NO_VTABLE WeakImplHelper9
+ class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper9
: public OWeakObject
, public ::com::sun::star::lang::XTypeProvider
, public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9