From a6cadd6f97ccd375d9ee223e9dcbc9a547b459ea Mon Sep 17 00:00:00 2001 From: David Fort Date: Tue, 7 Dec 2021 08:15:55 +0100 Subject: [PATCH] winpr: fix compilation for mingw Depending on the version of mingw some export macro aren't always defined. --- libfreerdp/gdi/test/CMakeLists.txt | 2 ++ winpr/include/winpr/pool.h | 7 ++++++- winpr/include/winpr/spec.h | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libfreerdp/gdi/test/CMakeLists.txt b/libfreerdp/gdi/test/CMakeLists.txt index 2814bb51b..b58051771 100644 --- a/libfreerdp/gdi/test/CMakeLists.txt +++ b/libfreerdp/gdi/test/CMakeLists.txt @@ -22,6 +22,8 @@ include_directories(..) add_library(helpers STATIC helpers.c) +target_link_libraries(helpers freerdp) + add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) diff --git a/winpr/include/winpr/pool.h b/winpr/include/winpr/pool.h index c27fa0fd8..922228ffa 100644 --- a/winpr/include/winpr/pool.h +++ b/winpr/include/winpr/pool.h @@ -110,7 +110,12 @@ typedef VOID (*PTP_WIN32_IO_CALLBACK)(PTP_CALLBACK_INSTANCE Instance, PVOID Cont #endif -#if (!defined(_WIN32) || ((defined(_WIN32) && (_WIN32_WINNT < 0x0600)))) + +#if !defined(_WIN32) +#define WINPR_THREAD_POOL 1 +#elif defined(_WIN32) && (_WIN32_WINNT < 0x0600) +#define WINPR_THREAD_POOL 1 +#elif defined(__MINGW32__) && (__MINGW64_VERSION_MAJOR < 9) #define WINPR_THREAD_POOL 1 #endif diff --git a/winpr/include/winpr/spec.h b/winpr/include/winpr/spec.h index 198f74725..9d28519b5 100644 --- a/winpr/include/winpr/spec.h +++ b/winpr/include/winpr/spec.h @@ -965,15 +965,16 @@ extern "C++" #endif -#if !defined(__MINGW32__) #if defined(_WIN32) || defined(__CYGWIN__) #ifdef __GNUC__ #define DECLSPEC_EXPORT __attribute__((dllexport)) +#ifndef DECLSPEC_IMPORT #define DECLSPEC_IMPORT __attribute__((dllimport)) +#endif /* DECLSPEC_IMPORT */ #else #define DECLSPEC_EXPORT __declspec(dllexport) #define DECLSPEC_IMPORT __declspec(dllimport) -#endif +#endif /* __GNUC__ */ #else #if defined(__GNUC__) && __GNUC__ >= 4 #define DECLSPEC_EXPORT __attribute__((visibility("default"))) @@ -983,6 +984,5 @@ extern "C++" #define DECLSPEC_IMPORT #endif #endif -#endif #endif /* WINPR_SPEC_H */