libevent2: Switch to using release tarball
[openwrt/openwrt.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:=2
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 endef
35
36 define Package/libevent2/Default/description
37 The libevent API provides a mechanism to execute a callback function
38 when a specific event occurs on a file descriptor or after a timeout
39 has been reached. Furthermore, libevent also support callbacks due
40 to signals or regular timeouts.
41
42 libevent is meant to replace the event loop found in event driven
43 network servers. An application just needs to call event_dispatch()
44 and then add or remove events dynamically without having to change
45 the event loop.
46 endef
47
48 define Package/libevent2
49 $(call Package/libevent2/Default)
50 TITLE+= library (version 2.1)
51 endef
52
53 define Package/libevent2/description
54 $(call Package/libevent2/Default/description)
55
56 This package contains the libevent shared library historically
57 containing both the core & extra libraries.
58 endef
59
60 define Package/libevent2-core
61 $(call Package/libevent2/Default)
62 TITLE+= core library (version 2.1)
63 endef
64
65 define Package/libevent2-core/description
66 $(call Package/libevent2/Default/description)
67
68 This package contains the libevent core shared library for the event,
69 buffer & utility functions.
70 endef
71
72 define Package/libevent2-extra
73 $(call Package/libevent2/Default)
74 TITLE+= extra library (version 2.1)
75 endef
76
77 define Package/libevent2-extra/description
78 $(call Package/libevent2/Default/description)
79
80 This package contains the libevent extra shared library for specific
81 protocols including HTTP, DNS & RPC.
82 endef
83
84 define Package/libevent2-openssl
85 $(call Package/libevent2/Default)
86 TITLE+= OpenSSL library (version 2.1)
87 DEPENDS+=+libopenssl
88 endef
89
90 define Package/libevent2-openssl/description
91 $(call Package/libevent2/Default/description)
92
93 This package contains the libevent OpenSSL shared library for encrypted
94 bufferevents.
95 endef
96
97 define Package/libevent2-pthreads
98 $(call Package/libevent2/Default)
99 TITLE+= Pthreads library (version 2.1)
100 DEPENDS+=+libpthread
101 endef
102
103 define Package/libevent2-pthreads/description
104 $(call Package/libevent2/Default/description)
105
106 This package contains the libevent Pthreads shared library for
107 threading & locking.
108 endef
109
110 TARGET_CFLAGS += $(FPIC)
111
112 CONFIGURE_ARGS += \
113 --enable-shared \
114 --enable-static \
115 --disable-debug-mode
116
117 MAKE_FLAGS += \
118 CFLAGS="$(TARGET_CFLAGS)"
119
120 define Build/InstallDev
121 $(INSTALL_DIR) $(1)/usr/include
122 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
123 $(INSTALL_DIR) $(1)/usr/lib
124 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*.{la,a,so} $(1)/usr/lib/
125 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*-2.1.so* $(1)/usr/lib/
126 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
127 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libevent*.pc $(1)/usr/lib/pkgconfig/
128 endef
129
130 define Package/libevent2/install
131 $(INSTALL_DIR) $(1)/usr/lib
132 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent-2.1.so.* $(1)/usr/lib/
133 endef
134
135 define Package/libevent2-core/install
136 $(INSTALL_DIR) $(1)/usr/lib
137 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_core-2.1.so.* $(1)/usr/lib/
138 endef
139
140 define Package/libevent2-extra/install
141 $(INSTALL_DIR) $(1)/usr/lib
142 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_extra-2.1.so.* $(1)/usr/lib/
143 endef
144
145 define Package/libevent2-openssl/install
146 $(INSTALL_DIR) $(1)/usr/lib
147 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_openssl-2.1.so.* $(1)/usr/lib/
148 endef
149
150 define Package/libevent2-pthreads/install
151 $(INSTALL_DIR) $(1)/usr/lib
152 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_pthreads-2.1.so.* $(1)/usr/lib/
153 endef
154
155 $(eval $(call BuildPackage,libevent2))
156 $(eval $(call BuildPackage,libevent2-core))
157 $(eval $(call BuildPackage,libevent2-extra))
158 $(eval $(call BuildPackage,libevent2-openssl))
159 $(eval $(call BuildPackage,libevent2-pthreads))