Merge pull request #11353 from kvuorine/fwknop-fixes
[feed/packages.git] / libs / zmq / Makefile
1 #
2 # Copyright (C) 2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # This Makefile for ZeroMQ
8 #
9
10 include $(TOPDIR)/rules.mk
11
12 PKG_NAME:=zeromq
13 PKG_VERSION:=4.3.3
14 PKG_RELEASE:=2
15
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
17 PKG_SOURCE_URL:=https://github.com/zeromq/libzmq/releases/download/v$(PKG_VERSION)
18 PKG_HASH:=9d9285db37ae942ed0780c016da87060497877af45094ff9e1a1ca736e3875a2
19
20 PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
21 PKG_LICENSE:=GPL-3.0-or-later
22 PKG_LICENSE_FILES:=LICENCE.txt
23 PKG_CPE_ID:=cpe:/a:zeromq:libzmq
24
25 PKG_BUILD_PARALLEL:=1
26 CMAKE_BINARY_SUBDIR:=openwrt-build
27
28 include $(INCLUDE_DIR)/package.mk
29 include $(INCLUDE_DIR)/cmake.mk
30
31 define Package/libzmq/default
32 TITLE:=ZeroMQ - Message Queue engine
33 URL:=http://www.zeromq.org/
34 SECTION:=libs
35 CATEGORY:=Libraries
36 DEPENDS:=+libuuid +libpthread +librt +libstdcpp +USE_GLIBC:libbsd
37 PROVIDES:=libzmq
38 endef
39
40 define Package/libzmq-nc
41 $(call Package/libzmq/default)
42 VARIANT:=nc
43 endef
44
45 define Package/libzmq-curve
46 $(call Package/libzmq/default)
47 VARIANT:=curve
48 TITLE+= (CurveZMQ)
49 DEPENDS+=+libsodium
50 endef
51
52 define Package/libzmq-nc/description
53 This package contains the ZeroMQ messaging engine shared library.
54 endef
55
56 define Package/libzmq-curve/description
57 $(call Package/libzmq-nc/description)
58 Includes CurveZMQ security by libsodium.
59 endef
60
61 CMAKE_OPTIONS += \
62 -DA2X_EXECUTABLE=OFF \
63 -DASCIIDOC_EXECUTABLE=OFF \
64 -DBUILD_STATIC=OFF \
65 -DCMAKE_SKIP_INSTALL_RPATH=ON \
66 -DZMQ_HAVE_SOCK_CLOEXEC=ON \
67 -DZMQ_HAVE_SO_KEEPALIVE=ON \
68 -DZMQ_HAVE_TCP_KEEPCNT=ON \
69 -DZMQ_HAVE_TCP_KEEPIDLE=ON \
70 -DZMQ_HAVE_TCP_KEEPINTVL=ON \
71 -DZMQ_HAVE_TCP_KEEPALIVE=ON \
72 -DENABLE_CURVE=ON \
73 -DENABLE_EVENTFD=ON \
74 -DPOLLER=epoll \
75 -DRT_LIBRARY=OFF \
76 -DWITH_OPENPGM=OFF \
77 -DZMQ_BUILD_TESTS=OFF \
78 -DWITH_LIBBSD=O$(if $(CONFIG_USE_GLIBC),N,FF)
79
80 ifeq ($(BUILD_VARIANT),curve)
81 CMAKE_OPTIONS += -DWITH_LIBSODIUM=ON
82 else
83 CMAKE_OPTIONS += -DWITH_LIBSODIUM=OFF
84 endif
85
86 define Build/InstallDev
87 $(INSTALL_DIR) $(1)/usr/include
88 $(CP) $(PKG_INSTALL_DIR)/usr/include/zmq.h $(1)/usr/include
89 $(CP) $(PKG_INSTALL_DIR)/usr/include/zmq_utils.h $(1)/usr/include
90 $(INSTALL_DIR) $(1)/usr/lib
91 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzmq.so* $(1)/usr/lib/
92 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
93 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libzmq.pc $(1)/usr/lib/pkgconfig/
94 $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libzmq.pc
95 $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libzmq.pc
96 endef
97
98 define Package/libzmq-nc/install
99 $(INSTALL_DIR) $(1)/usr/lib
100 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzmq.so.* $(1)/usr/lib/
101 endef
102
103 Package/libzmq-curve/install=$(Package/libzmq-nc/install)
104
105 $(eval $(call BuildPackage,libzmq-nc))
106 $(eval $(call BuildPackage,libzmq-curve))