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