summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorMathieu Malaterre <mathieu.malaterre@gmail.com>2006-12-09 16:25:25 (GMT)
committerMathieu Malaterre <mathieu.malaterre@gmail.com>2006-12-09 16:25:25 (GMT)
commitb9787a965f8d414b0d505ba48d10c0d4a5082d69 (patch)
tree14ecef09aa1bd3e8ceb2879fa09f3e78e10d4cca /Source
parent945dfe5c8e020e73be6d36349ec29d0404b27c25 (diff)
downloadCMake-b9787a965f8d414b0d505ba48d10c0d4a5082d69.zip
CMake-b9787a965f8d414b0d505ba48d10c0d4a5082d69.tar.gz
CMake-b9787a965f8d414b0d505ba48d10c0d4a5082d69.tar.bz2
BUG: revert yesterday patch. The implementation was correct. The problem was that _WIN32 was forced to be #define on cygwin when included from ITK, which was miss matching the implementation from the declaration. Put extra condition for CYGWIN system
Diffstat (limited to 'Source')
-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