From 98c93ee53effd43ec54abaa6c47cf41925ae349e Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 17 Oct 2013 13:30:18 -0400 Subject: tweak up DLL=1 defs for control surfaces --- libs/surfaces/wiimote/wscript | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libs/surfaces/wiimote') diff --git a/libs/surfaces/wiimote/wscript b/libs/surfaces/wiimote/wscript index 3a4bd109c2..eb4e2306e8 100644 --- a/libs/surfaces/wiimote/wscript +++ b/libs/surfaces/wiimote/wscript @@ -25,7 +25,9 @@ def build(bld): interface.cc ''' obj.export_includes = ['./wiimote'] - obj.cxxflags = '-DPACKAGE="ardour_wiimote"' + obj.defines = [ 'PACKAGE="ardour_wiimote"' ] + if bld.is_defined ('INTERNAL_SHARED_LIBS'): + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1' ] obj.includes = ['.', '../libs'] obj.name = 'libardour_wiimote' obj.target = 'ardour_wiimote' -- cgit v1.2.3 From 2fab8182cc1e40844652922acf56cc0d71bc2051 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 17 Oct 2013 14:36:41 -0400 Subject: add -fvisibility=hidden to libgtkmm2ext, and make things work --- libs/ardour/ardour/midi_ui.h | 1 + libs/gtkmm2ext/gtk_ui.cc | 1 + libs/gtkmm2ext/gtkmm2ext/actions.h | 54 +++++++++++++------------- libs/gtkmm2ext/gtkmm2ext/gtk_ui.h | 13 ++++--- libs/gtkmm2ext/wscript | 2 + libs/pbd/pbd/abstract_ui.h | 19 ++++++++- libs/pbd/pbd/libpbd_visibility.h | 2 - libs/surfaces/mackie/mackie_control_protocol.h | 1 + libs/surfaces/osc/osc.h | 1 + libs/surfaces/wiimote/wiimote.h | 1 + 10 files changed, 60 insertions(+), 35 deletions(-) (limited to 'libs/surfaces/wiimote') diff --git a/libs/ardour/ardour/midi_ui.h b/libs/ardour/ardour/midi_ui.h index 469f293770..e99d6bf499 100644 --- a/libs/ardour/ardour/midi_ui.h +++ b/libs/ardour/ardour/midi_ui.h @@ -22,6 +22,7 @@ #include +#define ABSTRACT_UI_EXPORTS #include "pbd/abstract_ui.h" #include "pbd/signals.h" #include "pbd/stacktrace.h" diff --git a/libs/gtkmm2ext/gtk_ui.cc b/libs/gtkmm2ext/gtk_ui.cc index d9e4c871a6..fc94657f6d 100644 --- a/libs/gtkmm2ext/gtk_ui.cc +++ b/libs/gtkmm2ext/gtk_ui.cc @@ -43,6 +43,7 @@ #include "gtkmm2ext/actions.h" #include "gtkmm2ext/activatable.h" #include "gtkmm2ext/actions.h" +#include "gtkmm2ext/gui_thread.h" #include "i18n.h" diff --git a/libs/gtkmm2ext/gtkmm2ext/actions.h b/libs/gtkmm2ext/gtkmm2ext/actions.h index 9101f8ea92..d92f85bb6e 100644 --- a/libs/gtkmm2ext/gtkmm2ext/actions.h +++ b/libs/gtkmm2ext/gtkmm2ext/actions.h @@ -28,67 +28,69 @@ #include #include +#include "gtkmm2ext/visibility.h" + namespace Gtk { class UIManager; } namespace ActionManager { - extern std::string unbound_string; /* the key string returned if an action is not bound */ - extern Glib::RefPtr ui_manager; + LIBGTKMM2EXT_API extern std::string unbound_string; /* the key string returned if an action is not bound */ + LIBGTKMM2EXT_API extern Glib::RefPtr ui_manager; - extern void set_sensitive (std::vector >& actions, bool); - extern std::string get_key_representation (const std::string& accel_path, Gtk::AccelKey& key); + LIBGTKMM2EXT_API extern void set_sensitive (std::vector >& actions, bool); + LIBGTKMM2EXT_API extern std::string get_key_representation (const std::string& accel_path, Gtk::AccelKey& key); - extern Gtk::Widget* get_widget (const char * name); - extern Glib::RefPtr get_action (const char* group, const char* name); - extern Glib::RefPtr get_action (const char* path); - extern Glib::RefPtr get_action_from_name (const char* name); - extern void do_action (const char* group, const char* name); - extern void set_toggle_action (const char* group, const char* name, bool); + LIBGTKMM2EXT_API extern Gtk::Widget* get_widget (const char * name); + LIBGTKMM2EXT_API extern Glib::RefPtr get_action (const char* group, const char* name); + LIBGTKMM2EXT_API extern Glib::RefPtr get_action (const char* path); + LIBGTKMM2EXT_API extern Glib::RefPtr get_action_from_name (const char* name); + LIBGTKMM2EXT_API extern void do_action (const char* group, const char* name); + LIBGTKMM2EXT_API extern void set_toggle_action (const char* group, const char* name, bool); - extern void add_action_group (Glib::RefPtr); + LIBGTKMM2EXT_API extern void add_action_group (Glib::RefPtr); - extern Glib::RefPtr register_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_action (Glib::RefPtr group, const char * name, const char * label); - extern Glib::RefPtr register_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_action (Glib::RefPtr group, const char * name, const char * label, sigc::slot sl, guint key, Gdk::ModifierType mods); - extern Glib::RefPtr register_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_action (Glib::RefPtr group, const char * name, const char * label, sigc::slot sl); - extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, + LIBGTKMM2EXT_API extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, const char * name, const char * label, sigc::slot sl, guint key, Gdk::ModifierType mods); - extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, + LIBGTKMM2EXT_API extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, const char * name, const char * label, sigc::slot sl); - extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, + LIBGTKMM2EXT_API extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, std::string const &, std::string const &, std::string const &, sigc::slot sl); - extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, const char * name, const char * label, sigc::slot sl, guint key, Gdk::ModifierType mods); - extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, std::string const &, std::string const &, std::string const &, sigc::slot sl); - extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, + LIBGTKMM2EXT_API extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, const char * name, const char * label, sigc::slot sl); - extern bool lookup_entry (const Glib::ustring accel_path, Gtk::AccelKey& key); + LIBGTKMM2EXT_API extern bool lookup_entry (const Glib::ustring accel_path, Gtk::AccelKey& key); - extern void get_all_actions (std::vector& names, + LIBGTKMM2EXT_API extern void get_all_actions (std::vector& names, std::vector& paths, std::vector& tooltips, std::vector& keys, std::vector& bindings); - extern void get_all_actions (std::vector& groups, + LIBGTKMM2EXT_API extern void get_all_actions (std::vector& groups, std::vector& paths, std::vector& tooltips, std::vector& bindings); - extern void check_toggleaction (std::string); - extern void uncheck_toggleaction (std::string); - extern void set_toggleaction_state (std::string, bool); + LIBGTKMM2EXT_API extern void check_toggleaction (std::string); + LIBGTKMM2EXT_API extern void uncheck_toggleaction (std::string); + LIBGTKMM2EXT_API extern void set_toggleaction_state (std::string, bool); }; #endif /* __libgtkmm2ext_actions_h__ */ diff --git a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h index 2e5cc11d23..b726eb89ac 100644 --- a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h +++ b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h @@ -37,12 +37,13 @@ #include #include #include -#include -#include - -#include -#include -#include + +#define ABSTRACT_UI_EXPORTS +#include "pbd/abstract_ui.h" +#include "pbd/ringbufferNPT.h" +#include "pbd/pool.h" +#include "pbd/error.h" +#include "pbd/receiver.h" #include "gtkmm2ext/visibility.h" diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript index 7600c8a089..955b133d33 100644 --- a/libs/gtkmm2ext/wscript +++ b/libs/gtkmm2ext/wscript @@ -90,6 +90,8 @@ def build(bld): obj.defines = [ 'LIBGTKMM2EXT_DLL=1', 'LIBGTKMM2EXT_DLL_EXPORTS=1' ] # internal shared libs that we use obj.defines += [ 'LIBPBD_DLL=1' ] + obj.cxxflags = [ '-fvisibility=hidden' ] + obj.cflags = [ '-fvisibility=hidden' ] else: obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=gtkmm2ext_sources) obj.cxxflags = [ '-fPIC' ] diff --git a/libs/pbd/pbd/abstract_ui.h b/libs/pbd/pbd/abstract_ui.h index e78cf1ce28..f78ba26090 100644 --- a/libs/pbd/pbd/abstract_ui.h +++ b/libs/pbd/pbd/abstract_ui.h @@ -32,10 +32,27 @@ #include "pbd/signals.h" #include "pbd/base_ui.h" +/* We have a special case in libpbd of a template class that gets instantiated + * as the base class of several classes in other libraries. It is not possible + * to use LIBFOO_API to mark this visible, because the FOO in each case is + * different. So we define this generic visible/export/hidden/import pair + * of macros to try to deal with this special case. These should NEVER be + * used anywhere except AbstractUI (or similar cases if they arise. + * + * Note the assumption here that other libs are being built as DLLs if this one is. + */ + +#ifdef ABSTRACT_UI_EXPORTS +#define ABSTRACT_UI_API LIBPBD_DLL_EXPORT +#else +#define ABSTRACT_UI_API LIBPBD_DLL_IMPORT +#endif + + class Touchable; template -class AbstractUI : public BaseUI +class ABSTRACT_UI_API AbstractUI : public BaseUI /* see notes in visibility.h about why this is not LIBPBD_API */ { public: AbstractUI (const std::string& name); diff --git a/libs/pbd/pbd/libpbd_visibility.h b/libs/pbd/pbd/libpbd_visibility.h index 0aa309a4a4..e2c6235f0b 100644 --- a/libs/pbd/pbd/libpbd_visibility.h +++ b/libs/pbd/pbd/libpbd_visibility.h @@ -38,8 +38,6 @@ #define LIBPBD_DLL_IMPORT #define LIBPBD_DLL_EXPORT #define LIBPBD_DLL_LOCAL - #define LIBPBD_DLL_IMPORT_CLASS - #define LIBPBD_DLL_EXPORT_CLASS #endif #endif diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h index 4669247726..81e1436938 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.h +++ b/libs/surfaces/mackie/mackie_control_protocol.h @@ -28,6 +28,7 @@ #include #include +#define ABSTRACT_UI_EXPORTS #include "pbd/abstract_ui.h" #include "midi++/types.h" #include "ardour/types.h" diff --git a/libs/surfaces/osc/osc.h b/libs/surfaces/osc/osc.h index 84dd0d9c86..2479eceaff 100644 --- a/libs/surfaces/osc/osc.h +++ b/libs/surfaces/osc/osc.h @@ -31,6 +31,7 @@ #include +#define ABSTRACT_UI_EXPORTS #include "pbd/abstract_ui.h" #include "ardour/types.h" diff --git a/libs/surfaces/wiimote/wiimote.h b/libs/surfaces/wiimote/wiimote.h index f6ac8edc41..6edadf6c64 100644 --- a/libs/surfaces/wiimote/wiimote.h +++ b/libs/surfaces/wiimote/wiimote.h @@ -23,6 +23,7 @@ #include +#define ABSTRACT_UI_EXPORTS #include "pbd/abstract_ui.h" #include "ardour/types.h" #include "control_protocol/control_protocol.h" -- cgit v1.2.3 From 61c1956ef994483d92828169b7b032d5520d2256 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 17 Oct 2013 15:02:20 -0400 Subject: add -fvisibility=hidden to evoral, and make things work --- libs/backends/jack/wscript | 2 ++ libs/evoral/evoral/visibility.h | 6 +++--- libs/evoral/wscript | 6 +++++- libs/midi++2/wscript | 2 +- libs/panners/1in2out/wscript | 2 +- libs/panners/2in2out/wscript | 2 +- libs/panners/vbap/wscript | 2 +- libs/surfaces/control_protocol/wscript | 2 +- libs/surfaces/generic_midi/wscript | 2 +- libs/surfaces/mackie/wscript | 2 +- libs/surfaces/osc/wscript | 2 +- libs/surfaces/wiimote/wscript | 2 +- 12 files changed, 19 insertions(+), 13 deletions(-) (limited to 'libs/surfaces/wiimote') diff --git a/libs/backends/jack/wscript b/libs/backends/jack/wscript index d76ec095ca..1e913bb18c 100644 --- a/libs/backends/jack/wscript +++ b/libs/backends/jack/wscript @@ -42,6 +42,8 @@ def build(bld): obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"', 'ARDOURBACKEND_DLL_EXPORTS' ] + if bld.is_defined ('INTERNAL_SHARED_LIBS'): + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] # # device discovery code in the jack backend needs ALSA diff --git a/libs/evoral/evoral/visibility.h b/libs/evoral/evoral/visibility.h index 6b30bd1c9f..380caca2fd 100644 --- a/libs/evoral/evoral/visibility.h +++ b/libs/evoral/evoral/visibility.h @@ -17,8 +17,8 @@ */ -#ifndef __libevoral_libevoral_visibility_h__ -#define __libevoral_libevoral_visibility_h__ +#ifndef __libevoral_visibility_h__ +#define __libevoral_visibility_h__ /* _WIN32 is defined by most compilers targetting Windows, but within the * evoral source tree, we also define COMPILER_MSVC or COMPILER_MINGW depending @@ -53,4 +53,4 @@ #define LIBEVORAL_LOCAL #endif -#endif /* __libevoral_libevoral_visibility_h__ */ +#endif /* __libevoral_visibility_h__ */ diff --git a/libs/evoral/wscript b/libs/evoral/wscript index f309bc7031..569aa0fc6b 100644 --- a/libs/evoral/wscript +++ b/libs/evoral/wscript @@ -90,8 +90,12 @@ def build(bld): # Library if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=lib_source) + # DLL exports for this library obj.defines = [ 'LIBEVORAL_DLL=1', 'LIBEVORAL_DLL_EXPORTS=1' ] - obj.defines = [ 'LIBPBD_DLL=1' ] + # DLL imports for other libraries + obj.defines += [ 'LIBPBD_DLL=1' ] + obj.cxxflags = [ '-fvisibility=hidden' ] + obj.cflags = [ '-fvisibility=hidden' ] else: obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=lib_source) obj.cxxflags = [ '-fPIC' ] diff --git a/libs/midi++2/wscript b/libs/midi++2/wscript index bc3f3313a2..c950d13192 100644 --- a/libs/midi++2/wscript +++ b/libs/midi++2/wscript @@ -63,7 +63,7 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'cxx cxxshlib', source=libmidi_sources) obj.defines = [ 'LIBMIDIPP_DLL=1', 'LIBMIDIPP_DLL_EXPORTS=1' ] - obj.defines += [ 'LIBPBD_DLL=1' ] + obj.defines += [ 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] else: obj = bld.stlib(features = 'cxx cxxstlib', source=libmidi_sources) obj.cxxflags = [ '-fPIC', '-DWITH_JACK_MIDI' ] diff --git a/libs/panners/1in2out/wscript b/libs/panners/1in2out/wscript index c26cc0546d..ad9c5a6b4c 100644 --- a/libs/panners/1in2out/wscript +++ b/libs/panners/1in2out/wscript @@ -24,7 +24,7 @@ def build(bld): obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="libardour_pan1in2out"' ] if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBPBD_DLL=1' ] + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.'] obj.name = 'libardour_pan1in2out' obj.target = 'pan1in2out' diff --git a/libs/panners/2in2out/wscript b/libs/panners/2in2out/wscript index 72eeda917f..2d83205262 100644 --- a/libs/panners/2in2out/wscript +++ b/libs/panners/2in2out/wscript @@ -24,7 +24,7 @@ def build(bld): obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="libardour_pan2in2out"' ] if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBPBD_DLL=1' ] + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.'] obj.name = 'libardour_pan2in2out' obj.target = 'pan2in2out' diff --git a/libs/panners/vbap/wscript b/libs/panners/vbap/wscript index 8d4356b828..4113aba53c 100644 --- a/libs/panners/vbap/wscript +++ b/libs/panners/vbap/wscript @@ -24,7 +24,7 @@ def build(bld): obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="libardour_panvbap"' ] if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL_=1', 'LIBPBD_DLL=1' ] + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL_=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.'] obj.name = 'libardour_panvbap' obj.target = 'panvbap' diff --git a/libs/surfaces/control_protocol/wscript b/libs/surfaces/control_protocol/wscript index eb2db5d269..6cc285454b 100644 --- a/libs/surfaces/control_protocol/wscript +++ b/libs/surfaces/control_protocol/wscript @@ -30,7 +30,7 @@ def build(bld): # defines for this library obj.defines = [ 'LIBCONTROLCP_DLL=1', 'LIBCONTROLCP_DLL_EXPORTS=1' ] # internal shared libs that we use - obj.defines += [ 'LIBPBD_DLL=1', 'LIBARDOUR_DLL=1' ] + obj.defines += [ 'LIBPBD_DLL=1', 'LIBARDOUR_DLL=1', 'LIBEVORAL_DLL=1' ] else: obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=controlcp_sources) obj.cxxflags = [ '-fPIC' ] diff --git a/libs/surfaces/generic_midi/wscript b/libs/surfaces/generic_midi/wscript index 1cab8fdd2e..cdc68529ac 100644 --- a/libs/surfaces/generic_midi/wscript +++ b/libs/surfaces/generic_midi/wscript @@ -32,7 +32,7 @@ def build(bld): obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="ardour_genericmidi"' ] if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1' ] + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.', './generic_midi'] obj.name = 'libardour_generic_midi' obj.target = 'ardour_generic_midi' diff --git a/libs/surfaces/mackie/wscript b/libs/surfaces/mackie/wscript index 3989833544..d76a26f651 100644 --- a/libs/surfaces/mackie/wscript +++ b/libs/surfaces/mackie/wscript @@ -44,7 +44,7 @@ def build(bld): obj.export_includes = ['./mackie'] obj.defines = [ 'PACKAGE="ardour_mackie"' ] if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1' ] + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1', 'LIBEVORAL_DLL=1' ] # need ../libs because some GTK2 header files require stuff there obj.includes = ['.', '../libs'] obj.name = 'libardour_mcp' diff --git a/libs/surfaces/osc/wscript b/libs/surfaces/osc/wscript index d52909aa88..88174c0faf 100644 --- a/libs/surfaces/osc/wscript +++ b/libs/surfaces/osc/wscript @@ -29,7 +29,7 @@ def build(bld): obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="ardour_osc"' ] if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1' ] + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.', './osc'] obj.name = 'libardour_osc' obj.target = 'ardour_osc' diff --git a/libs/surfaces/wiimote/wscript b/libs/surfaces/wiimote/wscript index eb4e2306e8..623aa960db 100644 --- a/libs/surfaces/wiimote/wscript +++ b/libs/surfaces/wiimote/wscript @@ -27,7 +27,7 @@ def build(bld): obj.export_includes = ['./wiimote'] obj.defines = [ 'PACKAGE="ardour_wiimote"' ] if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1' ] + obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.', '../libs'] obj.name = 'libardour_wiimote' obj.target = 'ardour_wiimote' -- cgit v1.2.3 From f85c67501c2bef578eeb53741d0dfecaa0c723df Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 18 Oct 2013 11:50:44 -0400 Subject: reverse the visibility.h files assumptions that we don't build shared libs by default This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript. Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build on such an old version. --- gtk2_ardour/wscript | 13 ---------- libs/ardour/ardour/libardour_visibility.h | 28 ++++++++------------ libs/ardour/ardour/visibility.h | 12 +++------ libs/ardour/wscript | 4 +-- libs/audiographer/audiographer/visibility.h | 28 ++++++++------------ libs/audiographer/wscript | 4 +-- libs/backends/jack/wscript | 2 -- libs/evoral/evoral/visibility.h | 28 ++++++++------------ libs/evoral/wscript | 4 +-- libs/gtkmm2ext/gtkmm2ext/visibility.h | 30 +++++++++------------- libs/gtkmm2ext/wscript | 4 +-- libs/midi++2/midi++/libmidi_visibility.h | 30 +++++++++------------- libs/midi++2/wscript | 3 +-- libs/panners/1in2out/wscript | 2 -- libs/panners/2in2out/wscript | 2 -- libs/panners/vbap/wscript | 2 -- libs/pbd/pbd/libpbd_visibility.h | 28 ++++++++------------ libs/pbd/wscript | 4 +-- .../control_protocol/control_protocol/visibility.h | 28 ++++++++------------ libs/surfaces/control_protocol/wscript | 4 +-- libs/surfaces/frontier/wscript | 2 -- libs/surfaces/generic_midi/wscript | 2 -- libs/surfaces/mackie/wscript | 2 -- libs/surfaces/osc/wscript | 2 -- libs/surfaces/tranzport/wscript | 2 -- libs/surfaces/wiimote/wscript | 2 -- 26 files changed, 89 insertions(+), 183 deletions(-) (limited to 'libs/surfaces/wiimote') diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index cc494c2ba2..e96fdc1388 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -407,19 +407,6 @@ def build(bld): obj.includes = ['.'] obj.defines = [] - # if our internal libraries are built as DLL's, define - # the macros that activate the right stuff in headers - # for export/visibility to work on all platforms. - - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBPBD_DLL=1', - 'LIBARDOUR_DLL=1', - 'LIBMIDIPP_DLL=1', - 'LIBARDOUR_DLL=1', - 'LIBARDOUR_CP_DLL=1', - 'LIBGTKMM2EXT_DLL=1', - 'LIBEVORAL_DLL=1', - ] # continue with setup of obj, which could be a shared library # or an executable. diff --git a/libs/ardour/ardour/libardour_visibility.h b/libs/ardour/ardour/libardour_visibility.h index ed5cacf261..a41afca14d 100644 --- a/libs/ardour/ardour/libardour_visibility.h +++ b/libs/ardour/ardour/libardour_visibility.h @@ -30,27 +30,21 @@ #define LIBARDOUR_DLL_EXPORT __declspec(dllexport) #define LIBARDOUR_DLL_LOCAL #else - #if __GNUC__ >= 4 - #define LIBARDOUR_DLL_IMPORT __attribute__ ((visibility ("default"))) - #define LIBARDOUR_DLL_EXPORT __attribute__ ((visibility ("default"))) - #define LIBARDOUR_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBARDOUR_DLL_IMPORT - #define LIBARDOUR_DLL_EXPORT - #define LIBARDOUR_DLL_LOCAL - #endif + #define LIBARDOUR_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBARDOUR_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBARDOUR_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#ifdef LIBARDOUR_DLL // libardour is a DLL -#ifdef LIBARDOUR_DLL_EXPORTS // defined if we are building the libardour DLL (instead of using it) - #define LIBARDOUR_API LIBARDOUR_DLL_EXPORT -#else - #define LIBARDOUR_API LIBARDOUR_DLL_IMPORT -#endif -#define LIBARDOUR_LOCAL LIBARDOUR_DLL_LOCAL -#else /* static lib, not DLL */ +#ifdef LIBARDOUR_STATIC // libardour is not a DLL #define LIBARDOUR_API #define LIBARDOUR_LOCAL +#else + #ifdef LIBARDOUR_DLL_EXPORTS // defined if we are building the libardour DLL (instead of using it) + #define LIBARDOUR_API LIBARDOUR_DLL_EXPORT + #else + #define LIBARDOUR_API LIBARDOUR_DLL_IMPORT + #endif + #define LIBARDOUR_LOCAL LIBARDOUR_DLL_LOCAL #endif #endif /* __libardour_libardour_visibility_h__ */ diff --git a/libs/ardour/ardour/visibility.h b/libs/ardour/ardour/visibility.h index 09287b877d..5b3e5d8996 100644 --- a/libs/ardour/ardour/visibility.h +++ b/libs/ardour/ardour/visibility.h @@ -26,19 +26,13 @@ */ #if defined _WIN32 || defined __CYGWIN__ || defined(COMPILER_MSVC) || defined(COMPILER_MINGW) - #define LIBARDOUR_HELPER_DLL_IMPORT __declspec(dllimport) - #define LIBARDOUR_HELPER_DLL_EXPORT __declspec(dllexport) - #define LIBARDOUR_HELPER_DLL_LOCAL + #define LIBARDOUR_HELPER_DLL_IMPORT __declspec(dllimport) + #define LIBARDOUR_HELPER_DLL_EXPORT __declspec(dllexport) + #define LIBARDOUR_HELPER_DLL_LOCAL #else - #if __GNUC__ >= 4 #define LIBARDOUR_HELPER_DLL_IMPORT __attribute__ ((visibility ("default"))) #define LIBARDOUR_HELPER_DLL_EXPORT __attribute__ ((visibility ("default"))) #define LIBARDOUR_HELPER_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBARDOUR_HELPER_DLL_IMPORT - #define LIBARDOUR_HELPER_DLL_EXPORT - #define LIBARDOUR_HELPER_DLL_LOCAL - #endif #endif #endif /* __libardour_visibility_h__ */ diff --git a/libs/ardour/wscript b/libs/ardour/wscript index 838e72279c..33351bd8b1 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -323,9 +323,7 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=libardour_sources) # macros for this shared library - obj.defines = [ 'LIBARDOUR_DLL=1', 'LIBARDOUR_DLL_EXPORTS=1' ] - # macros for this other internal shared libraries that we use - obj.defines += [ 'LIBEVORAL_DLL=1', 'LIBMIDIPP_DLL=1', 'LIBPBD_DLL=1' ] + obj.defines = [ 'LIBARDOUR_DLL_EXPORTS=1' ] obj.cflags = [ '-fvisibility=hidden' ] obj.cxxflags = [ '-fvisibility=hidden' ] else: diff --git a/libs/audiographer/audiographer/visibility.h b/libs/audiographer/audiographer/visibility.h index 8c149f9efd..72ce50bd25 100644 --- a/libs/audiographer/audiographer/visibility.h +++ b/libs/audiographer/audiographer/visibility.h @@ -30,27 +30,21 @@ #define LIBAUDIOGRAPHER_DLL_EXPORT __declspec(dllexport) #define LIBAUDIOGRAPHER_DLL_LOCAL #else - #if __GNUC__ >= 4 - #define LIBAUDIOGRAPHER_DLL_IMPORT __attribute__ ((visibility ("default"))) - #define LIBAUDIOGRAPHER_DLL_EXPORT __attribute__ ((visibility ("default"))) - #define LIBAUDIOGRAPHER_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBAUDIOGRAPHER_DLL_IMPORT - #define LIBAUDIOGRAPHER_DLL_EXPORT - #define LIBAUDIOGRAPHER_DLL_LOCAL - #endif + #define LIBAUDIOGRAPHER_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBAUDIOGRAPHER_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBAUDIOGRAPHER_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#ifdef LIBAUDIOGRAPHER_DLL // libaudiographer is a DLL -#ifdef LIBAUDIOGRAPHER_DLL_EXPORTS // defined if we are building the libaudiographer DLL (instead of using it) - #define LIBAUDIOGRAPHER_API LIBAUDIOGRAPHER_DLL_EXPORT +#ifdef LIBAUDIOGRAPHER_STATIC // libaudiographer is not a DLL + #define LIBAUDIOGRAPHER_API + #define LIBAUDIOGRAPHER_LOCAL #else + #ifdef LIBAUDIOGRAPHER_DLL_EXPORTS // defined if we are building the libaudiographer DLL (instead of using it) + #define LIBAUDIOGRAPHER_API LIBAUDIOGRAPHER_DLL_EXPORT + #else #define LIBAUDIOGRAPHER_API LIBAUDIOGRAPHER_DLL_IMPORT -#endif -#define LIBAUDIOGRAPHER_LOCAL LIBAUDIOGRAPHER_DLL_LOCAL -#else /* static lib, not DLL */ -#define LIBAUDIOGRAPHER_API -#define LIBAUDIOGRAPHER_LOCAL + #endif + #define LIBAUDIOGRAPHER_LOCAL LIBAUDIOGRAPHER_DLL_LOCAL #endif #endif /* __libaudiographer_visibility_h__ */ diff --git a/libs/audiographer/wscript b/libs/audiographer/wscript index 9e2d1c4c3c..183b272518 100644 --- a/libs/audiographer/wscript +++ b/libs/audiographer/wscript @@ -67,9 +67,7 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): audiographer = bld.shlib(features = 'c cxx cshlib cxxshlib', source=audiographer_sources) # macros for this shared library - audiographer.defines = [ 'LIBAUDIOGRAPHER_DLL=1', 'LIBAUDIOGRAPHER_DLL_EXPORTS=1' ] - # macros for this other internal shared libraries that we use - audiographer.defines += [ 'LIBPBD_DLL=1' ] + audiographer.defines = [ 'LIBAUDIOGRAPHER_DLL_EXPORTS=1' ] audiographer.cflags = [ '-fvisibility=hidden' ] audiographer.cxxflags = [ '-fvisibility=hidden' ] else: diff --git a/libs/backends/jack/wscript b/libs/backends/jack/wscript index 1e913bb18c..d76ec095ca 100644 --- a/libs/backends/jack/wscript +++ b/libs/backends/jack/wscript @@ -42,8 +42,6 @@ def build(bld): obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"', 'ARDOURBACKEND_DLL_EXPORTS' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] # # device discovery code in the jack backend needs ALSA diff --git a/libs/evoral/evoral/visibility.h b/libs/evoral/evoral/visibility.h index 380caca2fd..17c0b7730b 100644 --- a/libs/evoral/evoral/visibility.h +++ b/libs/evoral/evoral/visibility.h @@ -30,27 +30,21 @@ #define LIBEVORAL_DLL_EXPORT __declspec(dllexport) #define LIBEVORAL_DLL_LOCAL #else - #if __GNUC__ >= 4 - #define LIBEVORAL_DLL_IMPORT __attribute__ ((visibility ("default"))) - #define LIBEVORAL_DLL_EXPORT __attribute__ ((visibility ("default"))) - #define LIBEVORAL_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBEVORAL_DLL_IMPORT - #define LIBEVORAL_DLL_EXPORT - #define LIBEVORAL_DLL_LOCAL - #endif + #define LIBEVORAL_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBEVORAL_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBEVORAL_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#ifdef LIBEVORAL_DLL // libevoral is a DLL -#ifdef LIBEVORAL_DLL_EXPORTS // defined if we are building the libevoral DLL (instead of using it) - #define LIBEVORAL_API LIBEVORAL_DLL_EXPORT +#ifdef LIBEVORAL_STATIC // libevoral is not a DLL + #define LIBEVORAL_API + #define LIBEVORAL_LOCAL #else + #ifdef LIBEVORAL_DLL_EXPORTS // defined if we are building the libevoral DLL (instead of using it) + #define LIBEVORAL_API LIBEVORAL_DLL_EXPORT + #else #define LIBEVORAL_API LIBEVORAL_DLL_IMPORT -#endif -#define LIBEVORAL_LOCAL LIBEVORAL_DLL_LOCAL -#else /* static lib, not DLL */ -#define LIBEVORAL_API -#define LIBEVORAL_LOCAL + #endif + #define LIBEVORAL_LOCAL LIBEVORAL_DLL_LOCAL #endif #endif /* __libevoral_visibility_h__ */ diff --git a/libs/evoral/wscript b/libs/evoral/wscript index 569aa0fc6b..30b20f2cbd 100644 --- a/libs/evoral/wscript +++ b/libs/evoral/wscript @@ -91,9 +91,7 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=lib_source) # DLL exports for this library - obj.defines = [ 'LIBEVORAL_DLL=1', 'LIBEVORAL_DLL_EXPORTS=1' ] - # DLL imports for other libraries - obj.defines += [ 'LIBPBD_DLL=1' ] + obj.defines = [ 'LIBEVORAL_DLL_EXPORTS=1' ] obj.cxxflags = [ '-fvisibility=hidden' ] obj.cflags = [ '-fvisibility=hidden' ] else: diff --git a/libs/gtkmm2ext/gtkmm2ext/visibility.h b/libs/gtkmm2ext/gtkmm2ext/visibility.h index ce2d3e6e42..5a5fce3e8c 100644 --- a/libs/gtkmm2ext/gtkmm2ext/visibility.h +++ b/libs/gtkmm2ext/gtkmm2ext/visibility.h @@ -30,27 +30,21 @@ #define LIBGTKMM2EXT_DLL_EXPORT __declspec(dllexport) #define LIBGTKMM2EXT_DLL_LOCAL #else - #if __GNUC__ >= 4 - #define LIBGTKMM2EXT_DLL_IMPORT __attribute__ ((visibility ("default"))) - #define LIBGTKMM2EXT_DLL_EXPORT __attribute__ ((visibility ("default"))) - #define LIBGTKMM2EXT_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBGTKMM2EXT_DLL_IMPORT - #define LIBGTKMM2EXT_DLL_EXPORT - #define LIBGTKMM2EXT_DLL_LOCAL - #endif + #define LIBGTKMM2EXT_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBGTKMM2EXT_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBGTKMM2EXT_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#ifdef LIBGTKMM2EXT_DLL // libgtkmm2ext is a DLL -#ifdef LIBGTKMM2EXT_DLL_EXPORTS // defined if we are building the libgtkmm2ext DLL (instead of using it) - #define LIBGTKMM2EXT_API LIBGTKMM2EXT_DLL_EXPORT +#ifdef LIBGTKMM2EXT_STATIC // libgtkmm2ext is a DLL + #define LIBGTKMM2EXT_API + #define LIBGTKMM2EXT_LOCAL #else - #define LIBGTKMM2EXT_API LIBGTKMM2EXT_DLL_IMPORT -#endif -#define LIBGTKMM2EXT_LOCAL LIBGTKMM2EXT_DLL_LOCAL -#else /* static lib, not DLL */ -#define LIBGTKMM2EXT_API -#define LIBGTKMM2EXT_LOCAL + #ifdef LIBGTKMM2EXT_DLL_EXPORTS // defined if we are building the libgtkmm2ext DLL (instead of using it) + #define LIBGTKMM2EXT_API LIBGTKMM2EXT_DLL_EXPORT + #else + #define LIBGTKMM2EXT_API LIBGTKMM2EXT_DLL_IMPORT + #endif + #define LIBGTKMM2EXT_LOCAL LIBGTKMM2EXT_DLL_LOCAL #endif #endif /* __libgtkmm2ext_visibility_h__ */ diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript index 955b133d33..c87e1aa1d0 100644 --- a/libs/gtkmm2ext/wscript +++ b/libs/gtkmm2ext/wscript @@ -87,9 +87,7 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources) # defines for this library - obj.defines = [ 'LIBGTKMM2EXT_DLL=1', 'LIBGTKMM2EXT_DLL_EXPORTS=1' ] - # internal shared libs that we use - obj.defines += [ 'LIBPBD_DLL=1' ] + obj.defines = [ 'LIBGTKMM2EXT_DLL_EXPORTS=1' ] obj.cxxflags = [ '-fvisibility=hidden' ] obj.cflags = [ '-fvisibility=hidden' ] else: diff --git a/libs/midi++2/midi++/libmidi_visibility.h b/libs/midi++2/midi++/libmidi_visibility.h index 62eebfe8e2..51b061bdd8 100644 --- a/libs/midi++2/midi++/libmidi_visibility.h +++ b/libs/midi++2/midi++/libmidi_visibility.h @@ -30,27 +30,21 @@ #define LIBMIDIPP_DLL_EXPORT __declspec(dllexport) #define LIBMIDIPP_DLL_LOCAL #else - #if __GNUC__ >= 4 - #define LIBMIDIPP_DLL_IMPORT __attribute__ ((visibility ("default"))) - #define LIBMIDIPP_DLL_EXPORT __attribute__ ((visibility ("default"))) - #define LIBMIDIPP_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBMIDIPP_DLL_IMPORT - #define LIBMIDIPP_DLL_EXPORT - #define LIBMIDIPP_DLL_LOCAL - #endif + #define LIBMIDIPP_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBMIDIPP_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBMIDIPP_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#ifdef LIBMIDIPP_DLL // libmidi is a DLL -#ifdef LIBMIDIPP_DLL_EXPORTS // defined if we are building the libmidi DLL (instead of using it) - #define LIBMIDIPP_API LIBMIDIPP_DLL_EXPORT +#ifdef LIBMIDIPP_STATIC // libmidi is not a DLL + #define LIBMIDIPP_API + #define LIBMIDIPP_LOCAL #else - #define LIBMIDIPP_API LIBMIDIPP_DLL_IMPORT -#endif -#define LIBMIDIPP_LOCAL LIBMIDIPP_DLL_LOCAL -#else /* static lib, not DLL */ -#define LIBMIDIPP_API -#define LIBMIDIPP_LOCAL + #ifdef LIBMIDIPP_DLL_EXPORTS // defined if we are building the libmidi DLL (instead of using it) + #define LIBMIDIPP_API LIBMIDIPP_DLL_EXPORT + #else + #define LIBMIDIPP_API LIBMIDIPP_DLL_IMPORT + #endif + #define LIBMIDIPP_LOCAL LIBMIDIPP_DLL_LOCAL #endif #endif /* __libmidi_libmidi_visibility_h__ */ diff --git a/libs/midi++2/wscript b/libs/midi++2/wscript index 39a4411dc0..b500bcaa4e 100644 --- a/libs/midi++2/wscript +++ b/libs/midi++2/wscript @@ -62,8 +62,7 @@ def build(bld): # Library if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'cxx cxxshlib', source=libmidi_sources) - obj.defines = [ 'LIBMIDIPP_DLL=1', 'LIBMIDIPP_DLL_EXPORTS=1' ] - obj.defines += [ 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] + obj.defines = [ 'LIBMIDIPP_DLL_EXPORTS=1' ] obj.cxxflags = [ '-fvisibility=hidden' ] obj.cflags = [ '-fvisibility=hidden' ] else: diff --git a/libs/panners/1in2out/wscript b/libs/panners/1in2out/wscript index ad9c5a6b4c..465b2da7a5 100644 --- a/libs/panners/1in2out/wscript +++ b/libs/panners/1in2out/wscript @@ -23,8 +23,6 @@ def build(bld): obj.source = [ 'panner_1in2out.cc' ] obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="libardour_pan1in2out"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.'] obj.name = 'libardour_pan1in2out' obj.target = 'pan1in2out' diff --git a/libs/panners/2in2out/wscript b/libs/panners/2in2out/wscript index 2d83205262..4d144b1934 100644 --- a/libs/panners/2in2out/wscript +++ b/libs/panners/2in2out/wscript @@ -23,8 +23,6 @@ def build(bld): obj.source = [ 'panner_2in2out.cc' ] obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="libardour_pan2in2out"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.'] obj.name = 'libardour_pan2in2out' obj.target = 'pan2in2out' diff --git a/libs/panners/vbap/wscript b/libs/panners/vbap/wscript index 4113aba53c..bc18def5e6 100644 --- a/libs/panners/vbap/wscript +++ b/libs/panners/vbap/wscript @@ -23,8 +23,6 @@ def build(bld): obj.source = [ 'vbap_speakers.cc', 'vbap.cc' ] obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="libardour_panvbap"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL_=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.'] obj.name = 'libardour_panvbap' obj.target = 'panvbap' diff --git a/libs/pbd/pbd/libpbd_visibility.h b/libs/pbd/pbd/libpbd_visibility.h index e2c6235f0b..84a64c351a 100644 --- a/libs/pbd/pbd/libpbd_visibility.h +++ b/libs/pbd/pbd/libpbd_visibility.h @@ -30,27 +30,21 @@ #define LIBPBD_DLL_EXPORT __declspec(dllexport) #define LIBPBD_DLL_LOCAL #else - #if __GNUC__ >= 4 - #define LIBPBD_DLL_IMPORT __attribute__ ((visibility ("default"))) - #define LIBPBD_DLL_EXPORT __attribute__ ((visibility ("default"))) - #define LIBPBD_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBPBD_DLL_IMPORT - #define LIBPBD_DLL_EXPORT - #define LIBPBD_DLL_LOCAL - #endif + #define LIBPBD_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBPBD_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBPBD_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#ifdef LIBPBD_DLL // libpbd is a DLL -#ifdef LIBPBD_DLL_EXPORTS // defined if we are building the libpbd DLL (instead of using it) - #define LIBPBD_API LIBPBD_DLL_EXPORT +#ifdef LIBPBD_STATIC // libpbd is a DLL + #define LIBPBD_API + #define LIBPBD_LOCAL #else + #ifdef LIBPBD_DLL_EXPORTS // defined if we are building the libpbd DLL (instead of using it) + #define LIBPBD_API LIBPBD_DLL_EXPORT + #else #define LIBPBD_API LIBPBD_DLL_IMPORT -#endif -#define LIBPBD_LOCAL LIBPBD_DLL_LOCAL -#else /* static lib, not DLL */ -#define LIBPBD_API -#define LIBPBD_LOCAL + #endif + #define LIBPBD_LOCAL LIBPBD_DLL_LOCAL #endif #endif /* __libpbd_libpbd_visibility_h__ */ diff --git a/libs/pbd/wscript b/libs/pbd/wscript index d56de95c7c..09af0f614b 100644 --- a/libs/pbd/wscript +++ b/libs/pbd/wscript @@ -114,9 +114,7 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): print('BUILD SHARED LIB') obj = bld.shlib(features = 'cxx cxxshlib', source=libpbd_sources) - obj.defines = [ 'LIBPBD_DLL=1', - 'LIBPBD_DLL_EXPORTS=1' - ] + obj.defines = [ 'LIBPBD_DLL_EXPORTS=1' ] obj.cxxflags = [ '-fvisibility=hidden' ] obj.cflags = [ '-fvisibility=hidden' ] else: diff --git a/libs/surfaces/control_protocol/control_protocol/visibility.h b/libs/surfaces/control_protocol/control_protocol/visibility.h index 40c83b8580..418fb6d2b3 100644 --- a/libs/surfaces/control_protocol/control_protocol/visibility.h +++ b/libs/surfaces/control_protocol/control_protocol/visibility.h @@ -30,27 +30,21 @@ #define LIBCONTROLCP_DLL_EXPORT __declspec(dllexport) #define LIBCONTROLCP_DLL_LOCAL #else - #if __GNUC__ >= 4 - #define LIBCONTROLCP_DLL_IMPORT __attribute__ ((visibility ("default"))) - #define LIBCONTROLCP_DLL_EXPORT __attribute__ ((visibility ("default"))) - #define LIBCONTROLCP_DLL_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define LIBCONTROLCP_DLL_IMPORT - #define LIBCONTROLCP_DLL_EXPORT - #define LIBCONTROLCP_DLL_LOCAL - #endif + #define LIBCONTROLCP_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBCONTROLCP_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBCONTROLCP_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#ifdef LIBCONTROLCP_DLL // libcontrolcp is a DLL -#ifdef LIBCONTROLCP_DLL_EXPORTS // defined if we are building the libcontrolcp DLL (instead of using it) - #define LIBCONTROLCP_API LIBCONTROLCP_DLL_EXPORT +#ifdef LIBCONTROLCP_STATIC // libcontrolcp is not a DLL + #define LIBCONTROLCP_API + #define LIBCONTROLCP_LOCAL #else + #ifdef LIBCONTROLCP_DLL_EXPORTS // defined if we are building the libcontrolcp DLL (instead of using it) + #define LIBCONTROLCP_API LIBCONTROLCP_DLL_EXPORT + #else #define LIBCONTROLCP_API LIBCONTROLCP_DLL_IMPORT -#endif -#define LIBCONTROLCP_LOCAL LIBCONTROLCP_DLL_LOCAL -#else /* static lib, not DLL */ -#define LIBCONTROLCP_API -#define LIBCONTROLCP_LOCAL + #endif + #define LIBCONTROLCP_LOCAL LIBCONTROLCP_DLL_LOCAL #endif #endif /* __libcontrolcp_visibility_h__ */ diff --git a/libs/surfaces/control_protocol/wscript b/libs/surfaces/control_protocol/wscript index a597ca9e2a..7c53bbfb17 100644 --- a/libs/surfaces/control_protocol/wscript +++ b/libs/surfaces/control_protocol/wscript @@ -28,9 +28,7 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=controlcp_sources) # defines for this library - obj.defines = [ 'LIBCONTROLCP_DLL=1', 'LIBCONTROLCP_DLL_EXPORTS=1' ] - # internal shared libs that we use - obj.defines += [ 'LIBPBD_DLL=1', 'LIBARDOUR_DLL=1', 'LIBEVORAL_DLL=1' ] + obj.defines = [ 'LIBCONTROLCP_DLL_EXPORTS=1' ] obj.cxxflags = [ '-fvisibility=hidden' ] obj.cflags = [ '-fvisibility=hidden' ] else: diff --git a/libs/surfaces/frontier/wscript b/libs/surfaces/frontier/wscript index aa7d119895..ac8341c64d 100644 --- a/libs/surfaces/frontier/wscript +++ b/libs/surfaces/frontier/wscript @@ -35,8 +35,6 @@ def build(bld): ''' obj.export_includes = ['./generic_midi'] obj.defines = [ 'PACKAGE="ardour_frontier"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1' ] obj.includes = ['.', './generic_midi'] obj.name = 'libgeneric_midi' obj.target = 'generic_midi' diff --git a/libs/surfaces/generic_midi/wscript b/libs/surfaces/generic_midi/wscript index cdc68529ac..186f270463 100644 --- a/libs/surfaces/generic_midi/wscript +++ b/libs/surfaces/generic_midi/wscript @@ -31,8 +31,6 @@ def build(bld): ''' obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="ardour_genericmidi"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.', './generic_midi'] obj.name = 'libardour_generic_midi' obj.target = 'ardour_generic_midi' diff --git a/libs/surfaces/mackie/wscript b/libs/surfaces/mackie/wscript index d76a26f651..beba402fa1 100644 --- a/libs/surfaces/mackie/wscript +++ b/libs/surfaces/mackie/wscript @@ -43,8 +43,6 @@ def build(bld): ''' obj.export_includes = ['./mackie'] obj.defines = [ 'PACKAGE="ardour_mackie"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1', 'LIBEVORAL_DLL=1' ] # need ../libs because some GTK2 header files require stuff there obj.includes = ['.', '../libs'] obj.name = 'libardour_mcp' diff --git a/libs/surfaces/osc/wscript b/libs/surfaces/osc/wscript index 88174c0faf..cd77f99871 100644 --- a/libs/surfaces/osc/wscript +++ b/libs/surfaces/osc/wscript @@ -28,8 +28,6 @@ def build(bld): ''' obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="ardour_osc"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.', './osc'] obj.name = 'libardour_osc' obj.target = 'ardour_osc' diff --git a/libs/surfaces/tranzport/wscript b/libs/surfaces/tranzport/wscript index 7d80295fba..dfc10f5525 100644 --- a/libs/surfaces/tranzport/wscript +++ b/libs/surfaces/tranzport/wscript @@ -40,8 +40,6 @@ def build(bld): ''' obj.export_includes = ['./tranzport'] obj.defines = [ 'PACKAGE="ardour_tranzport"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1' ] obj.includes = ['.', './tranzport'] obj.name = 'libardour_tranzport' obj.target = 'ardour_tranzport' diff --git a/libs/surfaces/wiimote/wscript b/libs/surfaces/wiimote/wscript index 623aa960db..f3c36275c8 100644 --- a/libs/surfaces/wiimote/wscript +++ b/libs/surfaces/wiimote/wscript @@ -26,8 +26,6 @@ def build(bld): ''' obj.export_includes = ['./wiimote'] obj.defines = [ 'PACKAGE="ardour_wiimote"' ] - if bld.is_defined ('INTERNAL_SHARED_LIBS'): - obj.defines += [ 'LIBARDOUR_DLL=1', 'LIBCONTROLCP_DLL=1', 'LIBPBD_DLL=1', 'LIBGTKMM2EXT_DLL=1', 'LIBEVORAL_DLL=1' ] obj.includes = ['.', '../libs'] obj.name = 'libardour_wiimote' obj.target = 'ardour_wiimote' -- cgit v1.2.3