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
:=a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d
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-mbedtls
28 include $(INCLUDE_DIR
)/package.mk
29 include $(INCLUDE_DIR
)/cmake.mk
31 define Package
/libevent2
/Default
34 TITLE
:=Event notification
35 URL
:=http
://libevent.org
39 define Package
/libevent2
/Default
/description
40 The libevent API provides a mechanism to execute a callback function
41 when a specific event occurs on a file descriptor or after a timeout
42 has been reached. Furthermore
, libevent also support callbacks due
43 to signals or regular timeouts.
45 libevent is meant to replace the event loop found in event driven
46 network servers. An application just needs to call event_dispatch
()
47 and then add or remove events dynamically without having to change
51 define Package
/libevent2
52 $(call Package
/libevent2
/Default
)
53 TITLE
+= library
(version
2.1)
56 define Package
/libevent2
/description
57 $(call Package
/libevent2
/Default
/description
)
59 This package contains the libevent shared library historically
60 containing both the core
& extra libraries.
63 define Package
/libevent2-core
64 $(call Package
/libevent2
/Default
)
65 TITLE
+= core library
(version
2.1)
68 define Package
/libevent2-core
/description
69 $(call Package
/libevent2
/Default
/description
)
71 This package contains the libevent core shared library for the event
,
72 buffer
& utility functions.
75 define Package
/libevent2-extra
76 $(call Package
/libevent2
/Default
)
77 TITLE
+= extra library
(version
2.1)
78 DEPENDS
+=+libevent2-core
81 define Package
/libevent2-extra
/description
82 $(call Package
/libevent2
/Default
/description
)
84 This package contains the libevent extra shared library for specific
85 protocols including HTTP
, DNS
& RPC.
88 define Package
/libevent2-openssl
89 $(call Package
/libevent2
/Default
)
90 TITLE
+= OpenSSL library
(version
2.1)
91 DEPENDS
+=+libopenssl
+libevent2-core
94 define Package
/libevent2-openssl
/description
95 $(call Package
/libevent2
/Default
/description
)
97 This package contains the libevent OpenSSL shared library for encrypted
101 define Package
/libevent2-pthreads
102 $(call Package
/libevent2
/Default
)
103 TITLE
+= Pthreads library
(version
2.1)
104 DEPENDS
+=+libpthread
+libevent2-core
107 define Package
/libevent2-pthreads
/description
108 $(call Package
/libevent2
/Default
/description
)
110 This package contains the libevent Pthreads shared library for
114 TARGET_CFLAGS
+= $(FPIC
) -ffunction-sections
-fdata-sections
-flto
115 TARGET_LDFLAGS
+= -Wl
,--gc-sections
,--as-needed
-flto
118 -DEVENT__DISABLE_BENCHMARK
:BOOL
=ON \
119 -DEVENT__DISABLE_DEBUG_MODE
:BOOL
=ON \
120 -DEVENT__DISABLE_REGRESS
:BOOL
=ON \
121 -DEVENT__DISABLE_SAMPLES
:BOOL
=ON \
122 $(if
$(CONFIG_PACKAGE_libevent2-openssl
),-DEVENT__DISABLE_OPENSSL
:BOOL
=OFF
,-DEVENT__DISABLE_OPENSSL
:BOOL
=ON
) \
123 $(if
$(CONFIG_PACKAGE_libevent2-pthreads
),-DEVENT__DISABLE_THREAD_SUPPORT
:BOOL
=OFF
,-DEVENT__DISABLE_THREAD_SUPPORT
:BOOL
=ON
) \
124 -DEVENT__DISABLE_TESTS
:BOOL
=ON \
125 -DBUILD_TESTING
:BOOL
=OFF
127 define Build
/InstallDev
128 $(call Build
/InstallDev
/cmake
,$(1))
129 $(SED
) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr
/lib
/pkgconfig
/libevent
*.
pc
130 $(SED
) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr
/lib
/pkgconfig
/libevent
*.
pc
133 define Package
/libevent2
/install
134 $(INSTALL_DIR
) $(1)/usr
/lib
135 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent-2.1.so.
* $(1)/usr
/lib
/
138 define Package
/libevent2-core
/install
139 $(INSTALL_DIR
) $(1)/usr
/lib
140 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_core-2.1.so.
* $(1)/usr
/lib
/
143 define Package
/libevent2-extra
/install
144 $(INSTALL_DIR
) $(1)/usr
/lib
145 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_extra-2.1.so.
* $(1)/usr
/lib
/
148 define Package
/libevent2-openssl
/install
149 $(INSTALL_DIR
) $(1)/usr
/lib
150 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_openssl-2.1.so.
* $(1)/usr
/lib
/
153 define Package
/libevent2-pthreads
/install
154 $(INSTALL_DIR
) $(1)/usr
/lib
155 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_pthreads-2.1.so.
* $(1)/usr
/lib
/
158 $(eval
$(call BuildPackage
,libevent2
))
159 $(eval
$(call BuildPackage
,libevent2-core
))
160 $(eval
$(call BuildPackage
,libevent2-extra
))
161 $(eval
$(call BuildPackage
,libevent2-openssl
))
162 $(eval
$(call BuildPackage
,libevent2-pthreads
))