diff options
-rw-r--r-- | libfusepp/fuseAppBase.h | 5 | ||||
-rw-r--r-- | netfs/daemon/Jamfile.jam | 4 | ||||
-rw-r--r-- | netfs/daemon/daemon.cpp | 1 | ||||
-rw-r--r-- | netfs/daemon/daemon.h | 5 | ||||
-rw-r--r-- | netfs/fuse/Jamfile.jam | 6 | ||||
-rw-r--r-- | netfs/fuse/fuseApp.h | 5 | ||||
-rw-r--r-- | netfs/ice/Jamfile.jam | 1 | ||||
-rw-r--r-- | netfs/ice/typeConvert.h | 2 | ||||
-rw-r--r-- | netfs/lib/Jamfile.jam | 2 | ||||
-rw-r--r-- | netfs/lib/entCache.cpp | 32 |
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; |