summaryrefslogtreecommitdiff
path: root/project2/ice
diff options
context:
space:
mode:
Diffstat (limited to 'project2/ice')
-rw-r--r--project2/ice/buildComms.cpp2
-rw-r--r--project2/ice/iceBase.h3
-rw-r--r--project2/ice/iceClient.h3
-rw-r--r--project2/ice/iceCompile.cpp2
-rw-r--r--project2/ice/iceConvert.h5
-rw-r--r--project2/ice/iceDaemon.h3
-rw-r--r--project2/ice/iceDataSource.h3
-rw-r--r--project2/ice/iceModule.h3
-rw-r--r--project2/ice/iceRows.h3
-rw-r--r--project2/ice/iceboxDaemon.cpp1
-rw-r--r--project2/ice/slice2Common.h3
-rw-r--r--project2/ice/sliceCompile.h3
-rw-r--r--project2/ice/unittests/conversions.cpp4
13 files changed, 26 insertions, 12 deletions
diff --git a/project2/ice/buildComms.cpp b/project2/ice/buildComms.cpp
index 5bf80e7..49e58c8 100644
--- a/project2/ice/buildComms.cpp
+++ b/project2/ice/buildComms.cpp
@@ -33,7 +33,7 @@ BuildComms::Count(const boost::filesystem::path & in) const
unsigned int
BuildComms::Build(const boost::filesystem::path & in, const boost::filesystem::path & out) const
{
- const auto slicecmd = stringbf("%s --output-dir %s %s", slice2cpp, out.parent_path(), in);
+ const auto slicecmd = stringbf("%s --output-dir %s --dll-export JAM_DLL_PUBLIC %s", slice2cpp, out.parent_path(), in);
Logger()->messagebf(LOG_DEBUG, "%s: slice command: %s", __PRETTY_FUNCTION__, slicecmd);
if (system(slicecmd.c_str())) {
throw std::runtime_error("slice2cpp failed");
diff --git a/project2/ice/iceBase.h b/project2/ice/iceBase.h
index 0a59416..5547342 100644
--- a/project2/ice/iceBase.h
+++ b/project2/ice/iceBase.h
@@ -5,8 +5,9 @@
#include <thread>
#include "iceCompile.h"
#include <variableType.h>
+#include <visibility.h>
-class IceBase {
+class DLL_PUBLIC IceBase {
public:
typedef boost::tuple<IceCompile::Ptr, std::thread *> LibCompile;
typedef boost::variant<LibCompile, IceCompile::LibHandles> LibPromise;
diff --git a/project2/ice/iceClient.h b/project2/ice/iceClient.h
index 1d198f1..7d1d5e1 100644
--- a/project2/ice/iceClient.h
+++ b/project2/ice/iceClient.h
@@ -4,8 +4,9 @@
#include <variables.h>
#include <commonObjects.h>
#include "iceDataSource.h"
+#include <visibility.h>
-class IceClientBase {
+class DLL_PUBLIC IceClientBase {
public:
IceClientBase(ScriptNodePtr p);
diff --git a/project2/ice/iceCompile.cpp b/project2/ice/iceCompile.cpp
index 9eb5cf5..3701c8f 100644
--- a/project2/ice/iceCompile.cpp
+++ b/project2/ice/iceCompile.cpp
@@ -102,7 +102,7 @@ IceCompile::Compile(const fs::path & in, const fs::path & out)
if (components == 0) return;
const auto compile = stringbf(
- "%s %s -o %s -x c++ -c -I %s -I %s -I /usr/include/adhocutil -I %s -I %s -I %s `pkg-config --cflags glibmm-2.4` %s",
+ "%s %s -o %s -x c++ -c -fvisibility=hidden -I %s -I %s -I /usr/include/adhocutil -I %s -I %s -I %s `pkg-config --cflags glibmm-2.4` %s",
cxx, cxxopts, out, tmpdir,
slicerheaderdir,
headerdir / "common",
diff --git a/project2/ice/iceConvert.h b/project2/ice/iceConvert.h
index 93e531c..38b07d9 100644
--- a/project2/ice/iceConvert.h
+++ b/project2/ice/iceConvert.h
@@ -4,16 +4,17 @@
#include <variableType.h>
#include <IceUtil/Exception.h>
#include <IceUtil/Optional.h>
+#include <visibility.h>
template <typename IceType>
-class IceConvert {
+class DLL_PUBLIC IceConvert {
public:
static IceType FromVariable(const VariableType &);
static VariableType ToVariable(const IceType &);
};
template <typename IceOptionalType>
-class IceConvert<IceUtil::Optional<IceOptionalType>> {
+class DLL_PUBLIC IceConvert<IceUtil::Optional<IceOptionalType>> {
public:
static IceUtil::Optional<IceOptionalType> FromVariable(const VariableType & v)
{
diff --git a/project2/ice/iceDaemon.h b/project2/ice/iceDaemon.h
index 41343ec..e61a2b7 100644
--- a/project2/ice/iceDaemon.h
+++ b/project2/ice/iceDaemon.h
@@ -4,8 +4,9 @@
#include <daemon.h>
#include "iceModule.h"
#include "iceBase.h"
+#include <visibility.h>
-class IceDaemon : public Daemon, IceBase {
+class DLL_PUBLIC IceDaemon : public Daemon, IceBase {
public:
IceDaemon(int & argc, char ** argv);
virtual ~IceDaemon();
diff --git a/project2/ice/iceDataSource.h b/project2/ice/iceDataSource.h
index 715f27b..a18efc6 100644
--- a/project2/ice/iceDataSource.h
+++ b/project2/ice/iceDataSource.h
@@ -6,8 +6,9 @@
#include <variables.h>
#include <Ice/Communicator.h>
#include "iceBase.h"
+#include <visibility.h>
-class IceDataSource : public DataSource, IceBase {
+class DLL_PUBLIC IceDataSource : public DataSource, IceBase {
public:
INITOPTIONS;
diff --git a/project2/ice/iceModule.h b/project2/ice/iceModule.h
index 49aa63b..6e55e8a 100644
--- a/project2/ice/iceModule.h
+++ b/project2/ice/iceModule.h
@@ -10,11 +10,12 @@
#include <slicer/modelParts.h>
#include "iceConvert.h"
#include <factory.h>
+#include <visibility.h>
typedef std::map<std::string, VariableType> ParamMap;
class IceDaemon;
-class IceDaemonModule : virtual public ::Ice::Object {
+class DLL_PUBLIC IceDaemonModule : virtual public ::Ice::Object {
public:
void add(Ice::ObjectAdapterPtr, Ice::CommunicatorPtr);
void remove(Ice::ObjectAdapterPtr, Ice::CommunicatorPtr);
diff --git a/project2/ice/iceRows.h b/project2/ice/iceRows.h
index 3ac2019..dded0db 100644
--- a/project2/ice/iceRows.h
+++ b/project2/ice/iceRows.h
@@ -6,10 +6,11 @@
#include "iceClient.h"
#include <slicer/modelParts.h>
#include <slicer/serializer.h>
+#include <visibility.h>
class IceRowState;
-class RowProcSerializer : public Slicer::Serializer {
+class DLL_PUBLIC RowProcSerializer : public Slicer::Serializer {
public:
RowProcSerializer(ExecContext *, const RowProcessorCallback &);
diff --git a/project2/ice/iceboxDaemon.cpp b/project2/ice/iceboxDaemon.cpp
index 8aa3582..0e27303 100644
--- a/project2/ice/iceboxDaemon.cpp
+++ b/project2/ice/iceboxDaemon.cpp
@@ -66,6 +66,7 @@ DECLARE_OPTIONS(IceBoxDaemon, "Project2 IceBox options")
END_OPTIONS(IceBoxDaemon);
extern "C" {
+ DLL_PUBLIC
IceBox::Service *
createProject2Daemon(Ice::CommunicatorPtr ic)
{
diff --git a/project2/ice/slice2Common.h b/project2/ice/slice2Common.h
index 8ea21d0..ec1b35c 100644
--- a/project2/ice/slice2Common.h
+++ b/project2/ice/slice2Common.h
@@ -2,8 +2,9 @@
#define SLICE2COMMON_H
#include <Slice/Parser.h>
+#include <visibility.h>
-class Slice2Common : public Slice::ParserVisitor {
+class DLL_PUBLIC Slice2Common : public Slice::ParserVisitor {
public:
Slice2Common(FILE * c);
diff --git a/project2/ice/sliceCompile.h b/project2/ice/sliceCompile.h
index d8e8e32..db4127b 100644
--- a/project2/ice/sliceCompile.h
+++ b/project2/ice/sliceCompile.h
@@ -5,8 +5,9 @@
#include <string>
#include <Slice/Parser.h>
#include <Slice/Preprocessor.h>
+#include <visibility.h>
-class SliceCompile : public IceCompile {
+class DLL_PUBLIC SliceCompile : public IceCompile {
public:
SliceCompile(const boost::filesystem::path & slice, const IceCompile::Deps & dep);
diff --git a/project2/ice/unittests/conversions.cpp b/project2/ice/unittests/conversions.cpp
index e6be3f8..546e922 100644
--- a/project2/ice/unittests/conversions.cpp
+++ b/project2/ice/unittests/conversions.cpp
@@ -3,6 +3,7 @@
#include <logger.h>
namespace Slicer {
+ DLL_PUBLIC
boost::posix_time::ptime
dateTimeToPTime(const UnitTestComplex::DatePtr & dt)
{
@@ -12,6 +13,7 @@ namespace Slicer {
boost::posix_time::time_duration(dt->hours, dt->minutes, dt->seconds));
}
+ DLL_PUBLIC
UnitTestComplex::DatePtr
ptimeToDateTime(const boost::posix_time::ptime & pt)
{
@@ -27,6 +29,7 @@ namespace Slicer {
}
template<>
+DLL_PUBLIC
::UnitTestComplex::DatePtr
IceConvert< ::UnitTestComplex::DatePtr >::FromVariable(const VariableType & vt)
{
@@ -35,6 +38,7 @@ IceConvert< ::UnitTestComplex::DatePtr >::FromVariable(const VariableType & vt)
}
template<>
+DLL_PUBLIC
VariableType
IceConvert< ::UnitTestComplex::DatePtr >::ToVariable(const ::UnitTestComplex::DatePtr & d)
{