summaryrefslogtreecommitdiff
path: root/salhelper/inc
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2011-07-28 19:11:15 +0200
committerStephan Bergmann <sbergman@redhat.com>2011-12-15 11:59:03 +0100
commita4312af08cbd8c69ba4bead9608f3bf549caf7a0 (patch)
tree0f682527bc5be83f0fd87617dda41f0856ab7291 /salhelper/inc
parent9dab9a26aeaeeaabcef3f4900597ca57e7411a2d (diff)
convert salhelper to gbuild
This is a cherry-pick of Matúš's e2f30c078fcf26d481c2e90398b450f6c475a483 from the feature/gbuild branch, with the following modifications by Stephan Bergmann <sbergman@redhat.com>: * Adapt salhelper/Makefile to what all those Makefiles currently need to look like. * Do not remove salhelper/source/gcc3.map, instead add directly into it what otherwise solenv/bin/addsym.awk would add to it on Linux. * In salhelper/Library_salhelper.mk, add code that on Linux takes care of the soname and symbol versioning required for backwards compatibility. Solaris would need those features too, and its backwards compatibility is thus currently broken. Also add a bad hack to create the soname symlink (xxx.3 -> xxx) in the solver needed on non-Windows platforms (it is a bad hack for now in that it e.g. is not removed by "make clean"). * In solenv/gbuild/platform/macosx.mk, add an even worse hack to set the correct install name for libuno_salhelpergcc3.dylib.3, with a trailing ".3".
Diffstat (limited to 'salhelper/inc')
-rw-r--r--salhelper/inc/salhelper/condition.hxx20
-rw-r--r--salhelper/inc/salhelper/dynload.hxx3
-rw-r--r--salhelper/inc/salhelper/salhelperdllapi.h16
-rw-r--r--salhelper/inc/salhelper/simplereferenceobject.hxx7
-rw-r--r--salhelper/inc/salhelper/timer.hxx7
5 files changed, 36 insertions, 17 deletions
diff --git a/salhelper/inc/salhelper/condition.hxx b/salhelper/inc/salhelper/condition.hxx
index efc042ca6156..c50bc87ed468 100644
--- a/salhelper/inc/salhelper/condition.hxx
+++ b/salhelper/inc/salhelper/condition.hxx
@@ -33,7 +33,7 @@
#include <osl/conditn.h>
#include <osl/mutex.hxx>
-
+#include "salhelperdllapi.h"
namespace salhelper
{
@@ -41,7 +41,7 @@ namespace salhelper
class ConditionWaiter;
- class Condition
+ class SALHELPER_DLLPUBLIC Condition
{
friend class ConditionModifier;
friend class ConditionWaiter;
@@ -59,8 +59,8 @@ namespace salhelper
private:
- Condition(Condition &); // not defined
- void operator =(Condition &); // not defined
+ SALHELPER_DLLPRIVATE Condition(Condition &); // not defined
+ SALHELPER_DLLPRIVATE void operator =(Condition &); // not defined
osl::Mutex& m_aMutex;
oslCondition m_aCondition;
@@ -68,7 +68,7 @@ namespace salhelper
- class ConditionModifier
+ class SALHELPER_DLLPUBLIC ConditionModifier
{
public:
@@ -78,15 +78,15 @@ namespace salhelper
private:
- ConditionModifier(ConditionModifier &); // not defined
- void operator =(ConditionModifier &); // not defined
+ SALHELPER_DLLPRIVATE ConditionModifier(ConditionModifier &); // not defined
+ SALHELPER_DLLPRIVATE void operator =(ConditionModifier &); // not defined
Condition& m_aCond;
};
- class ConditionWaiter
+ class SALHELPER_DLLPUBLIC ConditionWaiter
{
public:
@@ -112,8 +112,8 @@ namespace salhelper
private:
- ConditionWaiter(ConditionWaiter &); // not defined
- void operator =(ConditionWaiter &); // not defined
+ SALHELPER_DLLPRIVATE ConditionWaiter(ConditionWaiter &); // not defined
+ SALHELPER_DLLPRIVATE void operator =(ConditionWaiter &); // not defined
Condition& m_aCond;
};
diff --git a/salhelper/inc/salhelper/dynload.hxx b/salhelper/inc/salhelper/dynload.hxx
index 8f0325162455..66bf6b231d30 100644
--- a/salhelper/inc/salhelper/dynload.hxx
+++ b/salhelper/inc/salhelper/dynload.hxx
@@ -32,13 +32,14 @@
#include <sal/types.h>
#include <rtl/ustring.hxx>
#include <osl/module.h>
+#include "salhelperdllapi.h"
namespace salhelper
{
/** The ORealDynamicLoader is an implementation helper class for the template loader ODynamicLoader.
*/
-class ORealDynamicLoader
+class SALHELPER_DLLPUBLIC ORealDynamicLoader
{
public:
/** initializes the loader, loads the library and call the initialization fucntion.
diff --git a/salhelper/inc/salhelper/salhelperdllapi.h b/salhelper/inc/salhelper/salhelperdllapi.h
new file mode 100644
index 000000000000..0d90087e61d5
--- /dev/null
+++ b/salhelper/inc/salhelper/salhelperdllapi.h
@@ -0,0 +1,16 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+#ifndef INCLUDED_SALHELPERDLLAPI_H
+#define INCLUDED_SALHELPERDLLAPI_H
+
+#include "sal/types.h"
+
+#if defined(SALHELPER_DLLIMPLEMENTATION)
+#define SALHELPER_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define SALHELPER_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define SALHELPER_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif /* INCLUDED_SALHELPERDLLAPI_H */
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/salhelper/inc/salhelper/simplereferenceobject.hxx b/salhelper/inc/salhelper/simplereferenceobject.hxx
index 43ca44033d3b..13c8d658400d 100644
--- a/salhelper/inc/salhelper/simplereferenceobject.hxx
+++ b/salhelper/inc/salhelper/simplereferenceobject.hxx
@@ -31,6 +31,7 @@
#include "osl/interlck.h"
#include "sal/types.h"
+#include "salhelperdllapi.h"
#ifndef INCLUDED_CSTDDEF
#include <cstddef>
@@ -69,7 +70,7 @@ namespace salhelper {
objects are of no use, anyway, it seems best to simply declare and not
define (private) operators new[] and delete[].
*/
-class SimpleReferenceObject
+class SALHELPER_DLLPUBLIC SimpleReferenceObject
{
public:
inline SimpleReferenceObject() SAL_THROW(()): m_nCount(0) {}
@@ -114,12 +115,12 @@ private:
/** not implemented
@internal
*/
- SimpleReferenceObject(SimpleReferenceObject &);
+ SALHELPER_DLLPRIVATE SimpleReferenceObject(SimpleReferenceObject &);
/** not implemented
@internal
*/
- void operator =(SimpleReferenceObject);
+ SALHELPER_DLLPRIVATE void operator =(SimpleReferenceObject);
#ifdef _MSC_VER
/* We can't now have these private with MSVC2008 at least, it leads to
diff --git a/salhelper/inc/salhelper/timer.hxx b/salhelper/inc/salhelper/timer.hxx
index 7b94b11a4f00..c3e8e0f09668 100644
--- a/salhelper/inc/salhelper/timer.hxx
+++ b/salhelper/inc/salhelper/timer.hxx
@@ -32,6 +32,7 @@
#include <salhelper/simplereferenceobject.hxx>
#include <osl/time.h>
+#include "salhelperdllapi.h"
namespace salhelper
{
@@ -133,7 +134,7 @@ class TimerManager;
/** Interface for the Timer and handling the event
*/
-class Timer : public salhelper::SimpleReferenceObject
+class SALHELPER_DLLPUBLIC Timer : public salhelper::SimpleReferenceObject
{
public:
@@ -222,11 +223,11 @@ private:
/** Copy constructor disabled.
*/
- Timer( const Timer& rTimer );
+ SALHELPER_DLLPRIVATE Timer( const Timer& rTimer );
/** Assignment operator disabled.
*/
- void SAL_CALL operator=( const Timer& rTimer );
+ SALHELPER_DLLPRIVATE void SAL_CALL operator=( const Timer& rTimer );
friend class TimerManager;
};