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