From: <he...@us...> - 2011-05-01 03:05:06
|
Revision: 280 http://simspark.svn.sourceforge.net/simspark/?rev=280&view=rev Author: hedayat Date: 2011-05-01 03:05:00 +0000 (Sun, 01 May 2011) Log Message: ----------- MinGW32 Compilation Fixes: simspark and rcssserver3d can now be built under Linux using mingw32 compiler :) Modified Paths: -------------- trunk/rcssserver3d/CMakeLists.txt trunk/rcssserver3d/ChangeLog trunk/rcssserver3d/cmake/FindODE.cmake trunk/rcssserver3d/rcssagent3d/CMakeLists.txt trunk/spark/CMakeLists.txt trunk/spark/ChangeLog trunk/spark/cmake/FindODE.cmake trunk/spark/lib/kerosin/openglserver/openglserver.cpp trunk/spark/lib/salt/gmath.h trunk/spark/lib/salt/sharedlibrary.cpp trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp trunk/spark/utility/rcssnet/addr.cpp trunk/spark/utility/rcssnet/handler.hpp trunk/spark/utility/rcssnet/socket.cpp trunk/spark/utility/rcssnet/socket.hpp trunk/spark/utility/rcssnet/tcpsocket.cpp trunk/spark/utility/rcssnet/udpsocket.cpp Modified: trunk/rcssserver3d/CMakeLists.txt =================================================================== --- trunk/rcssserver3d/CMakeLists.txt 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/rcssserver3d/CMakeLists.txt 2011-05-01 03:05:00 UTC (rev 280) @@ -15,6 +15,11 @@ set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) + + # this must be added by cmake itself, but it is not + if ("${CMAKE_CXX_COMPILER}" MATCHES "mingw") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -shared") + endif ("${CMAKE_CXX_COMPILER}" MATCHES "mingw") endif (WIN32) include(AdditionalSearchPaths) Modified: trunk/rcssserver3d/ChangeLog =================================================================== --- trunk/rcssserver3d/ChangeLog 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/rcssserver3d/ChangeLog 2011-05-01 03:05:00 UTC (rev 280) @@ -1,7 +1,14 @@ 2011-05-01 Hedayat Vatankhah <hed...@gm...> + * cmake/FindODE.cmake: + - don't overwrite config options obtained from ode-config if available + + * rcssagent3d/CMakeLists.txt: + - use lowercase ws2_32 to be compatible with mingw32 + * CMakeLists.txt: - include AdditionalSearchPaths.cmake + - added -shared flag for mingw when linking modules * cmake/AdditionalSearchPaths.cmake: - sets up additional search paths under Windows to find dependencies in Modified: trunk/rcssserver3d/cmake/FindODE.cmake =================================================================== --- trunk/rcssserver3d/cmake/FindODE.cmake 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/rcssserver3d/cmake/FindODE.cmake 2011-05-01 03:05:00 UTC (rev 280) @@ -110,13 +110,13 @@ NO_DEFAULT_PATH ) - IF (WIN32) + IF (WIN32 AND NOT ODE_CONFIG) IF("${ODE_LIBRARY}" MATCHES ".*double.*") SET(ODE_EXTRA_CFLAGS "-DdDOUBLE") ELSE("${ODE_LIBRARY}" MATCHES ".*double.*") SET(ODE_EXTRA_CFLAGS "-DdSINGLE") ENDIF("${ODE_LIBRARY}" MATCHES ".*double.*") - ENDIF (WIN32) + ENDIF (WIN32 AND NOT ODE_CONFIG) IF (ODE_EXTRA_CFLAGS) SET(ODE_CFLAGS ${ODE_EXTRA_CFLAGS} CACHE STRING "Additional ODE flags") Modified: trunk/rcssserver3d/rcssagent3d/CMakeLists.txt =================================================================== --- trunk/rcssserver3d/rcssagent3d/CMakeLists.txt 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/rcssserver3d/rcssagent3d/CMakeLists.txt 2011-05-01 03:05:00 UTC (rev 280) @@ -16,7 +16,7 @@ add_executable(rcssagent3d ${rcssagent3d_SRCS}) if (WIN32) - set(NET_LIBS WS2_32.lib) + set(NET_LIBS ws2_32.lib) endif (WIN32) target_link_libraries(rcssagent3d ${SPARK_LIBRARIES} ${SALT_LIBRARIES} Modified: trunk/spark/CMakeLists.txt =================================================================== --- trunk/spark/CMakeLists.txt 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/CMakeLists.txt 2011-05-01 03:05:00 UTC (rev 280) @@ -9,7 +9,7 @@ check_include_file("resolv.h" HAVE_RESOLV_H) check_include_file("sys/socket.h" HAVE_SYS_SOCKET_H) check_include_file("netinet/in.h" HAVE_NETINET_IN_H) -check_include_file("Winsock2.h" HAVE_WINSOCK2_H) +check_include_file("winsock2.h" HAVE_WINSOCK2_H) check_include_file("arpa/nameser.h" HAVE_ARPA_NAMESER_H) check_include_file("arpa/inet.h" HAVE_ARPA_INET_H) check_include_file("string.h" HAVE_STRING_H) @@ -41,6 +41,11 @@ set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) + + # this must be added by cmake itself, but it is not + if ("${CMAKE_CXX_COMPILER}" MATCHES "mingw") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -shared") + endif ("${CMAKE_CXX_COMPILER}" MATCHES "mingw") endif (WIN32) include(AdditionalSearchPaths) @@ -93,7 +98,7 @@ endif (NOT FUNC_HSTRERROR_EXISTS) if (WIN32) - set(NET_LIBS ${NET_LIBS} WS2_32.lib) + set(NET_LIBS ${NET_LIBS} ws2_32.lib) endif (WIN32) ########## add extra flags ########## @@ -213,7 +218,7 @@ install(PROGRAMS ${DevIL_DLL} DESTINATION ${THLIBDIR}) endif (EXISTS ${DevIL_DLL}) - string(REGEX REPLACE "(.*)/ruby.exe" "\\1/" RUBY_BINDIR "${RUBY_EXECUTABLE}") + string(REGEX REPLACE "(.*)/ruby(.exe)?" "\\1/" RUBY_BINDIR "${RUBY_EXECUTABLE}") install(DIRECTORY "${RUBY_BINDIR}" DESTINATION ${THLIBDIR} FILES_MATCHING PATTERN "*.dll") Modified: trunk/spark/ChangeLog =================================================================== --- trunk/spark/ChangeLog 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/ChangeLog 2011-05-01 03:05:00 UTC (rev 280) @@ -1,7 +1,27 @@ 2011-05-01 Hedayat Vatankhah <hed...@gm...> + * cmake/FindODE.cmake: + - don't overwrite ode-config settings under windows platform (if available) + + * lib/kerosin/openglserver/openglserver.cpp (OpenGLServer::GetExtension): + * lib/salt/gmath.h: + * lib/salt/sharedlibrary.cpp: + * lib/zeitgeist/scriptserver/scriptserver.cpp: + - compilation fix under mingw32 + + * utility/rcssnet/socket.hpp: + * utility/rcssnet/tcpsocket.cpp: + * utility/rcssnet/udpsocket.cpp: + * utility/rcssnet/socket.cpp: + * utility/rcssnet/handler.hpp: + * utility/rcssnet/addr.cpp: + - convert Winsock2.h to lowercase + * CMakeLists.txt: - include AdditionalSearchPaths.cmake + - use lower case name for Windows winsock header and library (for use with + mingw32 under Linux) + - added a missing flag for linking modules with mingw32 * cmake/AdditionalSearchPaths.cmake: - sets up additional search paths under Windows to find dependencies in Modified: trunk/spark/cmake/FindODE.cmake =================================================================== --- trunk/spark/cmake/FindODE.cmake 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/cmake/FindODE.cmake 2011-05-01 03:05:00 UTC (rev 280) @@ -110,13 +110,13 @@ NO_DEFAULT_PATH ) - IF (WIN32) + IF (WIN32 AND NOT ODE_CONFIG) IF("${ODE_LIBRARY}" MATCHES ".*double.*") SET(ODE_EXTRA_CFLAGS "-DdDOUBLE") ELSE("${ODE_LIBRARY}" MATCHES ".*double.*") SET(ODE_EXTRA_CFLAGS "-DdSINGLE") ENDIF("${ODE_LIBRARY}" MATCHES ".*double.*") - ENDIF (WIN32) + ENDIF (WIN32 AND NOT ODE_CONFIG) IF (ODE_EXTRA_CFLAGS) SET(ODE_CFLAGS ${ODE_EXTRA_CFLAGS} CACHE STRING "Additional ODE flags") Modified: trunk/spark/lib/kerosin/openglserver/openglserver.cpp =================================================================== --- trunk/spark/lib/kerosin/openglserver/openglserver.cpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/lib/kerosin/openglserver/openglserver.cpp 2011-05-01 03:05:00 UTC (rev 280) @@ -183,7 +183,7 @@ void* OpenGLServer::GetExtension(const char* name) { #ifdef WIN32 - return wglGetProcAddress(name); + return reinterpret_cast<void*>(wglGetProcAddress(name)); #elif defined(__APPLE__) return NSGLGetProcAddress(name); #else Modified: trunk/spark/lib/salt/gmath.h =================================================================== --- trunk/spark/lib/salt/gmath.h 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/lib/salt/gmath.h 2011-05-01 03:05:00 UTC (rev 280) @@ -221,7 +221,7 @@ template <class TYPE> f_inline bool gIsFinite(TYPE f) { -#ifdef WIN32 +#ifdef _MSC_VER // isfinite is part of C99 but not available in Visual C++ assert(std::numeric_limits<TYPE>::has_infinity); return (std::numeric_limits<double>::infinity() != f); @@ -232,7 +232,7 @@ f_inline int gRound(float f) { -#ifdef WIN32 +#ifdef _MSC_VER // Uses the FloatToInt functionality int a; int *int_pointer = &a; Modified: trunk/spark/lib/salt/sharedlibrary.cpp =================================================================== --- trunk/spark/lib/salt/sharedlibrary.cpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/lib/salt/sharedlibrary.cpp 2011-05-01 03:05:00 UTC (rev 280) @@ -52,7 +52,7 @@ { if (mLibHandle) { - return ::GetProcAddress((HMODULE)mLibHandle, procName.c_str()); + return reinterpret_cast<void*>(::GetProcAddress((HMODULE)mLibHandle, procName.c_str())); } return NULL; } Modified: trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp =================================================================== --- trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp 2011-05-01 03:05:00 UTC (rev 280) @@ -23,13 +23,15 @@ #include <boost/scoped_array.hpp> #include <sstream> #include <salt/fileclasses.h> -#include "rubywrapper.h" -#include "scriptserver.h" +#include <zeitgeist/core.h> #include <zeitgeist/corecontext.h> -#include <zeitgeist/core.h> #include <zeitgeist/logserver/logserver.h> #include <zeitgeist/fileserver/fileserver.h> #include <sys/stat.h> +// rubywrapper.h should be before scriptserver.h (gcvalue.h). also, they were +// moved down to prevent a compilation error with mingw32 +#include "rubywrapper.h" +#include "scriptserver.h" #ifdef HAVE_CONFIG_H #include <sparkconfig.h> Modified: trunk/spark/utility/rcssnet/addr.cpp =================================================================== --- trunk/spark/utility/rcssnet/addr.cpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/utility/rcssnet/addr.cpp 2011-05-01 03:05:00 UTC (rev 280) @@ -41,7 +41,7 @@ #endif #ifdef HAVE_WINSOCK2_H -#include "Winsock2.h" +#include "winsock2.h" #endif #include "handler.hpp" Modified: trunk/spark/utility/rcssnet/handler.hpp =================================================================== --- trunk/spark/utility/rcssnet/handler.hpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/utility/rcssnet/handler.hpp 2011-05-01 03:05:00 UTC (rev 280) @@ -22,7 +22,7 @@ #define RCSS_NET_HANDLER_HPP #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(CYGWIN) -#include "Winsock2.h" +#include "winsock2.h" #endif #include "rcssnet3D_defines.h" Modified: trunk/spark/utility/rcssnet/socket.cpp =================================================================== --- trunk/spark/utility/rcssnet/socket.cpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/utility/rcssnet/socket.cpp 2011-05-01 03:05:00 UTC (rev 280) @@ -47,7 +47,7 @@ #endif #ifdef HAVE_WINSOCK2_H -#include "Winsock2.h" +#include "winsock2.h" #endif #include "handler.hpp" Modified: trunk/spark/utility/rcssnet/socket.hpp =================================================================== --- trunk/spark/utility/rcssnet/socket.hpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/utility/rcssnet/socket.hpp 2011-05-01 03:05:00 UTC (rev 280) @@ -31,7 +31,7 @@ #include "addr.hpp" #ifdef HAVE_WINSOCK2_H -#include "Winsock2.h" +#include "winsock2.h" #endif namespace rcss Modified: trunk/spark/utility/rcssnet/tcpsocket.cpp =================================================================== --- trunk/spark/utility/rcssnet/tcpsocket.cpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/utility/rcssnet/tcpsocket.cpp 2011-05-01 03:05:00 UTC (rev 280) @@ -34,7 +34,7 @@ #endif #ifdef HAVE_WINSOCK2_H -#include "Winsock2.h" +#include "winsock2.h" #endif #include <iostream> Modified: trunk/spark/utility/rcssnet/udpsocket.cpp =================================================================== --- trunk/spark/utility/rcssnet/udpsocket.cpp 2011-04-30 21:27:46 UTC (rev 279) +++ trunk/spark/utility/rcssnet/udpsocket.cpp 2011-05-01 03:05:00 UTC (rev 280) @@ -34,7 +34,7 @@ #endif #ifdef HAVE_WINSOCK2_H -#include "Winsock2.h" +#include "winsock2.h" #endif #include <iostream> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |