Merge pull request #14796 from ja-pa/dnstap-0.4.0
[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.4
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:=c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5
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/default-config
41 config LIBZMQ_$(2)_WITH_OPENPGM
42 depends on PACKAGE_libzmq-$(1)
43 bool "enable openpgm support for libzmq-$(1)"
44 default n
45 endef
46
47 define Package/libzmq-nc
48 $(call Package/libzmq/default)
49 VARIANT:=nc
50 DEPENDS+=+LIBZMQ_NC_WITH_OPENPGM:openpgm
51 endef
52
53 define Package/libzmq-curve
54 $(call Package/libzmq/default)
55 VARIANT:=curve
56 TITLE+= (CurveZMQ)
57 DEPENDS+=+libsodium +LIBZMQ_CURVE_WITH_OPENPGM:openpgm
58 endef
59
60 define Package/libzmq-nc/description
61 This package contains the ZeroMQ messaging engine shared library.
62 endef
63
64 define Package/libzmq-curve/description
65 $(call Package/libzmq-nc/description)
66 Includes CurveZMQ security by libsodium.
67 endef
68
69 define Package/libzmq-nc/config
70 $(call Package/libzmq/default-config,nc,NC)
71 endef
72
73 define Package/libzmq-curve/config
74 $(call Package/libzmq/default-config,curve,CURVE)
75 endef
76
77 CMAKE_OPTIONS += \
78 -DA2X_EXECUTABLE=OFF \
79 -DASCIIDOC_EXECUTABLE=OFF \
80 -DBUILD_STATIC=OFF \
81 -DCMAKE_SKIP_INSTALL_RPATH=ON \
82 -DZMQ_HAVE_SOCK_CLOEXEC=ON \
83 -DZMQ_HAVE_SO_KEEPALIVE=ON \
84 -DZMQ_HAVE_TCP_KEEPCNT=ON \
85 -DZMQ_HAVE_TCP_KEEPIDLE=ON \
86 -DZMQ_HAVE_TCP_KEEPINTVL=ON \
87 -DZMQ_HAVE_TCP_KEEPALIVE=ON \
88 -DENABLE_CURVE=ON \
89 -DENABLE_EVENTFD=ON \
90 -DPOLLER=epoll \
91 -DRT_LIBRARY=OFF \
92 -DZMQ_BUILD_TESTS=OFF \
93 -DWITH_LIBBSD=O$(if $(CONFIG_USE_GLIBC),N,FF)
94
95 ifeq ($(BUILD_VARIANT),curve)
96 CMAKE_OPTIONS += -DWITH_LIBSODIUM=ON
97 else
98 CMAKE_OPTIONS += -DWITH_LIBSODIUM=OFF
99 endif
100
101 ifeq ($(CONFIG_LIBZMQ_NC_WITH_OPENPGM),y)
102 CMAKE_OPTIONS += -DWITH_OPENPGM=ON
103 else ifeq ($(CONFIG_LIBZMQ_CURVE_WITH_OPENPGM),y)
104 CMAKE_OPTIONS += -DWITH_OPENPGM=ON
105 else
106 CMAKE_OPTIONS += -DWITH_OPENPGM=OFF
107 endif
108
109 define Build/InstallDev
110 $(INSTALL_DIR) $(1)/usr/include
111 $(CP) $(PKG_INSTALL_DIR)/usr/include/zmq.h $(1)/usr/include
112 $(CP) $(PKG_INSTALL_DIR)/usr/include/zmq_utils.h $(1)/usr/include
113 $(INSTALL_DIR) $(1)/usr/lib
114 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzmq.so* $(1)/usr/lib/
115 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
116 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libzmq.pc $(1)/usr/lib/pkgconfig/
117 $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libzmq.pc
118 $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libzmq.pc
119 endef
120
121 define Package/libzmq-nc/install
122 $(INSTALL_DIR) $(1)/usr/lib
123 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzmq.so.* $(1)/usr/lib/
124 endef
125
126 Package/libzmq-curve/install=$(Package/libzmq-nc/install)
127
128 $(eval $(call BuildPackage,libzmq-nc))
129 $(eval $(call BuildPackage,libzmq-curve))