aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2019-12-04 01:21:14 +0100
committercbdev <cb@cbcdn.com>2019-12-04 01:21:14 +0100
commit1107a91861189d28d771d02d721d61b403aac38a (patch)
tree8fb26aa55dcd4aadf645485d91522414e4f21bd5
parentbd9ab579eba35db70ad1ce17d556aeda5866156d (diff)
downloadmidimonster-1107a91861189d28d771d02d721d61b403aac38a.tar.gz
midimonster-1107a91861189d28d771d02d721d61b403aac38a.tar.bz2
midimonster-1107a91861189d28d771d02d721d61b403aac38a.zip
Explicitly mark the backend init symbol visible
-rw-r--r--backends/artnet.c2
-rw-r--r--backends/artnet.h2
-rw-r--r--backends/evdev.c2
-rw-r--r--backends/evdev.h2
-rw-r--r--backends/jack.c4
-rw-r--r--backends/jack.h2
-rw-r--r--backends/loopback.c2
-rw-r--r--backends/loopback.h2
-rw-r--r--backends/lua.c2
-rw-r--r--backends/lua.h2
-rw-r--r--backends/maweb.c2
-rw-r--r--backends/maweb.h2
-rw-r--r--backends/midi.c2
-rw-r--r--backends/midi.h2
-rw-r--r--backends/ola.cpp2
-rw-r--r--backends/ola.h2
-rw-r--r--backends/osc.c2
-rw-r--r--backends/osc.h2
-rw-r--r--backends/sacn.c2
-rw-r--r--backends/sacn.h2
-rw-r--r--backends/winmidi.c2
-rw-r--r--backends/winmidi.h2
-rw-r--r--midimonster.h10
23 files changed, 34 insertions, 22 deletions
diff --git a/backends/artnet.c b/backends/artnet.c
index e01ac94..8a62a43 100644
--- a/backends/artnet.c
+++ b/backends/artnet.c
@@ -41,7 +41,7 @@ static int artnet_listener(char* host, char* port){
return 0;
}
-int init(){
+MM_PLUGIN_API int init(){
backend artnet = {
.name = BACKEND_NAME,
.conf = artnet_configure,
diff --git a/backends/artnet.h b/backends/artnet.h
index f5aa745..cce11d1 100644
--- a/backends/artnet.h
+++ b/backends/artnet.h
@@ -3,7 +3,7 @@
#endif
#include "midimonster.h"
-int init();
+MM_PLUGIN_API int init();
static int artnet_configure(char* option, char* value);
static int artnet_configure_instance(instance* instance, char* option, char* value);
static instance* artnet_instance();
diff --git a/backends/evdev.c b/backends/evdev.c
index b19cda8..dd2231b 100644
--- a/backends/evdev.c
+++ b/backends/evdev.c
@@ -24,7 +24,7 @@ static struct {
.detect = 0
};
-int init(){
+MM_PLUGIN_API int init(){
backend evdev = {
.name = BACKEND_NAME,
.conf = evdev_configure,
diff --git a/backends/evdev.h b/backends/evdev.h
index 48bd0ab..30ce892 100644
--- a/backends/evdev.h
+++ b/backends/evdev.h
@@ -8,7 +8,7 @@
* disabled by building with -DEVDEV_NO_UINPUT
*/
-int init();
+MM_PLUGIN_API int init();
static int evdev_configure(char* option, char* value);
static int evdev_configure_instance(instance* instance, char* option, char* value);
static instance* evdev_instance();
diff --git a/backends/jack.c b/backends/jack.c
index b3aacd4..e8a63bc 100644
--- a/backends/jack.c
+++ b/backends/jack.c
@@ -4,6 +4,8 @@
#include <sys/socket.h>
#include <unistd.h>
+#define DEBUG
+
#include "jack.h"
#include <jack/midiport.h>
#include <jack/metadata.h>
@@ -27,7 +29,7 @@ static struct /*_mmjack_backend_cfg*/ {
.jack_shutdown = 0
};
-int init(){
+MM_PLUGIN_API int init(){
backend mmjack = {
.name = BACKEND_NAME,
.conf = mmjack_configure,
diff --git a/backends/jack.h b/backends/jack.h
index dd59cd2..5598042 100644
--- a/backends/jack.h
+++ b/backends/jack.h
@@ -2,7 +2,7 @@
#include <jack/jack.h>
#include <pthread.h>
-int init();
+MM_PLUGIN_API int init();
static int mmjack_configure(char* option, char* value);
static int mmjack_configure_instance(instance* inst, char* option, char* value);
static instance* mmjack_instance();
diff --git a/backends/loopback.c b/backends/loopback.c
index 083a312..0a45bde 100644
--- a/backends/loopback.c
+++ b/backends/loopback.c
@@ -3,7 +3,7 @@
#define BACKEND_NAME "loopback"
-int init(){
+MM_PLUGIN_API int init(){
backend loopback = {
.name = BACKEND_NAME,
.conf = loopback_configure,
diff --git a/backends/loopback.h b/backends/loopback.h
index c73ca20..a08417b 100644
--- a/backends/loopback.h
+++ b/backends/loopback.h
@@ -1,6 +1,6 @@
#include "midimonster.h"
-int init();
+MM_PLUGIN_API int init();
static int loopback_configure(char* option, char* value);
static int loopback_configure_instance(instance* inst, char* option, char* value);
static instance* loopback_instance();
diff --git a/backends/lua.c b/backends/lua.c
index 3555e72..0b47b2c 100644
--- a/backends/lua.c
+++ b/backends/lua.c
@@ -19,7 +19,7 @@ static int timer_fd = -1;
static uint64_t last_timestamp;
#endif
-int init(){
+MM_PLUGIN_API int init(){
backend lua = {
#ifndef MMBACKEND_LUA_TIMERFD
.interval = lua_interval,
diff --git a/backends/lua.h b/backends/lua.h
index f2583a8..e187a8e 100644
--- a/backends/lua.h
+++ b/backends/lua.h
@@ -9,7 +9,7 @@
#define MMBACKEND_LUA_TIMERFD
#endif
-int init();
+MM_PLUGIN_API int init();
static int lua_configure(char* option, char* value);
static int lua_configure_instance(instance* inst, char* option, char* value);
static instance* lua_instance();
diff --git a/backends/maweb.c b/backends/maweb.c
index c495512..08156f2 100644
--- a/backends/maweb.c
+++ b/backends/maweb.c
@@ -72,7 +72,7 @@ static maweb_command_key cmdline_keys[] = {
{"GO_MINUS_SMALL", 50}, {"PAUSE_SMALL", 51}, {"GO_PLUS_SMALL", 52}
};
-int init(){
+MM_PLUGIN_API int init(){
backend maweb = {
.name = BACKEND_NAME,
.conf = maweb_configure,
diff --git a/backends/maweb.h b/backends/maweb.h
index 14e4755..9091cda 100644
--- a/backends/maweb.h
+++ b/backends/maweb.h
@@ -1,6 +1,6 @@
#include "midimonster.h"
-int init();
+MM_PLUGIN_API int init();
static int maweb_configure(char* option, char* value);
static int maweb_configure_instance(instance* inst, char* option, char* value);
static instance* maweb_instance();
diff --git a/backends/midi.c b/backends/midi.c
index cde278b..f380f59 100644
--- a/backends/midi.c
+++ b/backends/midi.c
@@ -23,7 +23,7 @@ static struct {
.detect = 0
};
-int init(){
+MM_PLUGIN_API int init(){
backend midi = {
.name = BACKEND_NAME,
.conf = midi_configure,
diff --git a/backends/midi.h b/backends/midi.h
index 6c3fcf9..b9934f1 100644
--- a/backends/midi.h
+++ b/backends/midi.h
@@ -1,6 +1,6 @@
#include "midimonster.h"
-int init();
+MM_PLUGIN_API int init();
static int midi_configure(char* option, char* value);
static int midi_configure_instance(instance* instance, char* option, char* value);
static instance* midi_instance();
diff --git a/backends/ola.cpp b/backends/ola.cpp
index 632cef7..d069a8c 100644
--- a/backends/ola.cpp
+++ b/backends/ola.cpp
@@ -11,7 +11,7 @@
static ola::io::SelectServer* ola_select = NULL;
static ola::OlaCallbackClient* ola_client = NULL;
-int init(){
+MM_PLUGIN_API int init(){
backend ola = {
.name = BACKEND_NAME,
.conf = ola_configure,
diff --git a/backends/ola.h b/backends/ola.h
index c943d52..1637495 100644
--- a/backends/ola.h
+++ b/backends/ola.h
@@ -4,7 +4,7 @@ extern "C" {
#undef min
#undef max
- int init();
+ MM_PLUGIN_API int init();
static int ola_configure(char* option, char* value);
static int ola_configure_instance(instance* instance, char* option, char* value);
static instance* ola_instance();
diff --git a/backends/osc.c b/backends/osc.c
index bffbba8..d9f9139 100644
--- a/backends/osc.c
+++ b/backends/osc.c
@@ -19,7 +19,7 @@ static struct {
.detect = 0
};
-int init(){
+MM_PLUGIN_API int init(){
backend osc = {
.name = BACKEND_NAME,
.conf = osc_configure,
diff --git a/backends/osc.h b/backends/osc.h
index dd5afb0..86be285 100644
--- a/backends/osc.h
+++ b/backends/osc.h
@@ -7,7 +7,7 @@
#define OSC_RECV_BUF 8192
#define OSC_XMIT_BUF 8192
-int init();
+MM_PLUGIN_API int init();
static int osc_configure(char* option, char* value);
static int osc_configure_instance(instance* inst, char* option, char* value);
static instance* osc_instance();
diff --git a/backends/sacn.c b/backends/sacn.c
index 6e1b20b..d8b3eb3 100644
--- a/backends/sacn.c
+++ b/backends/sacn.c
@@ -31,7 +31,7 @@ static struct /*_sacn_global_config*/ {
.last_announce = 0
};
-int init(){
+MM_PLUGIN_API int init(){
backend sacn = {
.name = BACKEND_NAME,
.conf = sacn_configure,
diff --git a/backends/sacn.h b/backends/sacn.h
index 7af2a36..631d3a4 100644
--- a/backends/sacn.h
+++ b/backends/sacn.h
@@ -1,6 +1,6 @@
#include "midimonster.h"
-int init();
+MM_PLUGIN_API int init();
static int sacn_configure(char* option, char* value);
static int sacn_configure_instance(instance* instance, char* option, char* value);
static instance* sacn_instance();
diff --git a/backends/winmidi.c b/backends/winmidi.c
index ffca3b4..bda5401 100644
--- a/backends/winmidi.c
+++ b/backends/winmidi.c
@@ -23,7 +23,7 @@ static struct {
//TODO receive feedback socket until EAGAIN
-int init(){
+MM_PLUGIN_API int init(){
backend winmidi = {
.name = BACKEND_NAME,
.conf = winmidi_configure,
diff --git a/backends/winmidi.h b/backends/winmidi.h
index e4abda1..ffa6a26 100644
--- a/backends/winmidi.h
+++ b/backends/winmidi.h
@@ -1,6 +1,6 @@
#include "midimonster.h"
-int init();
+MM_PLUGIN_API int init();
static int winmidi_configure(char* option, char* value);
static int winmidi_configure_instance(instance* inst, char* option, char* value);
static instance* winmidi_instance();
diff --git a/midimonster.h b/midimonster.h
index 3922b03..1192d6a 100644
--- a/midimonster.h
+++ b/midimonster.h
@@ -5,6 +5,7 @@
#include <stdint.h>
#include <inttypes.h>
+/* API call attributes and visibilities */
#ifndef MM_API
#ifdef _WIN32
#define MM_API __attribute__((dllimport))
@@ -13,6 +14,15 @@
#endif
#endif
+/* Some build systems may apply the -fvisibility=hidden parameter from the core build to the backends, so mark the init function visible */
+#ifndef MM_PLUGIN_API
+ #ifdef _WIN32
+ #define MM_PLUGIN_API __attribute__((dllexport))
+ #else
+ #define MM_PLUGIN_API __attribute__((visibility ("default")))
+ #endif
+#endif
+
/* Straight-forward min / max macros */
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))