summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/kwsys/CMakeLists.txt4
-rw-r--r--Source/kwsys/DynamicLoader.cxx4
-rw-r--r--Source/kwsys/DynamicLoader.hxx.in9
3 files changed, 9 insertions, 8 deletions
diff --git a/Source/kwsys/CMakeLists.txt b/Source/kwsys/CMakeLists.txt
index 69b536b..b3febd2 100644
--- a/Source/kwsys/CMakeLists.txt
+++ b/Source/kwsys/CMakeLists.txt
@@ -718,9 +718,7 @@ IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS)
${KWSYS_C_SRCS} ${KWSYS_CXX_SRCS})
IF(KWSYS_USE_DynamicLoader)
IF(UNIX)
- IF(NOT CYGWIN AND NOT MINGW)
- TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS})
- ENDIF(NOT CYGWIN AND NOT MINGW)
+ TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS})
ENDIF(UNIX)
ENDIF(KWSYS_USE_DynamicLoader)
diff --git a/Source/kwsys/DynamicLoader.cxx b/Source/kwsys/DynamicLoader.cxx
index 4b73322..f4aa064 100644
--- a/Source/kwsys/DynamicLoader.cxx
+++ b/Source/kwsys/DynamicLoader.cxx
@@ -219,8 +219,8 @@ const char* DynamicLoader::LastError()
#endif // __APPLE__
// ---------------------------------------------------------------
-// 3. Implementation for Windows win32 code
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
+// 3. Implementation for Windows win32 code but not cygwin
+#if defined(_WIN32) && !defined(__CYGWIN__)
#include <windows.h>
#define DYNAMICLOADER_DEFINED 1
diff --git a/Source/kwsys/DynamicLoader.hxx.in b/Source/kwsys/DynamicLoader.hxx.in
index 75177cc..a346992 100644
--- a/Source/kwsys/DynamicLoader.hxx.in
+++ b/Source/kwsys/DynamicLoader.hxx.in
@@ -18,7 +18,7 @@
#if defined(__hpux)
#include <dl.h>
-#elif defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
+#elif defined(_WIN32) && !defined(__CYGWIN__)
#include <windows.h>
#elif defined(__APPLE__)
#include <AvailabilityMacros.h>
@@ -47,6 +47,9 @@ namespace @KWSYS_NAMESPACE@
* Whereas this distinction does not exist on Win32. Therefore ideally you
* should be doing full path to garantee to have a consistent way of dealing
* with dynamic loading of shared library.
+ *
+ * \warning the Cygwin implementation do not use the Win32 HMODULE. Put extra
+ * condition so that we can include the correct declaration (POSIX)
*/
class @KWSYS_NAMESPACE@_EXPORT DynamicLoader
@@ -56,7 +59,7 @@ public:
// They are different on several different OS's
#if defined(__hpux)
typedef shl_t LibraryHandle;
-#elif defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
+#elif defined(_WIN32) && !defined(__CYGWIN__)
typedef HMODULE LibraryHandle;
#elif defined(__APPLE__)
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
@@ -66,7 +69,7 @@ public:
#endif
#elif defined(__BEOS__)
typedef image_id LibraryHandle;
-#else
+#else // POSIX
typedef void* LibraryHandle;
#endif