summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ingen/ColorContext.hpp4
-rw-r--r--ingen/FilePath.hpp18
-rw-r--r--src/client/wscript1
-rw-r--r--src/gui/wscript2
-rw-r--r--src/server/DuplexPort.hpp5
-rw-r--r--src/server/PortImpl.hpp2
-rw-r--r--src/server/wscript7
-rw-r--r--src/wscript3
8 files changed, 26 insertions, 16 deletions
diff --git a/ingen/ColorContext.hpp b/ingen/ColorContext.hpp
index 46e291a3..aadb2980 100644
--- a/ingen/ColorContext.hpp
+++ b/ingen/ColorContext.hpp
@@ -17,11 +17,13 @@
#ifndef INGEN_COLORCONTEXT_HPP
#define INGEN_COLORCONTEXT_HPP
+#include "ingen/ingen.h"
+
#include <cstdio>
namespace ingen {
-class ColorContext {
+class INGEN_API ColorContext {
public:
enum class Color { RED = 31, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE };
diff --git a/ingen/FilePath.hpp b/ingen/FilePath.hpp
index 57cd47be..376411ec 100644
--- a/ingen/FilePath.hpp
+++ b/ingen/FilePath.hpp
@@ -17,6 +17,8 @@
#ifndef INGEN_FILE_PATH_HPP
#define INGEN_FILE_PATH_HPP
+#include "ingen/ingen.h"
+
#include <boost/utility/string_view.hpp>
#include <ostream>
@@ -35,7 +37,7 @@ namespace ingen {
* Support for Windows paths is only partial and there is no support for
* character encoding conversion at all.
*/
-class FilePath
+class INGEN_API FilePath
{
public:
#ifdef USE_WINDOWS_FILE_PATHS
@@ -102,14 +104,14 @@ private:
string_type _str;
};
-bool operator==(const FilePath& lhs, const FilePath& rhs) noexcept;
-bool operator!=(const FilePath& lhs, const FilePath& rhs) noexcept;
-bool operator<(const FilePath& lhs, const FilePath& rhs) noexcept;
-bool operator<=(const FilePath& lhs, const FilePath& rhs) noexcept;
-bool operator>(const FilePath& lhs, const FilePath& rhs) noexcept;
-bool operator>=(const FilePath& lhs, const FilePath& rhs) noexcept;
+INGEN_API bool operator==(const FilePath& lhs, const FilePath& rhs) noexcept;
+INGEN_API bool operator!=(const FilePath& lhs, const FilePath& rhs) noexcept;
+INGEN_API bool operator<(const FilePath& lhs, const FilePath& rhs) noexcept;
+INGEN_API bool operator<=(const FilePath& lhs, const FilePath& rhs) noexcept;
+INGEN_API bool operator>(const FilePath& lhs, const FilePath& rhs) noexcept;
+INGEN_API bool operator>=(const FilePath& lhs, const FilePath& rhs) noexcept;
-FilePath operator/(const FilePath& lhs, const FilePath& rhs);
+INGEN_API FilePath operator/(const FilePath& lhs, const FilePath& rhs);
template <typename Char, typename Traits>
std::basic_ostream<Char, Traits>&
diff --git a/src/client/wscript b/src/client/wscript
index df575c0d..b28f35fe 100644
--- a/src/client/wscript
+++ b/src/client/wscript
@@ -3,6 +3,7 @@ from waflib.extras import autowaf as autowaf
def build(bld):
obj = bld(features = 'cxx cxxshlib',
+ cflags = ['-fvisibility=hidden'],
includes = ['../..'],
export_includes = ['../..'],
name = 'libingen_client',
diff --git a/src/gui/wscript b/src/gui/wscript
index a23e2084..7000363f 100644
--- a/src/gui/wscript
+++ b/src/gui/wscript
@@ -29,6 +29,7 @@ def configure(conf):
def build(bld):
obj = bld(features = 'cxx cxxshlib',
+ cflags = ['-fvisibility=hidden'],
export_includes = ['../..'],
includes = ['../..'],
name = 'libingen_gui',
@@ -102,6 +103,7 @@ def build(bld):
# LV2 UI
obj = bld(features = 'cxx cxxshlib',
+ cflags = ['-fvisibility=hidden'],
source = 'ingen_gui_lv2.cpp',
includes = ['.', '../..'],
name = 'ingen_gui_lv2',
diff --git a/src/server/DuplexPort.hpp b/src/server/DuplexPort.hpp
index 5b2c1e9e..59b3cb51 100644
--- a/src/server/DuplexPort.hpp
+++ b/src/server/DuplexPort.hpp
@@ -53,8 +53,9 @@ class RunContext;
*
* \ingroup engine
*/
-class DuplexPort : public InputPort
- , public boost::intrusive::slist_base_hook<> // In GraphImpl
+class INGEN_API DuplexPort
+ : public InputPort
+ , public boost::intrusive::slist_base_hook<> // In GraphImpl
{
public:
DuplexPort(BufferFactory& bufs,
diff --git a/src/server/PortImpl.hpp b/src/server/PortImpl.hpp
index 2fb377b0..902e2cfa 100644
--- a/src/server/PortImpl.hpp
+++ b/src/server/PortImpl.hpp
@@ -43,7 +43,7 @@ class BlockImpl;
*
* \ingroup engine
*/
-class PortImpl : public NodeImpl
+class INGEN_API PortImpl : public NodeImpl
{
public:
struct SetState {
diff --git a/src/server/wscript b/src/server/wscript
index 8d1ec90d..2f95148a 100644
--- a/src/server/wscript
+++ b/src/server/wscript
@@ -74,7 +74,7 @@ def build(bld):
target = 'ingen_jack',
install_path = '${LIBDIR}',
use = 'libingen_server',
- cxxflags = bld.env.PTHREAD_CFLAGS,
+ cxxflags = ['-fvisibility=hidden'] + bld.env.PTHREAD_CFLAGS,
linkflags = bld.env.PTHREAD_LINKFLAGS)
autowaf.use_lib(bld, obj, core_libs + ' JACK')
@@ -86,7 +86,7 @@ def build(bld):
target = 'ingen_portaudio',
install_path = '${LIBDIR}',
use = 'libingen_server',
- cxxflags = bld.env.PTHREAD_CFLAGS,
+ cxxflags = ['-fvisibility=hidden'] + bld.env.PTHREAD_CFLAGS,
linkflags = bld.env.PTHREAD_LINKFLAGS)
autowaf.use_lib(bld, obj, core_libs + ' PORTAUDIO')
@@ -94,11 +94,12 @@ def build(bld):
if bld.env.INGEN_BUILD_LV2:
obj = bld(features = 'cxx cxxshlib',
source = ' ingen_lv2.cpp ',
+ cflags = ['-fvisibility=hidden'],
includes = ['.', '../..'],
name = 'libingen_lv2',
target = 'ingen_lv2',
install_path = '${LV2DIR}/ingen.lv2/',
use = 'libingen libingen_server',
- cxxflags = bld.env.PTHREAD_CFLAGS,
+ cxxflags = ['-fvisibility=hidden'] + bld.env.PTHREAD_CFLAGS,
linkflags = bld.env.PTHREAD_LINKFLAGS)
autowaf.use_lib(bld, obj, core_libs)
diff --git a/src/wscript b/src/wscript
index 464540af..dd7779b3 100644
--- a/src/wscript
+++ b/src/wscript
@@ -41,6 +41,7 @@ def build(bld):
vnum = bld.env.INGEN_VERSION,
install_path = '${LIBDIR}',
lib = lib,
- cxxflags = bld.env.PTHREAD_CFLAGS + bld.env.INGEN_TEST_CXXFLAGS,
+ cxxflags = (['-fvisibility=hidden'] +
+ bld.env.PTHREAD_CFLAGS + bld.env.INGEN_TEST_CXXFLAGS),
linkflags = bld.env.PTHREAD_LINKFLAGS + bld.env.INGEN_TEST_LINKFLAGS)
autowaf.use_lib(bld, obj, 'LV2 LILV RAUL SERD SORD SRATOM')