summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in7
-rw-r--r--src/uuid.cpp3
-rw-r--r--src/uuid.hpp6
3 files changed, 13 insertions, 3 deletions
diff --git a/configure.in b/configure.in
index ac46000..8e45f89 100644
--- a/configure.in
+++ b/configure.in
@@ -211,7 +211,14 @@ case "${host_os}" in
install_man="no"
;;
*cygwin*)
+ # Define on Cygwin to enable all library features
+ CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS"
AC_DEFINE(ZMQ_HAVE_CYGWIN, 1, [Have Cygwin])
+ # Cygwin provides libuuid as part of the e2fsprogs package, and somewhat
+ # uselessly installs the library in /usr/lib/e2fsprogs
+ LDFLAGS="${LDFLAGS} -L/usr/lib/e2fsprogs"
+ AC_CHECK_LIB(uuid, uuid_generate, ,
+ [AC_MSG_ERROR([cannot link with -luuid, install the e2fsprogs package.])])
;;
*)
AC_MSG_ERROR([unsupported system: ${host_os}.])
diff --git a/src/uuid.cpp b/src/uuid.cpp
index 7332f1f..5991bfb 100644
--- a/src/uuid.cpp
+++ b/src/uuid.cpp
@@ -75,7 +75,8 @@ const char *zmq::uuid_t::to_string ()
return string_buf;
}
-#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 || defined ZMQ_HAVE_CYGWIN
#include <uuid/uuid.h>
diff --git a/src/uuid.hpp b/src/uuid.hpp
index dfaef01..d24ef2c 100644
--- a/src/uuid.hpp
+++ b/src/uuid.hpp
@@ -25,7 +25,8 @@
#if defined ZMQ_HAVE_FREEBSD || defined ZMQ_HAVE_NETBSD
#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 || defined ZMQ_HAVE_CYGWIN
#include <uuid/uuid.h>
#elif defined ZMQ_HAVE_WINDOWS
#include <Rpc.h>
@@ -75,7 +76,8 @@ namespace zmq
#elif defined ZMQ_HAVE_FREEBSD || defined ZMQ_HAVE_NETBSD
::uuid_t uuid;
char *string_buf;
-#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 || defined ZMQ_HAVE_CYGWIN
::uuid_t uuid;
char string_buf [uuid_string_len + 1];
#else