summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ws_symbol_export.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/ws_symbol_export.h b/ws_symbol_export.h
index c3804755a6..4bc63eea28 100644
--- a/ws_symbol_export.h
+++ b/ws_symbol_export.h
@@ -152,12 +152,16 @@
* This was lifted from GLib; see above for why we don't use
* G_GNUC_INTERNAL.
*/
- #define WS_DLL_PUBLIC_DEF
#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
+ /* This supports GCC-style __attribute__ ((visibility (XXX))) */
+ #define WS_DLL_PUBLIC_DEF __attribute__ ((visibility ("default")))
#define WS_DLL_LOCAL __attribute__ ((visibility ("hidden")))
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+ /* This doesn't, but supports __global and __hidden */
+ #define WS_DLL_PUBLIC_DEF __global
#define WS_DLL_LOCAL __hidden
#else /* not Sun C with "hidden" support */
+ #define WS_DLL_PUBLIC_DEF
#define WS_DLL_LOCAL
#endif
#endif /* __GNUC__ >= 4 */