Commit 4c977a61e598f2230e9902aa80cfea8e89d94f88

Vicent Martí 2012-05-26T20:08:04

Merge pull request #734 from scottjg/travis-mingw Enable mingw cross-compilation in travis-ci

diff --git a/.travis.yml b/.travis.yml
index 11c85bb..2713651 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,6 +8,7 @@ language: erlang
 env:
   - OPTIONS="-DTHREADSAFE=ON -DCMAKE_BUILD_TYPE=Release"
   - OPTIONS="-DBUILD_CLAR=ON -DBUILD_EXAMPLES=ON"
+  - CC=i586-mingw32msvc-gcc OPTIONS="-DBUILD_CLAR=OFF -DWIN32=ON -DMINGW=ON"
       
 # Make sure CMake is installed
 install:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 165baba..8018ea7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -71,10 +71,12 @@ IF (MSVC)
 
    # Precompiled headers
 ELSE ()
-	SET(CMAKE_C_FLAGS "-O2 -g -D_GNU_SOURCE -fvisibility=hidden -Wall -Wextra -Wno-missing-field-initializers -Wstrict-aliasing=2 -Wstrict-prototypes -Wmissing-prototypes ${CMAKE_C_FLAGS}")
+	SET(CMAKE_C_FLAGS "-O2 -g -D_GNU_SOURCE -Wall -Wextra -Wno-missing-field-initializers -Wstrict-aliasing=2 -Wstrict-prototypes -Wmissing-prototypes ${CMAKE_C_FLAGS}")
 	SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-	IF (NOT MINGW) # MinGW always does PIC and complains if we tell it to
-		SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+	IF (MINGW) # MinGW always does PIC and complains if we tell it to
+		STRING(REGEX REPLACE "-fPIC" "" CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
+	ELSE ()
+		SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fPIC")
 	ENDIF ()
 	IF (PROFILE)
 		SET(CMAKE_C_FLAGS "-pg ${CMAKE_C_FLAGS}")
diff --git a/src/netops.c b/src/netops.c
index 4d461a0..e16cae8 100644
--- a/src/netops.c
+++ b/src/netops.c
@@ -12,9 +12,9 @@
 #	include <netdb.h>
 #else
 #	include <winsock2.h>
-#	include <Ws2tcpip.h>
+#	include <ws2tcpip.h>
 #	ifdef _MSC_VER
-#		pragma comment(lib, "Ws2_32.lib")
+#		pragma comment(lib, "ws2_32.lib")
 #	endif
 #endif