Compare commits
15 commits
feat/cmake
...
rawhide
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b568b0136 | ||
|
|
61dda03ad6 | ||
|
|
8c0a9a2744 | ||
|
|
5cdfb5dc7a | ||
|
|
2ba6425a00 | ||
|
|
cb016e7317 | ||
|
|
c8ae1309ae | ||
|
|
1bc5134706 | ||
|
|
1cb438733f | ||
|
|
d1f897dccf | ||
|
|
0502eb1960 | ||
|
|
04ba3e0b7e | ||
|
|
9e6802e3b7 | ||
|
|
3dd626ffa0 | ||
|
|
13c901b7af |
3 changed files with 66 additions and 86 deletions
37
zeromq-configure-c99.patch
Normal file
37
zeromq-configure-c99.patch
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
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
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
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
|
||||
65
zeromq.spec
65
zeromq.spec
|
|
@ -6,16 +6,19 @@ Version: 4.3.5
|
|||
Release: %autorelease
|
||||
Summary: Software library for fast, message-based applications
|
||||
|
||||
License: MPLv2.0 AND BSD-3-Clause AND MIT
|
||||
License: MPL-2.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: cmake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: xmlto
|
||||
BuildRequires: libsodium-devel
|
||||
BuildRequires: gnutls-devel
|
||||
|
||||
%if %{with unwind}
|
||||
BuildRequires: libunwind-devel
|
||||
|
|
@ -26,9 +29,6 @@ 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,12 +49,6 @@ 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
|
||||
|
|
@ -67,40 +61,42 @@ chmod -x src/xsub.hpp
|
|||
|
||||
|
||||
%build
|
||||
%cmake
|
||||
#cmake -DENABLE_CURVE:BOOL=ON -DWITH_LIBSODIUM:BOOL=ON -DWITH_OPENPGM:BOOL=ON ..
|
||||
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_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
%make_install
|
||||
|
||||
# Doc
|
||||
mv -f %{buildroot}/usr/doc/zmq %{buildroot}%{_docdir}/
|
||||
# remove *.la
|
||||
rm %{buildroot}%{_libdir}/libzmq.la
|
||||
|
||||
# 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 || ( cat test-suite.log && exit 1 )
|
||||
make check V=1 XFAIL_TESTS=tests/test_radio_dish || ( 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_*
|
||||
|
|
@ -110,10 +106,7 @@ make check V=1 || ( cat test-suite.log && exit 1 )
|
|||
%{_libdir}/libzmq.so
|
||||
%{_libdir}/pkgconfig/libzmq.pc
|
||||
%{_includedir}/zmq*.h
|
||||
%{_libdir}/cmake/ZeroMQ/
|
||||
|
||||
%files doc
|
||||
%{_docdir}/zmq/
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue