2 # Copyright (C) 2011-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
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
:=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
17 PKG_BUILD_DIR
:=$(BUILD_DIR
)/libevent-
$(PKG_VERSION
)-stable
19 PKG_MAINTAINER
:=Jo-Philipp Wich
<jo@mein.io
>
20 PKG_LICENSE
:=BSD-3-Clause
21 PKG_LICENSE_FILES
:=LICENSE
22 PKG_CPE_ID
:=cpe
:/a
:libevent_project
:libevent
24 PKG_CONFIG_DEPENDS
:= \
25 CONFIG_PACKAGE_libevent2-openssl \
26 CONFIG_PACKAGE_libevent2-pthreads \
27 CONFIG_PACKAGE_libevent2-mbedtls
29 include $(INCLUDE_DIR
)/package.mk
30 include $(INCLUDE_DIR
)/cmake.mk
32 define Package
/libevent2
/Default
35 TITLE
:=Event notification
36 URL
:=http
://libevent.org
40 define Package
/libevent2
/Default
/description
41 The libevent API provides a mechanism to execute a callback function
42 when a specific event occurs on a file descriptor or after a timeout
43 has been reached. Furthermore
, libevent also support callbacks due
44 to signals or regular timeouts.
46 libevent is meant to replace the event loop found in event driven
47 network servers. An application just needs to call event_dispatch
()
48 and then add or remove events dynamically without having to change
52 define Package
/libevent2
53 $(call Package
/libevent2
/Default
)
54 TITLE
+= library
(version
2.1)
57 define Package
/libevent2
/description
58 $(call Package
/libevent2
/Default
/description
)
60 This package contains the libevent shared library historically
61 containing both the core
& extra libraries.
64 define Package
/libevent2-core
65 $(call Package
/libevent2
/Default
)
66 TITLE
+= core library
(version
2.1)
69 define Package
/libevent2-core
/description
70 $(call Package
/libevent2
/Default
/description
)
72 This package contains the libevent core shared library for the event
,
73 buffer
& utility functions.
76 define Package
/libevent2-extra
77 $(call Package
/libevent2
/Default
)
78 TITLE
+= extra library
(version
2.1)
79 DEPENDS
+=+libevent2-core
82 define Package
/libevent2-extra
/description
83 $(call Package
/libevent2
/Default
/description
)
85 This package contains the libevent extra shared library for specific
86 protocols including HTTP
, DNS
& RPC.
89 define Package
/libevent2-openssl
90 $(call Package
/libevent2
/Default
)
91 TITLE
+= OpenSSL library
(version
2.1)
92 DEPENDS
+=+libopenssl
+libevent2-core
95 define Package
/libevent2-openssl
/description
96 $(call Package
/libevent2
/Default
/description
)
98 This package contains the libevent OpenSSL shared library for encrypted
102 define Package
/libevent2-pthreads
103 $(call Package
/libevent2
/Default
)
104 TITLE
+= Pthreads library
(version
2.1)
105 DEPENDS
+=+libpthread
+libevent2-core
108 define Package
/libevent2-pthreads
/description
109 $(call Package
/libevent2
/Default
/description
)
111 This package contains the libevent Pthreads shared library for
115 TARGET_CFLAGS
+= $(FPIC
) -ffunction-sections
-fdata-sections
-flto
116 TARGET_LDFLAGS
+= -Wl
,--gc-sections
,--as-needed
-flto
119 -DEVENT__DISABLE_BENCHMARK
:BOOL
=ON \
120 -DEVENT__DISABLE_DEBUG_MODE
:BOOL
=ON \
121 -DEVENT__DISABLE_REGRESS
:BOOL
=ON \
122 -DEVENT__DISABLE_SAMPLES
:BOOL
=ON \
123 $(if
$(CONFIG_PACKAGE_libevent2-openssl
),-DEVENT__DISABLE_OPENSSL
:BOOL
=OFF
,-DEVENT__DISABLE_OPENSSL
:BOOL
=ON
) \
124 $(if
$(CONFIG_PACKAGE_libevent2-pthreads
),-DEVENT__DISABLE_THREAD_SUPPORT
:BOOL
=OFF
,-DEVENT__DISABLE_THREAD_SUPPORT
:BOOL
=ON
) \
125 -DEVENT__DISABLE_TESTS
:BOOL
=ON \
126 -DBUILD_TESTING
:BOOL
=OFF
128 define Build
/InstallDev
129 $(call Build
/InstallDev
/cmake
,$(1))
130 $(SED
) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr
/lib
/pkgconfig
/libevent
*.
pc
131 $(SED
) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr
/lib
/pkgconfig
/libevent
*.
pc
134 define Package
/libevent2
/install
135 $(INSTALL_DIR
) $(1)/usr
/lib
136 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent-2.1.so.
* $(1)/usr
/lib
/
139 define Package
/libevent2-core
/install
140 $(INSTALL_DIR
) $(1)/usr
/lib
141 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_core-2.1.so.
* $(1)/usr
/lib
/
144 define Package
/libevent2-extra
/install
145 $(INSTALL_DIR
) $(1)/usr
/lib
146 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_extra-2.1.so.
* $(1)/usr
/lib
/
149 define Package
/libevent2-openssl
/install
150 $(INSTALL_DIR
) $(1)/usr
/lib
151 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_openssl-2.1.so.
* $(1)/usr
/lib
/
154 define Package
/libevent2-pthreads
/install
155 $(INSTALL_DIR
) $(1)/usr
/lib
156 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_pthreads-2.1.so.
* $(1)/usr
/lib
/
159 $(eval
$(call BuildPackage
,libevent2
))
160 $(eval
$(call BuildPackage
,libevent2-core
))
161 $(eval
$(call BuildPackage
,libevent2-extra
))
162 $(eval
$(call BuildPackage
,libevent2-openssl
))
163 $(eval
$(call BuildPackage
,libevent2-pthreads
))