From 6097ac5c60b16b9d9349d18abe12e70d07bef6aa Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre <mathieu.malaterre@gmail.com> Date: Fri, 8 Dec 2006 15:52:30 -0500 Subject: [PATCH] BUG: Make sure to use the Win32 interface (HINSTANCE) for handling shared lib on cygwin and mingw system --- CMakeLists.txt | 4 +++- DynamicLoader.cxx | 2 +- DynamicLoader.hxx.in | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 93d9cbd..a0fc63d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -718,7 +718,9 @@ IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS) ${KWSYS_C_SRCS} ${KWSYS_CXX_SRCS}) IF(KWSYS_USE_DynamicLoader) IF(UNIX) - TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS}) + IF(NOT CYGWIN AND NOT MINGW) + TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS}) + ENDIF(NOT CYGWIN AND NOT MINGW) ENDIF(UNIX) ENDIF(KWSYS_USE_DynamicLoader) diff --git a/DynamicLoader.cxx b/DynamicLoader.cxx index 5ef0ef8..e2e0c27 100644 --- a/DynamicLoader.cxx +++ b/DynamicLoader.cxx @@ -220,7 +220,7 @@ const char* DynamicLoader::LastError() // --------------------------------------------------------------- // 3. Implementation for Windows win32 code -#ifdef _WIN32 +#if defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) #include <windows.h> #define DYNAMICLOADER_DEFINED 1 diff --git a/DynamicLoader.hxx.in b/DynamicLoader.hxx.in index 752297f..54a742e 100644 --- a/DynamicLoader.hxx.in +++ b/DynamicLoader.hxx.in @@ -18,7 +18,7 @@ #if defined(__hpux) #include <dl.h> -#elif defined(_WIN32) +#elif defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) #include <windows.h> #elif defined(__APPLE__) #include <AvailabilityMacros.h> @@ -56,7 +56,7 @@ public: // They are different on several different OS's #if defined(__hpux) typedef shl_t LibraryHandle; -#elif defined(_WIN32) +#elif defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) typedef HMODULE LibraryHandle; #elif defined(__APPLE__) #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 -- GitLab