mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
libzmq: Remove uClibc++ support
libzmq is used by fbzmq, which absolutely requires libstdcpp since it's a
C++14 project. There's no point in using two libc++.
Cleaned up Makefile for consistency between packages.
Added nanosleep patch for platforms that are missing usleep.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry-picked from ad11587c40)
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -150,8 +150,10 @@ case "${host_os}" in
|
||||
*linux*)
|
||||
# Define on Linux to enable all library features. Define if using a gnu compiler
|
||||
if test "x$GXX" = "xyes"; then
|
||||
- CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS"
|
||||
+ CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS -Wno-long-long"
|
||||
fi
|
||||
+ libzmq_pedantic="no"
|
||||
+ libzmq_werror="no"
|
||||
AC_DEFINE(ZMQ_HAVE_LINUX, 1, [Have Linux OS])
|
||||
libzmq_on_linux="yes"
|
||||
|
||||
@@ -12,16 +12,6 @@
|
||||
|
||||
metadata_t (const dict_t &dict);
|
||||
virtual ~metadata_t ();
|
||||
--- a/src/socket_base.cpp
|
||||
+++ b/src/socket_base.cpp
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <new>
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
+#include <ctype.h>
|
||||
|
||||
#include "platform.hpp"
|
||||
|
||||
--- a/src/stream_engine.cpp
|
||||
+++ b/src/stream_engine.cpp
|
||||
@@ -208,7 +208,11 @@ void zmq::stream_engine_t::plug (io_thread_t *io_thread_,
|
||||
@@ -36,7 +26,7 @@
|
||||
zmq_assert (metadata == NULL);
|
||||
metadata = new (std::nothrow) metadata_t (properties);
|
||||
}
|
||||
@@ -815,7 +815,11 @@ void zmq::stream_engine_t::mechanism_ready ()
|
||||
@@ -824,7 +828,11 @@ void zmq::stream_engine_t::mechanism_ready ()
|
||||
|
||||
// If we have a peer_address, add it to metadata
|
||||
if (!peer_address.empty()) {
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
--- a/src/signaler.cpp
|
||||
+++ b/src/signaler.cpp
|
||||
@@ -86,7 +86,8 @@ static int sleep_ms (unsigned int ms_)
|
||||
usleep (ms_ * 1000);
|
||||
return 0;
|
||||
#else
|
||||
- return usleep (ms_ * 1000);
|
||||
+ const struct timespec req = {0, (long int)ms_ * 1000 * 1000};
|
||||
+ return nanosleep (&req, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
--- a/src/tcp_address.cpp
|
||||
+++ b/src/tcp_address.cpp
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
+#include <ctime>
|
||||
|
||||
#include "tcp_address.hpp"
|
||||
#include "platform.hpp"
|
||||
@@ -194,7 +195,8 @@ int zmq::tcp_address_t::resolve_nic_name (const char *nic_, bool ipv6_, bool is_
|
||||
rc = getifaddrs (&ifa);
|
||||
if (rc == 0 || (rc < 0 && errno != ECONNREFUSED))
|
||||
break;
|
||||
- usleep ((backoff_msec << i) * 1000);
|
||||
+ const struct timespec req = {0, (backoff_msec << i) * 1000 * 1000};
|
||||
+ nanosleep (&req, NULL);
|
||||
}
|
||||
errno_assert (rc == 0);
|
||||
zmq_assert (ifa != NULL);
|
||||
--- a/src/zmq.cpp
|
||||
+++ b/src/zmq.cpp
|
||||
@@ -692,7 +692,8 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
|
||||
usleep (timeout_ * 1000);
|
||||
return 0;
|
||||
#else
|
||||
- return usleep (timeout_ * 1000);
|
||||
+ const struct timespec req = {0, timeout_ * 1000 * 1000};
|
||||
+ return nanosleep (&req, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -852,7 +853,8 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
|
||||
Sleep (timeout_ > 0 ? timeout_ : INFINITE);
|
||||
return 0;
|
||||
#else
|
||||
- return usleep (timeout_ * 1000);
|
||||
+ const struct timespec req = {0, timeout_ * 1000 * 1000};
|
||||
+ return nanosleep (&req, NULL);
|
||||
#endif
|
||||
}
|
||||
zmq::clock_t clock;
|
||||
Reference in New Issue
Block a user