From 561b6d01fad626e190b1221746dcdcff8261d6ea Mon Sep 17 00:00:00 2001 From: q66 Date: Wed, 30 Sep 2015 18:49:30 +0100 Subject: [PATCH] symbol visibility support in platform.hh --- ostd/platform.hh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/ostd/platform.hh b/ostd/platform.hh index 5dde22b..57918ff 100644 --- a/ostd/platform.hh +++ b/ostd/platform.hh @@ -78,6 +78,30 @@ #include #endif +#ifdef OSTD_PLATFORM_WIN32 +# ifdef OSTD_LIBRARY_DLL +# ifdef OSTD_TOOLCHAIN_GNU +# define OSTD_EXPORT __attribute__((dllexport)) +# else +# define OSTD_EXPORT __declspec(dllexport) +# endif +# else +# ifdef OSTD_TOOLCHAIN_GNU +# define OSTD_EXPORT __attribute__((dllimport)) +# else +# define OSTD_EXPORT __declspec(dllimport) +# endif +# endif +# define OSTD_LOCAL +#else +# if __GNUC__ >= 4 +# define OSTD_EXPORT __attribute__((visibility("default"))) +# define OSTD_LOCAL __attribute__((visibility("hidden"))) +# else +# define OSTD_EXPORT +# define OSTD_LOCAL +#endif + namespace ostd { #if defined(OSTD_TOOLCHAIN_GNU)