diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-25 13:57:28 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-25 13:57:28 -0500 |
commit | 79b7fb82f3a9f3e6426c96cea0d06269fbb862fa (patch) | |
tree | 0f519bfa011515ea5a874426518beaa8bace57e7 /libs/surfaces | |
parent | 7000afdc66c9e0ae8dcf9ec080517dabba1e7f34 (diff) |
try to get export/visibility and build conditionals right for surfaces/, once more
Diffstat (limited to 'libs/surfaces')
-rw-r--r-- | libs/surfaces/control_protocol/control_protocol/visibility.h | 28 | ||||
-rw-r--r-- | libs/surfaces/frontier/wscript | 3 | ||||
-rw-r--r-- | libs/surfaces/generic_midi/interface.cc | 2 | ||||
-rw-r--r-- | libs/surfaces/mackie/interface.cc | 2 | ||||
-rw-r--r-- | libs/surfaces/mackie/wscript | 8 | ||||
-rw-r--r-- | libs/surfaces/osc/interface.cc | 2 | ||||
-rw-r--r-- | libs/surfaces/tranzport/wscript | 4 | ||||
-rw-r--r-- | libs/surfaces/wiimote/interface.cc | 2 | ||||
-rw-r--r-- | libs/surfaces/wiimote/wscript | 4 | ||||
-rw-r--r-- | libs/surfaces/wscript | 16 |
10 files changed, 43 insertions, 28 deletions
diff --git a/libs/surfaces/control_protocol/control_protocol/visibility.h b/libs/surfaces/control_protocol/control_protocol/visibility.h index 88dcff0940..62e3b02913 100644 --- a/libs/surfaces/control_protocol/control_protocol/visibility.h +++ b/libs/surfaces/control_protocol/control_protocol/visibility.h @@ -30,16 +30,26 @@ #define LIBCONTROLCP_DLL_LOCAL __attribute__ ((visibility ("hidden"))) #endif -#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) +#ifdef LIBCONTROLCP_DLL_EXPORTS // defined if we are building the libcontrolcp DLL (instead of using it) #define LIBCONTROLCP_API LIBCONTROLCP_DLL_EXPORT - #else +#else #define LIBCONTROLCP_API LIBCONTROLCP_DLL_IMPORT - #endif - #define LIBCONTROLCP_LOCAL LIBCONTROLCP_DLL_LOCAL -#endif +#endif +#define LIBCONTROLCP_LOCAL LIBCONTROLCP_DLL_LOCAL + +/* These should be used by surfaces/control interfaces. They use (probably) + * libcontrolcp but they are not part of it. The idea here is to avoid + * having to define per-surface macros for each and every surface. Instead, + * every surface defines ARDOURSURFACE_DLL_EXPORTS during building and + * uses ARDOURSURFACE_API in its declarations. + */ + +#ifdef ARDOURSURFACE_DLL_EXPORTS // defined if we are building the libcontrolcp DLL (instead of using it) + #define ARDOURSURFACE_API LIBCONTROLCP_DLL_EXPORT +#else + #define ARDOURSURFACE_API LIBCONTROLCP_DLL_IMPORT +#endif +#define ARDOURSURFACE_LOCAL LIBCONTROLCP_DLL_LOCAL + #endif /* __libcontrolcp_visibility_h__ */ diff --git a/libs/surfaces/frontier/wscript b/libs/surfaces/frontier/wscript index ac8341c64d..4fcbe6fde3 100644 --- a/libs/surfaces/frontier/wscript +++ b/libs/surfaces/frontier/wscript @@ -34,7 +34,8 @@ def build(bld): midicontrollable.cc ''' obj.export_includes = ['./generic_midi'] - obj.defines = [ 'PACKAGE="ardour_frontier"' ] + obj.defines = [ 'PACKAGE="ardour_frontier"' ] + obj.defines += [ 'ARDOURSURFACE_DLL_EXPORTS' ] obj.includes = ['.', './generic_midi'] obj.name = 'libgeneric_midi' obj.target = 'generic_midi' diff --git a/libs/surfaces/generic_midi/interface.cc b/libs/surfaces/generic_midi/interface.cc index 0b75a720cc..5cd080f2f5 100644 --- a/libs/surfaces/generic_midi/interface.cc +++ b/libs/surfaces/generic_midi/interface.cc @@ -68,5 +68,5 @@ static ControlProtocolDescriptor generic_midi_descriptor = { /*destroy : */ delete_generic_midi_protocol }; -extern "C" LIBCONTROLCP_API ControlProtocolDescriptor* protocol_descriptor () { return &generic_midi_descriptor; } +extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &generic_midi_descriptor; } diff --git a/libs/surfaces/mackie/interface.cc b/libs/surfaces/mackie/interface.cc index 35216da263..abef84817d 100644 --- a/libs/surfaces/mackie/interface.cc +++ b/libs/surfaces/mackie/interface.cc @@ -90,4 +90,4 @@ static ControlProtocolDescriptor mackie_descriptor = { }; -extern "C" LIBCONTROLCP_API ControlProtocolDescriptor* protocol_descriptor () { return &mackie_descriptor; } +extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &mackie_descriptor; } diff --git a/libs/surfaces/mackie/wscript b/libs/surfaces/mackie/wscript index 2dc546a5d7..c1e63e2894 100644 --- a/libs/surfaces/mackie/wscript +++ b/libs/surfaces/mackie/wscript @@ -42,12 +42,10 @@ def build(bld): types.cc ''' obj.export_includes = ['./mackie'] - obj.defines = [ 'PACKAGE="ardour_mackie"' ] - # need ../libs because some GTK2 header files require stuff there - obj.includes = ['.', '../libs'] + obj.defines = [ 'PACKAGE="ardour_mackie"' ] + obj.defines += [ 'ARDOURSURFACE_DLL_EXPORTS' ] + obj.includes = [ '.' ] obj.name = 'libardour_mcp' - obj.defines = [ 'LIBCONTROLCP_EXPORTS' ] - obj.defines += [ 'PACKAGE="libardour_mcp"' ] obj.target = 'ardour_mcp' obj.uselib = 'GTKMM' obj.use = 'libardour libardour_cp libgtkmm2ext' diff --git a/libs/surfaces/osc/interface.cc b/libs/surfaces/osc/interface.cc index 7c09828f46..f20d898418 100644 --- a/libs/surfaces/osc/interface.cc +++ b/libs/surfaces/osc/interface.cc @@ -57,5 +57,5 @@ static ControlProtocolDescriptor osc_descriptor = { destroy : delete_osc_protocol }; -extern "C" LIBCONTROLCP_API ControlProtocolDescriptor* protocol_descriptor () { return &osc_descriptor; } +extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &osc_descriptor; } diff --git a/libs/surfaces/tranzport/wscript b/libs/surfaces/tranzport/wscript index 05fd7cf5d6..83c39f1d11 100644 --- a/libs/surfaces/tranzport/wscript +++ b/libs/surfaces/tranzport/wscript @@ -39,10 +39,10 @@ def build(bld): wheel_modes.cc ''' obj.export_includes = ['./tranzport'] - obj.defines = [ 'PACKAGE="ardour_tranzport"' ] + obj.defines = [ 'PACKAGE="ardour_tranzport"' ] + obj.defines += [ 'ARDOURSURFACE_DLL_EXPORTS' ] obj.includes = ['.', './tranzport'] obj.name = 'libardour_tranzport' - obj.defines = [ 'ARDOURSURFACE_DLL_EXPORTS' ] obj.target = 'ardour_tranzport' obj.use = 'libardour libardour_cp' obj.vnum = LIBARDOUR_TRANZPORT_LIB_VERSION diff --git a/libs/surfaces/wiimote/interface.cc b/libs/surfaces/wiimote/interface.cc index 8695facb8d..9a704e445e 100644 --- a/libs/surfaces/wiimote/interface.cc +++ b/libs/surfaces/wiimote/interface.cc @@ -61,5 +61,5 @@ static ControlProtocolDescriptor wiimote_descriptor = { destroy : delete_wiimote_protocol }; -extern "C" LIBCONTROLCP_API ControlProtocolDescriptor* protocol_descriptor () { return &wiimote_descriptor; } +extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &wiimote_descriptor; } diff --git a/libs/surfaces/wiimote/wscript b/libs/surfaces/wiimote/wscript index e63713c855..8513a5be51 100644 --- a/libs/surfaces/wiimote/wscript +++ b/libs/surfaces/wiimote/wscript @@ -25,10 +25,10 @@ def build(bld): interface.cc ''' obj.export_includes = ['./wiimote'] - obj.defines = [ 'PACKAGE="ardour_wiimote"' ] + obj.defines = [ 'PACKAGE="ardour_wiimote"' ] + obj.defines += [ 'ARDOURSURFACE_DLL_EXPORTS' ] obj.includes = ['.', '../libs'] obj.name = 'libardour_wiimote' - obj.defines = [ 'ARDOURSURFACE_DLL_EXPORTS' ] obj.target = 'ardour_wiimote' obj.uselib = 'GTKMM CWIID' obj.use = 'libardour libardour_cp libgtkmm2ext' diff --git a/libs/surfaces/wscript b/libs/surfaces/wscript index abf0250ca5..71bb35d6cc 100644 --- a/libs/surfaces/wscript +++ b/libs/surfaces/wscript @@ -38,15 +38,13 @@ def configure(conf): autowaf.set_recursive() autowaf.configure(conf) - if (conf.env['build_target'] == 'mingw'): return - #autowaf.check_pkg(conf, 'libusb-1.0', uselib_store='USB', mandatory=False) #if Options.options.tranzport and conf.is_defined('HAVE_USB'): # conf.define('BUILD_TRANZPORT', 1) if autowaf.check_pkg (conf, 'liblo', mandatory=False, uselib_store="LO", atleast_version="0.24"): children += [ 'osc' ] - + conf.check_cc (header_name='cwiid.h', define_name='HAVE_CWIID_H',mandatory=False) if conf.is_defined('HAVE_CWIID_H'): conf.check_cc (header_name='bluetooth/bluetooth.h', define_name='HAVE_BLUETOOTH_H',mandatory=False) @@ -67,8 +65,16 @@ def configure(conf): def build(bld): - for i in children: - bld.recurse (i) + bld.recurse('control_protocol') + bld.recurse('generic_midi') + bld.recurse('mackie') + + if bld.is_defined ('HAVE_LO'): + bld.recurse('osc') + if bld.is_defined('BUILD_WIIMOTE'): + bld.recurse('wiimote') + if bld.is_defined('BUILD_TRANZPORT'): + bld.recurse('tranzport') def shutdown(): autowaf.shutdown() |