diff --git a/winpr/include/winpr/spec.h b/winpr/include/winpr/spec.h index bcd42b1c0..9dbf394db 100644 --- a/winpr/include/winpr/spec.h +++ b/winpr/include/winpr/spec.h @@ -73,6 +73,24 @@ #endif #endif +#if defined(_WIN32) || defined(__CYGWIN__) + #ifdef __GNUC__ + #define DECLSPEC_EXPORT __attribute__((dllexport)) + #define DECLSPEC_IMPORT __attribute__((dllimport)) + #else + #define DECLSPEC_EXPORT __declspec(dllexport) + #define DECLSPEC_IMPORT __declspec(dllimport) + #endif +#else + #if defined(__GNUC__) && __GNUC__ >= 4 + #define DECLSPEC_EXPORT __attribute__ ((visibility("default"))) + #define DECLSPEC_IMPORT + #else + #define DECLSPEC_EXPORT + #define DECLSPEC_IMPORT + #endif +#endif + #ifndef DECLSPEC_NORETURN #if (defined(__GNUC__) || defined(_MSC_VER) || defined(__clang__)) #define DECLSPEC_NORETURN __declspec(noreturn) diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index be617ec72..26299ed3d 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -39,6 +39,7 @@ #ifndef _WIN32 #define WINAPI +#define CDECL #define __int8 char #define __int16 short