File libmodman-2.0.1-windows.patch of Package mingw64-libmodman

--- libmodman-2.0.1/libmodman/CMakeLists.txt	2010-09-01 22:19:38.000000000 +0200
+++ libmodman-2.0.1/libmodman/CMakeLists.txt	2011-03-07 23:28:31.380294888 +0100
@@ -34,7 +34,7 @@
 endif()
 
 # CMake Find helper
-if (NOT WIN32 AND NOT APPLE)
+if (NOT APPLE)
   configure_file(Findlibmodman.cmake.in
                  ${CMAKE_CURRENT_BINARY_DIR}/Findlibmodman.cmake @ONLY)
   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Findlibmodman.cmake
--- libmodman-2.0.1/libmodman/module.hpp	2010-09-01 22:19:38.000000000 +0200
+++ libmodman-2.0.1/libmodman/module.hpp	2011-03-07 23:15:36.096106801 +0100
@@ -28,6 +28,9 @@
 
 #ifdef WIN32
 #define __MM_DLL_EXPORT __declspec(dllexport)
+#ifdef __MINGW32__
+#include <typeinfo>
+#endif
 #else
 #include <typeinfo>
 #define __MM_DLL_EXPORT __attribute__ ((visibility("default")))
@@ -79,7 +82,7 @@
 template <class basetype, bool sngl=false>
 class __MM_DLL_EXPORT extension : public base_extension {
 public:
-#ifdef WIN32
+#if defined(WIN32) && !defined (__MINGW32__)
 	static  const char*     base_type() { return __FUNCSIG__; }
 #else
 	static  const char*     base_type() { return typeid(basetype).name(); }
--- libmodman-2.0.1/libmodman/module_manager.cpp	2010-09-01 22:19:38.000000000 +0200
+++ libmodman-2.0.1/libmodman/module_manager.cpp	2011-03-07 23:16:28.077107571 +0100
@@ -42,7 +42,7 @@
 #define pdlopenl(filename) LoadLibraryEx(filename, NULL, DONT_RESOLVE_DLL_REFERENCES)
 #define pdlclose(module) FreeLibrary((pdlmtype) module)
 static void* pdlsym(pdlmtype mod, string sym) {
-	return GetProcAddress(mod, sym.c_str());
+	return reinterpret_cast<void*>(GetProcAddress(mod, sym.c_str()));
 }
 
 static pdlmtype pdlreopen(const char* filename, pdlmtype module) {
--- libmodman-2.0.1/libmodman/test/main.cpp	2010-09-01 22:19:38.000000000 +0200
+++ libmodman-2.0.1/libmodman/test/main.cpp	2011-03-07 23:17:18.841107092 +0100
@@ -32,7 +32,7 @@
 	module_manager mm;
 #ifdef WIN32
 #ifdef SYMB
-	void* symb = recv;
+	void* symb = reinterpret_cast<void*>(recv);
 #endif
 #endif
 
openSUSE Build Service is sponsored by