summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/panner.h40
-rw-r--r--libs/panners/1in2out/panner_1in2out.cc3
-rw-r--r--libs/panners/1in2out/wscript1
-rw-r--r--libs/panners/2in2out/panner_2in2out.cc3
-rw-r--r--libs/panners/2in2out/wscript1
-rw-r--r--libs/panners/vbap/vbap.cc2
-rw-r--r--libs/panners/vbap/wscript1
7 files changed, 16 insertions, 35 deletions
diff --git a/libs/ardour/ardour/panner.h b/libs/ardour/ardour/panner.h
index e2a32e0dc4..024dcd150c 100644
--- a/libs/ardour/ardour/panner.h
+++ b/libs/ardour/ardour/panner.h
@@ -33,38 +33,14 @@
#include "ardour/types.h"
#include "ardour/automation_control.h"
#include "ardour/automatable.h"
-
-#ifndef ARDOURPANNER_IS_IN_SHARED_LIB
- #define ARDOURPANNER_IS_IN_SHARED_LIB 1
-#endif
-
-#if ARDOURPANNER_IS_IN_SHARED_LIB && !defined(ARDOURPANNER_API)
- #define ARDOURPANNER_CAPICALLTYPE __cdecl
-
- #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
- #if defined(BUILDING_ARDOURPANNERS)
- #define ARDOURPANNER_LOCAL
- #define ARDOURPANNER_API __declspec(dllexport)
- #else
- #define ARDOURPANNER_LOCAL
- #define ARDOURPANNER_API __declspec(dllimport)
- #endif
- #else
- #if !defined(COMPILER_GCC)
- #warning "Attempting to export symbols with an unspecified compiler! GCC assumed!"
- #endif
-
- #define ARDOURPANNER_LOCAL __attribute__ ((visibility("hidden")))
- #define ARDOURPANNER_API __attribute__ ((visibility("default")))
- #endif
-#elif !defined(ARDOURPANNER_API)
- #define ARDOURPANNER_CAPICALLTYPE __cdecl
-
- /* This library was built statically. */
- /* Visibility is determined by the code. */
- #define ARDOURPANNER_API
- #define ARDOURPANNER_LOCAL
-#endif
+#include "ardour/visibility.h"
+
+#ifdef ARDOURPANNER_DLL_EXPORTS // defined if we are building the ARDOUR Panners DLLs (instead of using them)
+ #define ARDOURPANNER_API LIBARDOUR_HELPER_DLL_EXPORT
+#else
+ #define ARDOURPANNER_API LIBARDOUR_HELPER_DLL_IMPORT
+#endif
+#define ARDOURPANNER_LOCAL LIBARDOUR_HELPER_DLL_LOCAL
namespace ARDOUR {
diff --git a/libs/panners/1in2out/panner_1in2out.cc b/libs/panners/1in2out/panner_1in2out.cc
index dbc9911a77..4a5ff51a4b 100644
--- a/libs/panners/1in2out/panner_1in2out.cc
+++ b/libs/panners/1in2out/panner_1in2out.cc
@@ -51,6 +51,7 @@
#include "ardour/buffer_set.h"
#include "ardour/audio_buffer.h"
#include "ardour/pannable.h"
+#include "ardour/visibility.h"
#include "i18n.h"
#include "panner_1in2out.h"
@@ -67,7 +68,7 @@ static PanPluginDescriptor _descriptor = {
Panner1in2out::factory
};
-extern "C" ARDOURPANNER_API PanPluginDescriptor* ARDOURPANNER_CAPICALLTYPE panner_descriptor () { return &_descriptor; }
+extern "C" ARDOURPANNER_API PanPluginDescriptor* panner_descriptor () { return &_descriptor; }
Panner1in2out::Panner1in2out (boost::shared_ptr<Pannable> p)
: Panner (p)
diff --git a/libs/panners/1in2out/wscript b/libs/panners/1in2out/wscript
index 70c34d0779..31ff7e7fd1 100644
--- a/libs/panners/1in2out/wscript
+++ b/libs/panners/1in2out/wscript
@@ -23,6 +23,7 @@ def build(bld):
obj.source = [ 'panner_1in2out.cc' ]
obj.export_includes = ['.']
obj.cxxflags = '-DPACKAGE="libardour_pan1in2out"'
+ obj.defines = [ 'ARDOURPANNER_DLL_EXPORTS' ]
obj.includes = ['.']
obj.name = 'libardour_pan1in2out'
obj.target = 'pan1in2out'
diff --git a/libs/panners/2in2out/panner_2in2out.cc b/libs/panners/2in2out/panner_2in2out.cc
index a316b764c7..6740f56e65 100644
--- a/libs/panners/2in2out/panner_2in2out.cc
+++ b/libs/panners/2in2out/panner_2in2out.cc
@@ -49,6 +49,7 @@
#include "ardour/runtime_functions.h"
#include "ardour/session.h"
#include "ardour/utils.h"
+#include "ardour/visibility.h"
#include "ardour/mix.h"
#include "panner_2in2out.h"
@@ -67,7 +68,7 @@ static PanPluginDescriptor _descriptor = {
Panner2in2out::factory
};
-extern "C" { PanPluginDescriptor* panner_descriptor () { return &_descriptor; } }
+extern "C" ARDOURPANNER_API PanPluginDescriptor* panner_descriptor () { return &_descriptor; }
Panner2in2out::Panner2in2out (boost::shared_ptr<Pannable> p)
: Panner (p)
diff --git a/libs/panners/2in2out/wscript b/libs/panners/2in2out/wscript
index 8288ef28f7..2aeca322d0 100644
--- a/libs/panners/2in2out/wscript
+++ b/libs/panners/2in2out/wscript
@@ -23,6 +23,7 @@ def build(bld):
obj.source = [ 'panner_2in2out.cc' ]
obj.export_includes = ['.']
obj.cxxflags = '-DPACKAGE="libardour_pan2in2out"'
+ obj.defines = [ 'ARDOURPANNER_DLL_EXPORTS' ]
obj.includes = ['.']
obj.name = 'libardour_pan2in2out'
obj.target = 'pan2in2out'
diff --git a/libs/panners/vbap/vbap.cc b/libs/panners/vbap/vbap.cc
index 1cef98fc7d..f5cbca79e0 100644
--- a/libs/panners/vbap/vbap.cc
+++ b/libs/panners/vbap/vbap.cc
@@ -50,7 +50,7 @@ static PanPluginDescriptor _descriptor = {
VBAPanner::factory
};
-extern "C" { PanPluginDescriptor* panner_descriptor () { return &_descriptor; } }
+extern "C" ARDOURPANNER_API PanPluginDescriptor* panner_descriptor () { return &_descriptor; }
VBAPanner::Signal::Signal (Session&, VBAPanner&, uint32_t, uint32_t n_speakers)
{
diff --git a/libs/panners/vbap/wscript b/libs/panners/vbap/wscript
index c6ba94261f..9258277810 100644
--- a/libs/panners/vbap/wscript
+++ b/libs/panners/vbap/wscript
@@ -23,6 +23,7 @@ def build(bld):
obj.source = [ 'vbap_speakers.cc', 'vbap.cc' ]
obj.export_includes = ['.']
obj.cxxflags = '-DPACKAGE="libardour_panvbap"'
+ obj.defines = [ 'ARDOURPANNER_DLL_EXPORTS' ]
obj.includes = ['.']
obj.name = 'libardour_panvbap'
obj.target = 'panvbap'