xref: /OK3568_Linux_fs/buildroot/package/zeromq/zeromq.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# zeromq
4#
5################################################################################
6
7ZEROMQ_VERSION = 4.3.4
8ZEROMQ_SITE = https://github.com/zeromq/libzmq/releases/download/v$(ZEROMQ_VERSION)
9ZEROMQ_INSTALL_STAGING = YES
10ZEROMQ_DEPENDENCIES = util-linux
11ZEROMQ_CONF_OPTS = --disable-Werror --without-documentation
12ZEROMQ_LICENSE = LGPL-3.0+ with exceptions
13ZEROMQ_LICENSE_FILES = COPYING COPYING.LESSER
14ZEROMQ_CPE_ID_VENDOR = zeromq
15ZEROMQ_CPE_ID_PRODUCT = libzmq
16
17# Assume these flags are always available. It is true, at least for
18# SOCK_CLOEXEC, since linux v2.6.27.
19# Note: the flag TCP_KEEPALIVE is NOT available so we do not include it.
20ZEROMQ_CONF_ENV = libzmq_cv_sock_cloexec=yes \
21	libzmq_cv_so_keepalive=yes \
22	libzmq_cv_tcp_keepcnt=yes \
23	libzmq_cv_tcp_keepidle=yes \
24	libzmq_cv_tcp_keepintvl=yes
25
26# Internal error, aborting at dwarf2cfi.c:2752 in connect_traces
27# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864
28ifeq ($(BR2_m68k_cf),y)
29ZEROMQ_CONF_OPTS += CXXFLAGS="$(TARGET_CXXFLAGS) -fno-defer-pop"
30endif
31
32# Only tools/curve_keygen.c needs this, but it doesn't hurt to pass it
33# for the rest of the build as well (which automatically includes stdc++).
34ifeq ($(BR2_STATIC_LIBS),y)
35ZEROMQ_CONF_OPTS += LIBS=-lstdc++
36endif
37
38ifeq ($(BR2_PACKAGE_ZEROMQ_NORM),y)
39ZEROMQ_CONF_OPTS += --with-norm
40ZEROMQ_DEPENDENCIES += norm
41else
42ZEROMQ_CONF_OPTS += --without-norm
43endif
44
45ifeq ($(BR2_PACKAGE_ZEROMQ_PGM),y)
46ZEROMQ_DEPENDENCIES += host-pkgconf openpgm
47ZEROMQ_CONF_OPTS += --with-pgm
48else
49ZEROMQ_CONF_OPTS += --without-pgm
50endif
51
52ifeq ($(BR2_PACKAGE_ZEROMQ_DRAFTS),y)
53ZEROMQ_CONF_OPTS += --enable-drafts
54else
55ZEROMQ_CONF_OPTS += --disable-drafts
56endif
57
58ifeq ($(BR2_PACKAGE_ZEROMQ_WEBSOCKET),y)
59ZEROMQ_CONF_OPTS += --enable-ws
60else
61ZEROMQ_CONF_OPTS += --disable-ws
62endif
63
64ifeq ($(BR2_PACKAGE_GNUTLS),y)
65ZEROMQ_DEPENDENCIES += host-pkgconf gnutls
66ZEROMQ_CONF_OPTS += --with-tls
67else
68ZEROMQ_CONF_OPTS += --without-tls
69endif
70
71ifeq ($(BR2_PACKAGE_LIBBSD),y)
72ZEROMQ_DEPENDENCIES += host-pkgconf libbsd
73ZEROMQ_CONF_OPTS += --enable-libbsd
74else
75ZEROMQ_CONF_OPTS += --disable-libbsd
76endif
77
78ifeq ($(BR2_PACKAGE_LIBNSS),y)
79ZEROMQ_DEPENDENCIES += host-pkgconf libnss
80ZEROMQ_CONF_OPTS += --with-nss
81else
82ZEROMQ_CONF_OPTS += --without-nss
83endif
84
85# ZeroMQ uses libsodium if it's available.
86ifeq ($(BR2_PACKAGE_LIBSODIUM),y)
87ZEROMQ_DEPENDENCIES += libsodium
88ZEROMQ_CONF_OPTS += --with-libsodium="$(STAGING_DIR)/usr"
89else
90ZEROMQ_CONF_OPTS += --without-libsodium
91endif
92
93ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
94ZEROMQ_DEPENDENCIES += libunwind
95ZEROMQ_CONF_OPTS += --enable-libunwind
96else
97ZEROMQ_CONF_OPTS += --disable-libunwind
98endif
99
100$(eval $(autotools-package))
101