Compare commits

..

No commits in common. "rawhide" and "feat/cmake" have entirely different histories.

3 changed files with 86 additions and 66 deletions

View file

@ -1,37 +0,0 @@
Build with -D_DEFAULT_SOURCE along with -std=c11
On its own, -std=c11 hides POSIX and other extensions from C headers
such as <stdlib.h> when building against glibc. This causes the
posix_memalign probe to fail incorrectly with compilers that do not
accept implicit function declarations. _DEFAULT_SOURCE is ignored by
most non-GNU/Linux systems or not relevant in this context, so there
is no separate check for adding it.
Submitted upstream: <https://github.com/zeromq/libzmq/pull/4635>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 68fb7251..f956f3fd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -122,7 +122,7 @@ if (NOT MSVC)
if(NOT CMAKE_C_FLAGS MATCHES "-std=" AND NOT C_STANDARD AND NOT CMAKE_C_STANDARD)
check_c_compiler_flag("-std=c11" COMPILER_SUPPORTS_C11)
if(COMPILER_SUPPORTS_C11)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_DEFAULT_SOURCE -std=c11")
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
endif()
diff --git a/configure.ac b/configure.ac
index b9e13d4f..ffcc145b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -66,7 +66,7 @@ ZMQ_ORIG_CXXFLAGS="${CXXFLAGS:-none}"
# Checks for programs.
AC_PROG_CC
-AX_CHECK_COMPILE_FLAG([-std=c11], [CFLAGS+=" -std=c11"], [AC_PROG_CC_C99])
+AX_CHECK_COMPILE_FLAG([-std=c11], [CFLAGS+=" -std=c11 -D_DEFAULT_SOURCE"], [AC_PROG_CC_C99])
AC_PROG_CXX
AX_CODE_COVERAGE
AM_PROG_CC_C_O

View file

@ -0,0 +1,50 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c64ccc1f..deae8efe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,12 +1,7 @@
# CMake build script for ZeroMQ
+cmake_minimum_required(VERSION 3.5..3.27)
project(ZeroMQ)
-if(${CMAKE_SYSTEM_NAME} STREQUAL Darwin)
- cmake_minimum_required(VERSION 3.0.2)
-else()
- cmake_minimum_required(VERSION 2.8.12)
-endif()
-
include(CheckIncludeFiles)
include(CheckCCompilerFlag)
include(CheckCXXCompilerFlag)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index c1bda3bd..ce157c1e 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,10 +1,15 @@
# CMake build script for ZeroMQ tests
-cmake_minimum_required(VERSION "2.8.1")
+cmake_minimum_required(VERSION 3.5..3.27)
# On Windows: solution file will be called tests.sln
project(tests)
set(tests
+ test_bind_stream_fuzzer
+ test_bind_ws_fuzzer
+ test_connect_stream_fuzzer
+ test_connect_ws_fuzzer
+ test_socket_options_fuzzer
test_ancillaries
test_system
test_pair_inproc
diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
index 7132f00b..f76c3a1b 100644
--- a/unittests/CMakeLists.txt
+++ b/unittests/CMakeLists.txt
@@ -1,5 +1,5 @@
# CMake build script for ZeroMQ unit tests
-cmake_minimum_required(VERSION "2.8.1")
+cmake_minimum_required(VERSION 3.5..3.27)
set(unittests
unittest_ypipe

View file

@ -6,19 +6,16 @@ Version: 4.3.5
Release: %autorelease
Summary: Software library for fast, message-based applications
License: MPL-2.0 AND BSD-3-Clause AND MIT
License: MPLv2.0 AND BSD-3-Clause AND MIT
URL: https://zeromq.org
Source0: https://github.com/%{name}/libzmq/archive/v%{version}/%{name}-%{version}.tar.gz
Patch1: zeromq-configure-c99.patch
BuildRequires: make
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: cmake
BuildRequires: asciidoc
BuildRequires: xmlto
BuildRequires: libsodium-devel
BuildRequires: gnutls-devel
%if %{with unwind}
BuildRequires: libunwind-devel
@ -29,6 +26,9 @@ BuildRequires: openpgm-devel
BuildRequires: krb5-devel
%endif
# https://github.com/zeromq/libzmq/pull/4609 - Upgrade of CMake files
Patch0: zeromq-fix-cmake-warnings.patch
%description
The 0MQ lightweight messaging kernel is a library which extends the
standard socket interfaces with features traditionally provided by
@ -49,6 +49,12 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package doc
Summary: HTML documentation for the %{name} library
BuildArch: noarch
%description doc
This package contains HTML pages for %{name}.
%prep
%autosetup -p1
@ -61,42 +67,40 @@ chmod -x src/xsub.hpp
%build
autoreconf -fi
%configure \
%if %{with pgm}
--with-pgm \
--with-libgssapi_krb5 \
%endif
--with-libsodium \
--enable-drafts \
%if %{with unwind}
--enable-libunwind \
%endif
--disable-Werror \
--disable-static
%make_build
%cmake
#cmake -DENABLE_CURVE:BOOL=ON -DWITH_LIBSODIUM:BOOL=ON -DWITH_OPENPGM:BOOL=ON ..
%cmake_build
%install
%make_install
%cmake_install
# remove *.la
rm %{buildroot}%{_libdir}/libzmq.la
# Doc
mv -f %{buildroot}/usr/doc/zmq %{buildroot}%{_docdir}/
# Manual pages
install -d %{buildroot}%{_mandir}/{man3,man7}
install -pm 0644 doc/*.3 %{buildroot}%{_mandir}/man3/
install -pm 0644 doc/*.7 %{buildroot}%{_mandir}/man7/
# Static library
rm -f %{buildroot}%{_libdir}/libzmq.a
# Unused binaries
rm -f %{buildroot}%{_bindir}/{inproc_lat,inproc_thr,local_lat,local_thr,proxy_thr,remote_lat,remote_thr}
%check
%ifnarch s390x
%ctest
%endif
%ifarch s390x
make check V=1 XFAIL_TESTS=tests/test_radio_dish || ( cat test-suite.log && exit 1 )
make check V=1 || ( cat test-suite.log && exit 1 )
%endif
%ldconfig_scriptlets
%files
%doc README.md AUTHORS NEWS
%license LICENSE
%{_bindir}/curve_keygen
#%%{_bindir}/curve_keygen
%{_libdir}/libzmq.so.5*
%{_mandir}/man3/zmq_*
%{_mandir}/man7/zmq_*
@ -106,7 +110,10 @@ make check V=1 XFAIL_TESTS=tests/test_radio_dish || ( cat test-suite.log && exit
%{_libdir}/libzmq.so
%{_libdir}/pkgconfig/libzmq.pc
%{_includedir}/zmq*.h
%{_libdir}/cmake/ZeroMQ/
%files doc
%{_docdir}/zmq/
%changelog
%autochangelog