From f48f9d69a541d758dc9928c0c89eae46819e660f Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 13 Apr 2019 15:24:45 +0200 Subject: Clean up symbol table --- ingen/ColorContext.hpp | 4 +++- ingen/FilePath.hpp | 18 ++++++++++-------- src/client/wscript | 1 + src/gui/wscript | 2 ++ src/server/DuplexPort.hpp | 5 +++-- src/server/PortImpl.hpp | 2 +- src/server/wscript | 7 ++++--- src/wscript | 3 ++- 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 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 #include @@ -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 std::basic_ostream& 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') -- cgit v1.2.1