diff options
author | David Robillard <d@drobilla.net> | 2021-01-02 13:23:16 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2021-01-02 14:13:59 +0100 |
commit | 07c361def50e6a95e2f34a338c4d316efa0e3397 (patch) | |
tree | eed60f3a78ab936a113ebdb3d502c4aa17679fdc | |
parent | bbc9b1c424f80414eff33dd5ef513e4ef7844d93 (diff) | |
download | sratom-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.h | 19 | ||||
-rw-r--r-- | wscript | 8 |
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 @@ -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) |