perf: replace libelf1 dependency with libelf
[openwrt/staging/jogo.git] / package / libs / libevent2 / Makefile
1 #
2 # Copyright (C) 2011-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=libevent2
11 PKG_VERSION:=2.1.8
12 PKG_RELEASE:=3
13
14 PKG_SOURCE:=libevent-$(PKG_VERSION)-stable.tar.gz
15 PKG_SOURCE_URL:=https://github.com/libevent/libevent/releases/download/release-$(PKG_VERSION)-stable
16 PKG_HASH:=965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2
17 PKG_BUILD_DIR:=$(BUILD_DIR)/libevent-$(PKG_VERSION)-stable
18
19 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
20 PKG_LICENSE:=BSD-3-Clause
21 PKG_CPE_ID:=cpe:/a:libevent_project:libevent
22
23 PKG_FIXUP:=autoreconf
24 PKG_INSTALL:=1
25 PKG_BUILD_PARALLEL:=1
26
27 include $(INCLUDE_DIR)/package.mk
28
29 define Package/libevent2/Default
30 SECTION:=libs
31 CATEGORY:=Libraries
32 TITLE:=Event notification
33 URL:=http://libevent.org
34 ABI_VERSION:=6
35 endef
36
37 define Package/libevent2/Default/description
38 The libevent API provides a mechanism to execute a callback function
39 when a specific event occurs on a file descriptor or after a timeout
40 has been reached. Furthermore, libevent also support callbacks due
41 to signals or regular timeouts.
42
43 libevent is meant to replace the event loop found in event driven
44 network servers. An application just needs to call event_dispatch()
45 and then add or remove events dynamically without having to change
46 the event loop.
47 endef
48
49 define Package/libevent2
50 $(call Package/libevent2/Default)
51 TITLE+= library (version 2.1)
52 endef
53
54 define Package/libevent2/description
55 $(call Package/libevent2/Default/description)
56
57 This package contains the libevent shared library historically
58 containing both the core & extra libraries.
59 endef
60
61 define Package/libevent2-core
62 $(call Package/libevent2/Default)
63 TITLE+= core library (version 2.1)
64 endef
65
66 define Package/libevent2-core/description
67 $(call Package/libevent2/Default/description)
68
69 This package contains the libevent core shared library for the event,
70 buffer & utility functions.
71 endef
72
73 define Package/libevent2-extra
74 $(call Package/libevent2/Default)
75 TITLE+= extra library (version 2.1)
76 endef
77
78 define Package/libevent2-extra/description
79 $(call Package/libevent2/Default/description)
80
81 This package contains the libevent extra shared library for specific
82 protocols including HTTP, DNS & RPC.
83 endef
84
85 define Package/libevent2-openssl
86 $(call Package/libevent2/Default)
87 TITLE+= OpenSSL library (version 2.1)
88 DEPENDS+=+libopenssl
89 endef
90
91 define Package/libevent2-openssl/description
92 $(call Package/libevent2/Default/description)
93
94 This package contains the libevent OpenSSL shared library for encrypted
95 bufferevents.
96 endef
97
98 define Package/libevent2-pthreads
99 $(call Package/libevent2/Default)
100 TITLE+= Pthreads library (version 2.1)
101 DEPENDS+=+libpthread
102 endef
103
104 define Package/libevent2-pthreads/description
105 $(call Package/libevent2/Default/description)
106
107 This package contains the libevent Pthreads shared library for
108 threading & locking.
109 endef
110
111 TARGET_CFLAGS += $(FPIC)
112
113 CONFIGURE_ARGS += \
114 --enable-shared \
115 --enable-static \
116 --disable-debug-mode
117
118 MAKE_FLAGS += \
119 CFLAGS="$(TARGET_CFLAGS)"
120
121 define Build/InstallDev
122 $(INSTALL_DIR) $(1)/usr/include
123 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
124 $(INSTALL_DIR) $(1)/usr/lib
125 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*.{la,a,so} $(1)/usr/lib/
126 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*-2.1.so* $(1)/usr/lib/
127 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
128 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libevent*.pc $(1)/usr/lib/pkgconfig/
129 endef
130
131 define Package/libevent2/install
132 $(INSTALL_DIR) $(1)/usr/lib
133 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent-2.1.so.* $(1)/usr/lib/
134 endef
135
136 define Package/libevent2-core/install
137 $(INSTALL_DIR) $(1)/usr/lib
138 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_core-2.1.so.* $(1)/usr/lib/
139 endef
140
141 define Package/libevent2-extra/install
142 $(INSTALL_DIR) $(1)/usr/lib
143 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_extra-2.1.so.* $(1)/usr/lib/
144 endef
145
146 define Package/libevent2-openssl/install
147 $(INSTALL_DIR) $(1)/usr/lib
148 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_openssl-2.1.so.* $(1)/usr/lib/
149 endef
150
151 define Package/libevent2-pthreads/install
152 $(INSTALL_DIR) $(1)/usr/lib
153 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_pthreads-2.1.so.* $(1)/usr/lib/
154 endef
155
156 $(eval $(call BuildPackage,libevent2))
157 $(eval $(call BuildPackage,libevent2-core))
158 $(eval $(call BuildPackage,libevent2-extra))
159 $(eval $(call BuildPackage,libevent2-openssl))
160 $(eval $(call BuildPackage,libevent2-pthreads))