zmq: update to 4.3.5
[feed/packages.git] / libs / zmq / Makefile
index a202d1a382ac4110b106b00e7feefb068421c2e5..c9dccd0a7b3d50c025699983a536ebc2639e1d0f 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zeromq
-PKG_VERSION:=4.1.7
-PKG_RELEASE:=2
+PKG_VERSION:=4.3.5
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/zeromq/zeromq4-1/releases/download/v$(PKG_VERSION)
-PKG_HASH:=31c383cfcd3be1dc8a66e448c403029e793687e70473b89c4cc0bd626e7da299
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://github.com/zeromq/libzmq/releases/download/v$(PKG_VERSION)
+PKG_HASH:=6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43
 
 PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=LICENCE.txt
 PKG_CPE_ID:=cpe:/a:zeromq:libzmq
 
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-PKG_REMOVE_FILES:=autogen.sh acinclude.m4 aclocal.m4
+CMAKE_BINARY_SUBDIR:=openwrt-build
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
 
 define Package/libzmq/default
   TITLE:=ZeroMQ - Message Queue engine
   URL:=http://www.zeromq.org/
   SECTION:=libs
   CATEGORY:=Libraries
-  DEPENDS:=+libuuid +libpthread +librt +libstdcpp
+  DEPENDS:=+libuuid +libstdcpp
   PROVIDES:=libzmq
 endef
 
+define Package/libzmq/default-config
+config LIBZMQ_$(2)_WITH_OPENPGM
+       depends on PACKAGE_libzmq-$(1)
+       bool "enable openpgm support for libzmq-$(1)"
+       default n
+endef
+
 define Package/libzmq-nc
   $(call Package/libzmq/default)
   VARIANT:=nc
+  DEPENDS+=+LIBZMQ_NC_WITH_OPENPGM:openpgm
 endef
 
 define Package/libzmq-curve
   $(call Package/libzmq/default)
   VARIANT:=curve
   TITLE+= (CurveZMQ)
-  DEPENDS+=+libsodium
+  DEPENDS+=+libsodium +LIBZMQ_CURVE_WITH_OPENPGM:openpgm
 endef
 
 define Package/libzmq-nc/description
@@ -59,30 +65,54 @@ define Package/libzmq-curve/description
  Includes CurveZMQ security by libsodium.
 endef
 
-# add extra configure flags here
-CONFIGURE_ARGS += \
-       --enable-static \
-       --enable-shared \
-       --with-pic \
-       --with-relaxed \
-       --without-documentation
+define Package/libzmq-nc/config
+       $(call Package/libzmq/default-config,nc,NC)
+endef
+
+define Package/libzmq-curve/config
+       $(call Package/libzmq/default-config,curve,CURVE)
+endef
+
+CMAKE_OPTIONS += \
+       -DA2X_EXECUTABLE=OFF \
+       -DASCIIDOC_EXECUTABLE=OFF \
+       -DBUILD_STATIC=OFF \
+       -DZMQ_HAVE_SOCK_CLOEXEC=ON \
+       -DZMQ_HAVE_SO_KEEPALIVE=ON \
+       -DZMQ_HAVE_TCP_KEEPCNT=ON \
+       -DZMQ_HAVE_TCP_KEEPIDLE=ON \
+       -DZMQ_HAVE_TCP_KEEPINTVL=ON \
+       -DZMQ_HAVE_TCP_KEEPALIVE=ON \
+       -DENABLE_CURVE=ON \
+       -DENABLE_EVENTFD=ON \
+       -DPOLLER=epoll \
+       -DRT_LIBRARY=OFF \
+       -DZMQ_BUILD_TESTS=OFF
 
 ifeq ($(BUILD_VARIANT),curve)
-  CONFIGURE_ARGS+= --with-libsodium
+       CMAKE_OPTIONS += -DWITH_LIBSODIUM=ON
 else
-  CONFIGURE_ARGS+= --without-libsodium
+       CMAKE_OPTIONS += -DWITH_LIBSODIUM=OFF
 endif
 
-TARGET_CXXFLAGS += -Wno-error=cpp
+ifeq ($(CONFIG_LIBZMQ_NC_WITH_OPENPGM),y)
+       CMAKE_OPTIONS += -DWITH_OPENPGM=ON
+else ifeq ($(CONFIG_LIBZMQ_CURVE_WITH_OPENPGM),y)
+       CMAKE_OPTIONS += -DWITH_OPENPGM=ON
+else
+       CMAKE_OPTIONS += -DWITH_OPENPGM=OFF
+endif
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/zmq.h $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/zmq_utils.h $(1)/usr/include
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzmq.{a,so*} $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzmq.so* $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libzmq.pc $(1)/usr/lib/pkgconfig/
+       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libzmq.pc
+       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libzmq.pc
 endef
 
 define Package/libzmq-nc/install