/* Shared library support */
#ifndef UL_EXPORT
#if defined(_WIN32)&&defined(_MSC_VER)
- #define UL_IMPORT __declspec(dllimport)
- #define UL_EXPORT __declspec(dllexport)
- #define UL_DLLLOCAL
- #define UL_DLLPUBLIC
+ #define UL_DLL_IMPORT __declspec(dllimport)
+ #define UL_DLL_EXPORT __declspec(dllexport)
+ #define UL_DLL_LOCAL
+ #define UL_DLL_PUBLIC
#else
- #define UL_IMPORT
+ #if (__GNUC__ >= 4) && !defined(GCC_HASCLASSVISIBILITY)
+ #define GCC_HASCLASSVISIBILITY
+ #endif
+ #define UL_DLL_IMPORT
#ifdef GCC_HASCLASSVISIBILITY
- #define UL_EXPORT __attribute__ ((visibility("default")))
- #define UL_DLLLOCAL __attribute__ ((visibility("hidden")))
- #define UL_DLLPUBLIC __attribute__ ((visibility("default")))
+ #define UL_DLL_EXPORT __attribute__ ((visibility("default")))
+ #define UL_DLL_LOCAL __attribute__ ((visibility("hidden")))
+ #define UL_DLL_PUBLIC __attribute__ ((visibility("default")))
#else
- #define UL_EXPORT
- #define UL_DLLLOCAL
- #define UL_DLLPUBLIC
+ #define UL_DLL_EXPORT
+ #define UL_DLL_LOCAL
+ #define UL_DLL_PUBLIC
#endif
#endif
#endif /* UL_EXPORT */