summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libfusepp/fuseAppBase.h5
-rw-r--r--netfs/daemon/Jamfile.jam4
-rw-r--r--netfs/daemon/daemon.cpp1
-rw-r--r--netfs/daemon/daemon.h5
-rw-r--r--netfs/fuse/Jamfile.jam6
-rw-r--r--netfs/fuse/fuseApp.h5
-rw-r--r--netfs/ice/Jamfile.jam1
-rw-r--r--netfs/ice/typeConvert.h2
-rw-r--r--netfs/lib/Jamfile.jam2
-rw-r--r--netfs/lib/entCache.cpp32
10 files changed, 46 insertions, 17 deletions
diff --git a/libfusepp/fuseAppBase.h b/libfusepp/fuseAppBase.h
index ccd2027..1a4a0bc 100644
--- a/libfusepp/fuseAppBase.h
+++ b/libfusepp/fuseAppBase.h
@@ -7,8 +7,11 @@
#include <exception>
#include <stdio.h>
#include <errno.h>
+#ifndef DLL_PUBLIC
+#define DLL_PUBLIC __attribute__ ((visibility ("default")))
+#endif
-class FuseAppBase {
+class DLL_PUBLIC FuseAppBase {
public:
FuseAppBase();
virtual ~FuseAppBase() = 0;
diff --git a/netfs/daemon/Jamfile.jam b/netfs/daemon/Jamfile.jam
index 53ac99d..47b81f6 100644
--- a/netfs/daemon/Jamfile.jam
+++ b/netfs/daemon/Jamfile.jam
@@ -20,6 +20,8 @@ lib netfsdConfiguration :
<library>..//boost_system
<library>..//slicer
<slicer>yes
+ <cflags>-fvisibility=hidden
+ <variant>release:<cflags>-flto
: :
<include>.
<library>..//IceUtil
@@ -48,6 +50,8 @@ lib netfsd :
<library>..//IceBox
<library>..//libxmlpp
<library>..//slicer-xml
+ <cflags>-fvisibility=hidden
+ <variant>release:<cflags>-flto
: :
<include>.
<implicit-dependency>../ice//netfsComms
diff --git a/netfs/daemon/daemon.cpp b/netfs/daemon/daemon.cpp
index 5f780d7..81a0462 100644
--- a/netfs/daemon/daemon.cpp
+++ b/netfs/daemon/daemon.cpp
@@ -71,6 +71,7 @@ NetFSDaemon::stop()
}
extern "C" {
+ DLL_PUBLIC
IceBox::Service *
createNetFSDaemon(Ice::CommunicatorPtr)
{
diff --git a/netfs/daemon/daemon.h b/netfs/daemon/daemon.h
index e4e79ae..5f9542a 100644
--- a/netfs/daemon/daemon.h
+++ b/netfs/daemon/daemon.h
@@ -5,8 +5,11 @@
#include <IceBox/IceBox.h>
#include <daemonConfig.h>
#include <boost/filesystem/path.hpp>
+#ifndef DLL_PUBLIC
+#define DLL_PUBLIC __attribute__ ((visibility ("default")))
+#endif
-class NetFSDaemon : public IceBox::Service {
+class DLL_PUBLIC NetFSDaemon : public IceBox::Service {
public:
NetFSDaemon();
virtual ~NetFSDaemon();
diff --git a/netfs/fuse/Jamfile.jam b/netfs/fuse/Jamfile.jam
index b0f04d6..142221e 100644
--- a/netfs/fuse/Jamfile.jam
+++ b/netfs/fuse/Jamfile.jam
@@ -20,6 +20,8 @@ lib netfsClientConfiguration :
<library>..//IceUtil
<library>..//pthread
<library>..//slicer
+ <cflags>-fvisibility=hidden
+ <variant>release:<cflags>-flto
: :
<library>..//IceUtil
<library>..//Ice
@@ -50,6 +52,8 @@ lib netfsClient :
<library>..//slicer
<library>..//libxmlpp
<library>..//slicer-xml
+ <cflags>-fvisibility=hidden
+ <variant>release:<cflags>-flto
: :
<include>.
<include>../../libfusepp
@@ -65,5 +69,7 @@ exe netfs :
netfs.cpp :
<library>netfsClient
<library>fuse
+ <cflags>-fvisibility=hidden
+ <variant>release:<cflags>-flto
;
diff --git a/netfs/fuse/fuseApp.h b/netfs/fuse/fuseApp.h
index 60ecee9..3ad8f66 100644
--- a/netfs/fuse/fuseApp.h
+++ b/netfs/fuse/fuseApp.h
@@ -9,9 +9,12 @@
#include "fuseAppBase.h"
#include "fuseConfig.h"
#include "cache.h"
+#ifndef DLL_PUBLIC
+#define DLL_PUBLIC __attribute__ ((visibility ("default")))
+#endif
namespace NetFS {
- class FuseApp : public FuseAppBase {
+ class DLL_PUBLIC FuseApp : public FuseAppBase {
private:
class OpenDir : public IceUtil::Shared {
public:
diff --git a/netfs/ice/Jamfile.jam b/netfs/ice/Jamfile.jam
index d1e5ca6..d9d17dc 100644
--- a/netfs/ice/Jamfile.jam
+++ b/netfs/ice/Jamfile.jam
@@ -8,6 +8,7 @@ lib netfsComms :
<library>Ice
<library>IceUtil
<library>pthread
+ <cflags>-fvisibility=hidden
: :
<include>.
<library>Ice
diff --git a/netfs/ice/typeConvert.h b/netfs/ice/typeConvert.h
index 1c9e773..b07b117 100644
--- a/netfs/ice/typeConvert.h
+++ b/netfs/ice/typeConvert.h
@@ -25,11 +25,13 @@ struct StatSource {
const EntryResolver<gid_t> & group;
};
+#pragma GCC visibility push(default)
void operator<<(struct stat &, const AttrSource &);
void operator<<(struct statvfs &, const NetFS::VFS &);
void operator<<(NetFS::Attr &, const struct StatSource &);
void operator<<(NetFS::VFS &, const struct statvfs &);
+#pragma GCC visibility pop
#endif
diff --git a/netfs/lib/Jamfile.jam b/netfs/lib/Jamfile.jam
index 81d0be1..4172f3c 100644
--- a/netfs/lib/Jamfile.jam
+++ b/netfs/lib/Jamfile.jam
@@ -14,6 +14,8 @@ lib netfsCommon :
<library>..//boost_thread
<library>../ice//netfsComms
<implicit-dependency>../ice//netfsComms
+ <cflags>-fvisibility=hidden
+ <variant>release:<cflags>-flto
: :
<include>.
<include>../../libmisc
diff --git a/netfs/lib/entCache.cpp b/netfs/lib/entCache.cpp
index 411202f..01a2de3 100644
--- a/netfs/lib/entCache.cpp
+++ b/netfs/lib/entCache.cpp
@@ -5,6 +5,10 @@
#include <pwd.h>
#include <grp.h>
+#ifndef DLL_PUBLIC
+#define DLL_PUBLIC __attribute__ ((visibility ("default")))
+#endif
+
template<class entry_t>
EntCache<entry_t>::EntCache() :
fillTime(0)
@@ -122,22 +126,22 @@ EntCache<Group>::fillCache() const
}
bool
-Group::hasMember(uid_t u) const
+DLL_PUBLIC Group::hasMember(uid_t u) const
{
return (members.find(u) != members.end());
}
-template EntCache<User>::EntCache();
-template EntCache<User>::~EntCache();
-template IceUtil::Handle<User> EntCache<User>::getEntry<std::string>(const std::string &) const;
-template IceUtil::Handle<User> EntCache<User>::getEntry<uid_t>(const uid_t &) const;
-template void EntCache<User>::getName(const gid_t &, std::string *) const;
-template void EntCache<User>::getID(const std::string &, gid_t *) const;
-
-template EntCache<Group>::EntCache();
-template EntCache<Group>::~EntCache();
-template IceUtil::Handle<Group> EntCache<Group>::getEntry<std::string>(const std::string &) const;
-template IceUtil::Handle<Group> EntCache<Group>::getEntry<gid_t>(const gid_t &) const;
-template void EntCache<Group>::getName(const gid_t &, std::string *) const;
-template void EntCache<Group>::getID(const std::string &, gid_t *) const;
+template DLL_PUBLIC EntCache<User>::EntCache();
+template DLL_PUBLIC EntCache<User>::~EntCache();
+template IceUtil::Handle<User> DLL_PUBLIC EntCache<User>::getEntry<std::string>(const std::string &) const;
+template IceUtil::Handle<User> DLL_PUBLIC EntCache<User>::getEntry<uid_t>(const uid_t &) const;
+template DLL_PUBLIC void EntCache<User>::getName(const gid_t &, std::string *) const;
+template DLL_PUBLIC void EntCache<User>::getID(const std::string &, gid_t *) const;
+
+template DLL_PUBLIC EntCache<Group>::EntCache();
+template DLL_PUBLIC EntCache<Group>::~EntCache();
+template IceUtil::Handle<Group> DLL_PUBLIC EntCache<Group>::getEntry<std::string>(const std::string &) const;
+template IceUtil::Handle<Group> DLL_PUBLIC EntCache<Group>::getEntry<gid_t>(const gid_t &) const;
+template DLL_PUBLIC void EntCache<Group>::getName(const gid_t &, std::string *) const;
+template DLL_PUBLIC void EntCache<Group>::getID(const std::string &, gid_t *) const;