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