+++ /dev/null
-From 8cb5708829df9eacd58e1215ce7a1c135eb912b1 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Mon, 2 Nov 2020 00:04:14 +0100
-Subject: [PATCH] src/compat.hpp: fix build with libbsd and strlcpy
-
-Don't include bsd/string.h if strlcpy is also defined in string.h to
-avoid the following build failure on uclibc:
-
-In file included from src/compat.hpp:41:0,
- from src/ipc_address.cpp:31:
-/tmp/instance-0/output-1/host/mips64el-buildroot-linux-uclibc/sysroot/usr/include/bsd/string.h:44:54: error: declaration of 'size_t strlcpy(char*, const char*, size_t)' has a different exception specifier
- size_t strlcpy(char *dst, const char *src, size_t siz);
- ^
-In file included from src/compat.hpp:34:0,
- from src/ipc_address.cpp:31:
-/tmp/instance-0/output-1/host/mips64el-buildroot-linux-uclibc/sysroot/usr/include/string.h:424:15: error: from previous declaration 'size_t strlcpy(char*, const char*, size_t) throw ()'
- extern size_t strlcpy(char *__restrict dst, const char *__restrict src,
- ^
-
-Fixes:
- - http://autobuild.buildroot.org/results/51220b1b82774e8f6f6ed8593c58d2e3c31a1531
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Retrieved from:
-https://github.com/zeromq/libzmq/commit/b2a0842063aaa464ca2d182f9d3fefc6493906d0]
----
- CMakeLists.txt | 4 +---
- configure.ac | 26 ++++++++++++--------------
- src/compat.hpp | 4 +++-
- 3 files changed, 16 insertions(+), 18 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 85747f626..74dd99ae0 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -250,9 +250,7 @@ if(NOT MSVC)
- set(ZMQ_HAVE_LIBBSD 1)
- endif()
- endif()
-- if(NOT WITH_LIBBSD OR NOT LIBBSD_FOUND)
-- check_cxx_symbol_exists(strlcpy string.h ZMQ_HAVE_STRLCPY)
-- endif()
-+ check_cxx_symbol_exists(strlcpy string.h ZMQ_HAVE_STRLCPY)
- endif()
-
- # Select curve encryption library, defaults to tweetnacl To use libsodium instead, use --with-libsodium(must be
-diff --git a/configure.ac b/configure.ac
-index 58a78e75e..a7a1609af 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -812,20 +812,18 @@ if test "x$enable_libbsd" != "xno"; then
- fi
- ])
- fi
--if test "x$found_libbsd" != "xyes"; then
-- AC_MSG_CHECKING([whether strlcpy is available])
-- AC_COMPILE_IFELSE(
-- [AC_LANG_PROGRAM(
-- [[#include <string.h>]],
-- [[char buf [100]; size_t bar = strlcpy (buf, "foo", 100); (void)bar; return 0;]])
-- ],[
-- AC_MSG_RESULT([yes])
-- AC_DEFINE(ZMQ_HAVE_STRLCPY, [1],
-- [strlcpy is available])
-- ],[
-- AC_MSG_RESULT([no])
-- ])
--fi
-+AC_MSG_CHECKING([whether strlcpy is available])
-+AC_COMPILE_IFELSE(
-+ [AC_LANG_PROGRAM(
-+ [[#include <string.h>]],
-+ [[char buf [100]; size_t bar = strlcpy (buf, "foo", 100); (void)bar; return 0;]])
-+ ],[
-+ AC_MSG_RESULT([yes])
-+ AC_DEFINE(ZMQ_HAVE_STRLCPY, [1],
-+ [strlcpy is available])
-+ ],[
-+ AC_MSG_RESULT([no])
-+])
-
- # pthread_setname is non-posix, and there are at least 4 different implementations
- AC_MSG_CHECKING([whether signature of pthread_setname_np() has 1 argument])
-diff --git a/src/compat.hpp b/src/compat.hpp
-index 7c7a89275..47744b98e 100644
---- a/src/compat.hpp
-+++ b/src/compat.hpp
-@@ -37,9 +37,10 @@
- #define strcasecmp _stricmp
- #define strtok_r strtok_s
- #else
-+#ifndef ZMQ_HAVE_STRLCPY
- #ifdef ZMQ_HAVE_LIBBSD
- #include <bsd/string.h>
--#elif !defined(ZMQ_HAVE_STRLCPY)
-+#else
- static inline size_t
- strlcpy (char *dest_, const char *src_, const size_t dest_size_)
- {
-@@ -50,6 +51,7 @@ strlcpy (char *dest_, const char *src_, const size_t dest_size_)
- return dest_size_ - remain;
- }
- #endif
-+#endif
- template <size_t size>
- static inline int strcpy_s (char (&dest_)[size], const char *const src_)
- {