mingw port

This commit is contained in:
malosek
2009-10-05 15:06:40 +02:00
parent de2e439a52
commit 3daeff2786
5 changed files with 25 additions and 8 deletions

View File

@@ -54,14 +54,16 @@ case "${host_os}" in
's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" "/' 's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" "/'
mv libtool-2 libtool mv libtool-2 libtool
chmod 755 libtool chmod 755 libtool
AC_CHECK_LIB(uuid, main, , [AC_MSG_ERROR([Could not link with libuuid, install develop version.])]) AC_CHECK_LIB(uuid, main, ,
[AC_MSG_ERROR([Could not link with libuuid, install develop version.])])
;; ;;
*solaris*) *solaris*)
AC_DEFINE(ZMQ_HAVE_SOLARIS, 1, [Have Solaris OS]) AC_DEFINE(ZMQ_HAVE_SOLARIS, 1, [Have Solaris OS])
AC_CHECK_LIB(socket, main) AC_CHECK_LIB(socket, main)
AC_CHECK_LIB(nsl, main) AC_CHECK_LIB(nsl, main)
AC_CHECK_LIB(rt, main) AC_CHECK_LIB(rt, main)
AC_CHECK_LIB(uuid, main) AC_CHECK_LIB(uuid, main, ,
[AC_MSG_ERROR([Could not link with libuuid, install develop version.])])
CPPFLAGS="-D_REENTRANT -D_PTHREADS $CPPFLAGS" CPPFLAGS="-D_REENTRANT -D_PTHREADS $CPPFLAGS"
AC_MSG_CHECKING([wheter atomic operations can be used]) AC_MSG_CHECKING([wheter atomic operations can be used])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM( AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
@@ -118,12 +120,13 @@ case "${host_os}" in
chmod 755 libtool chmod 755 libtool
;; ;;
*mingw32*) *mingw32*)
pedantic="no"
AC_DEFINE(ZMQ_HAVE_WINDOWS, 1, [Have Windows OS]) AC_DEFINE(ZMQ_HAVE_WINDOWS, 1, [Have Windows OS])
AC_DEFINE(ZMQ_HAVE_MINGW32, 1, [Have MinGW32]) AC_DEFINE(ZMQ_HAVE_MINGW32, 1, [Have MinGW32])
AC_CHECK_HEADERS(windows.h) AC_CHECK_HEADERS(windows.h)
LIBS="-lwsock32 -lws2_32 -no-undefined" AC_CHECK_LIB(Rpcrt4, main, ,
CFLAGS="-std=c99" [AC_MSG_ERROR([Could not link with Rpcrt4.dll.])])
LIBS="${LIBS} -lwsock32 -lws2_32"
CFLAGS="${CFLAGS} -std=c99"
;; ;;
*) *)
AC_MSG_ERROR([Not supported os: $host.]) AC_MSG_ERROR([Not supported os: $host.])

View File

@@ -28,8 +28,8 @@
namespace zmq namespace zmq
{ {
#ifdef _MSC_VER #ifdef ZMQ_HAVE_WINDOWS
#if (_MSC_VER <= 1400) #if defined _MSC_VER &&_MSC_VER <= 1400
typedef UINT_PTR fd_t; typedef UINT_PTR fd_t;
enum {retired_fd = (fd_t)(~0)} enum {retired_fd = (fd_t)(~0)}
#else #else

View File

@@ -30,6 +30,9 @@
/* Define to 1 if you have the `pthread' library (-lpthread). */ /* Define to 1 if you have the `pthread' library (-lpthread). */
#undef HAVE_LIBPTHREAD #undef HAVE_LIBPTHREAD
/* Define to 1 if you have the `Rpcrt4' library (-lRpcrt4). */
#undef HAVE_LIBRPCRT4
/* Define to 1 if you have the `rt' library (-lrt). */ /* Define to 1 if you have the `rt' library (-lrt). */
#undef HAVE_LIBRT #undef HAVE_LIBRT

View File

@@ -27,6 +27,8 @@
#include <uuid.h> #include <uuid.h>
#elif defined ZMQ_HAVE_LINUX || defined ZMQ_HAVE_SOLARIS || defined ZMQ_HAVE_OSX #elif defined ZMQ_HAVE_LINUX || defined ZMQ_HAVE_SOLARIS || defined ZMQ_HAVE_OSX
#include <uuid/uuid.h> #include <uuid/uuid.h>
#elif defined ZMQ_HAVE_WINDOWS
#include <Rpc.h>
#endif #endif
namespace zmq namespace zmq
@@ -53,6 +55,9 @@ namespace zmq
enum { uuid_string_len = 36 }; enum { uuid_string_len = 36 };
#if defined ZMQ_HAVE_WINDOWS #if defined ZMQ_HAVE_WINDOWS
#ifdef ZMQ_HAVE_MINGW32
typedef unsigned char* RPC_CSTR;
#endif
::UUID uuid; ::UUID uuid;
RPC_CSTR uuid_str; RPC_CSTR uuid_str;
#elif defined ZMQ_HAVE_FREEBSD #elif defined ZMQ_HAVE_FREEBSD

View File

@@ -39,6 +39,12 @@
#define NOSOUND #define NOSOUND
#endif #endif
#ifdef ZMQ_HAVE_MINGW32
#ifndef WINVER
#define WINVER 0x0501
#endif
#endif
#include <windows.h> #include <windows.h>
// Enable winsock (not included when WIN32_LEAN_AND_MEAN is defined). // Enable winsock (not included when WIN32_LEAN_AND_MEAN is defined).