summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-01-02 13:23:16 +0100
committerDavid Robillard <d@drobilla.net>2021-01-02 14:13:59 +0100
commit07c361def50e6a95e2f34a338c4d316efa0e3397 (patch)
treeeed60f3a78ab936a113ebdb3d502c4aa17679fdc
parentbbc9b1c424f80414eff33dd5ef513e4ef7844d93 (diff)
downloadsratom-07c361def50e6a95e2f34a338c4d316efa0e3397.tar.gz
sratom-07c361def50e6a95e2f34a338c4d316efa0e3397.tar.bz2
sratom-07c361def50e6a95e2f34a338c4d316efa0e3397.zip
Use SRATOM_STATIC instead of SRATOM_SHARED to control visibility
For consistency, this seems to be the most common convention.
-rw-r--r--include/sratom/sratom.h19
-rw-r--r--wscript8
2 files changed, 10 insertions, 17 deletions
diff --git a/include/sratom/sratom.h b/include/sratom/sratom.h
index 9f06e9c..d0983e7 100644
--- a/include/sratom/sratom.h
+++ b/include/sratom/sratom.h
@@ -30,19 +30,12 @@
#include <stdbool.h>
#include <stdint.h>
-#ifdef SRATOM_SHARED
-# ifdef _WIN32
-# define SRATOM_LIB_IMPORT __declspec(dllimport)
-# define SRATOM_LIB_EXPORT __declspec(dllexport)
-# else
-# define SRATOM_LIB_IMPORT __attribute__((visibility("default")))
-# define SRATOM_LIB_EXPORT __attribute__((visibility("default")))
-# endif
-# ifdef SRATOM_INTERNAL
-# define SRATOM_API SRATOM_LIB_EXPORT
-# else
-# define SRATOM_API SRATOM_LIB_IMPORT
-# endif
+#if defined(_WIN32) && !defined(SRATOM_STATIC) && defined(SRATOM_INTERNAL)
+# define SRATOM_API __declspec(dllexport)
+#elif defined(_WIN32) && !defined(SRATOM_STATIC)
+# define SRATOM_API __declspec(dllimport)
+#elif defined(__GNUC__)
+# define SRATOM_API __attribute__((visibility("default")))
#else
# define SRATOM_API
#endif
diff --git a/wscript b/wscript
index 3736ed0..7c14ea5 100644
--- a/wscript
+++ b/wscript
@@ -121,7 +121,7 @@ def build(bld):
target = 'sratom-%s' % SRATOM_MAJOR_VERSION,
vnum = SRATOM_VERSION,
install_path = '${LIBDIR}',
- defines = defines + ['SRATOM_SHARED', 'SRATOM_INTERNAL'],
+ defines = defines + ['SRATOM_INTERNAL'],
cflags = libflags)
# Static library
@@ -136,7 +136,7 @@ def build(bld):
target = 'sratom-%s' % SRATOM_MAJOR_VERSION,
vnum = SRATOM_VERSION,
install_path = '${LIBDIR}',
- defines = defines + ['SRATOM_INTERNAL'])
+ defines = defines + ['SRATOM_STATIC', 'SRATOM_INTERNAL'])
if bld.env.BUILD_TESTS:
test_libs = libs
@@ -155,7 +155,7 @@ def build(bld):
name = 'libsratom_profiled',
target = 'sratom_profiled',
install_path = '',
- defines = defines + ['SRATOM_INTERNAL'],
+ defines = defines + ['SRATOM_STATIC', 'SRATOM_INTERNAL'],
cflags = test_cflags,
linkflags = test_linkflags)
@@ -168,7 +168,7 @@ def build(bld):
uselib = 'SERD SORD LV2',
target = 'test_sratom',
install_path = '',
- defines = defines,
+ defines = defines + ['SRATOM_STATIC'],
cflags = test_cflags,
linkflags = test_linkflags)