summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fd.hpp4
-rw-r--r--src/platform.hpp.in3
-rw-r--r--src/uuid.hpp7
-rw-r--r--src/windows.hpp6
4 files changed, 17 insertions, 3 deletions
diff --git a/src/fd.hpp b/src/fd.hpp
index b7b2391..92cabf6 100644
--- a/src/fd.hpp
+++ b/src/fd.hpp
@@ -28,8 +28,8 @@
namespace zmq
{
-#ifdef _MSC_VER
-#if (_MSC_VER <= 1400)
+#ifdef ZMQ_HAVE_WINDOWS
+#if defined _MSC_VER &&_MSC_VER <= 1400
typedef UINT_PTR fd_t;
enum {retired_fd = (fd_t)(~0)}
#else
diff --git a/src/platform.hpp.in b/src/platform.hpp.in
index 6f352fb..1197b57 100644
--- a/src/platform.hpp.in
+++ b/src/platform.hpp.in
@@ -30,6 +30,9 @@
/* Define to 1 if you have the `pthread' library (-lpthread). */
#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). */
#undef HAVE_LIBRT
diff --git a/src/uuid.hpp b/src/uuid.hpp
index 81e41a3..e4716de 100644
--- a/src/uuid.hpp
+++ b/src/uuid.hpp
@@ -27,6 +27,8 @@
#include <uuid.h>
#elif defined ZMQ_HAVE_LINUX || defined ZMQ_HAVE_SOLARIS || defined ZMQ_HAVE_OSX
#include <uuid/uuid.h>
+#elif defined ZMQ_HAVE_WINDOWS
+#include <Rpc.h>
#endif
namespace zmq
@@ -53,7 +55,10 @@ namespace zmq
enum { uuid_string_len = 36 };
#if defined ZMQ_HAVE_WINDOWS
- ::UUID uuid;
+#ifdef ZMQ_HAVE_MINGW32
+ typedef unsigned char* RPC_CSTR;
+#endif
+ ::UUID uuid;
RPC_CSTR uuid_str;
#elif defined ZMQ_HAVE_FREEBSD
::uuid_t uuid;
diff --git a/src/windows.hpp b/src/windows.hpp
index e9dc30d..71ecd4f 100644
--- a/src/windows.hpp
+++ b/src/windows.hpp
@@ -39,6 +39,12 @@
#define NOSOUND
#endif
+#ifdef ZMQ_HAVE_MINGW32
+#ifndef WINVER
+#define WINVER 0x0501
+#endif
+#endif
+
#include <windows.h>
// Enable winsock (not included when WIN32_LEAN_AND_MEAN is defined).