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