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_CPE_ID
:=cpe
:/a
:libevent_project
:libevent
23 PKG_CONFIG_DEPENDS
:= \
24 CONFIG_PACKAGE_libevent2-openssl \
25 CONFIG_PACKAGE_libevent2-mbedtls
27 include $(INCLUDE_DIR
)/package.mk
28 include $(INCLUDE_DIR
)/cmake.mk
30 define Package
/libevent2
/Default
33 TITLE
:=Event notification
34 URL
:=http
://libevent.org
38 define Package
/libevent2
/Default
/description
39 The libevent API provides a mechanism to execute a callback function
40 when a specific event occurs on a file descriptor or after a timeout
41 has been reached. Furthermore
, libevent also support callbacks due
42 to signals or regular timeouts.
44 libevent is meant to replace the event loop found in event driven
45 network servers. An application just needs to call event_dispatch
()
46 and then add or remove events dynamically without having to change
50 define Package
/libevent2
51 $(call Package
/libevent2
/Default
)
52 TITLE
+= library
(version
2.1)
55 define Package
/libevent2
/description
56 $(call Package
/libevent2
/Default
/description
)
58 This package contains the libevent shared library historically
59 containing both the core
& extra libraries.
62 define Package
/libevent2-core
63 $(call Package
/libevent2
/Default
)
64 TITLE
+= core library
(version
2.1)
67 define Package
/libevent2-core
/description
68 $(call Package
/libevent2
/Default
/description
)
70 This package contains the libevent core shared library for the event
,
71 buffer
& utility functions.
74 define Package
/libevent2-extra
75 $(call Package
/libevent2
/Default
)
76 TITLE
+= extra library
(version
2.1)
77 DEPENDS
+=+libevent2-core
80 define Package
/libevent2-extra
/description
81 $(call Package
/libevent2
/Default
/description
)
83 This package contains the libevent extra shared library for specific
84 protocols including HTTP
, DNS
& RPC.
87 define Package
/libevent2-openssl
88 $(call Package
/libevent2
/Default
)
89 TITLE
+= OpenSSL library
(version
2.1)
90 DEPENDS
+=+libopenssl
+libevent2-core
93 define Package
/libevent2-openssl
/description
94 $(call Package
/libevent2
/Default
/description
)
96 This package contains the libevent OpenSSL shared library for encrypted
100 define Package
/libevent2-pthreads
101 $(call Package
/libevent2
/Default
)
102 TITLE
+= Pthreads library
(version
2.1)
103 DEPENDS
+=+libpthread
+libevent2-core
106 define Package
/libevent2-pthreads
/description
107 $(call Package
/libevent2
/Default
/description
)
109 This package contains the libevent Pthreads shared library for
113 TARGET_CFLAGS
+= $(FPIC
) -ffunction-sections
-fdata-sections
-flto
114 TARGET_LDFLAGS
+= -Wl
,--gc-sections
,--as-needed
-flto
117 -DEVENT__DISABLE_BENCHMARK
:BOOL
=ON \
118 -DEVENT__DISABLE_DEBUG_MODE
:BOOL
=ON \
119 -DEVENT__DISABLE_REGRESS
:BOOL
=ON \
120 -DEVENT__DISABLE_SAMPLES
:BOOL
=ON \
121 $(if
$(CONFIG_PACKAGE_libevent2-openssl
),-DEVENT__DISABLE_OPENSSL
:BOOL
=OFF
,-DEVENT__DISABLE_OPENSSL
:BOOL
=ON
) \
122 $(if
$(CONFIG_PACKAGE_libevent2-pthreads
),-DEVENT__DISABLE_THREAD_SUPPORT
:BOOL
=OFF
,-DEVENT__DISABLE_THREAD_SUPPORT
:BOOL
=ON
) \
123 -DEVENT__DISABLE_TESTS
:BOOL
=ON \
124 -DBUILD_TESTING
:BOOL
=OFF
126 define Build
/InstallDev
127 $(INSTALL_DIR
) $(1)/usr
/include
128 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
129 $(INSTALL_DIR
) $(1)/usr
/lib
130 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent
*.
{a
,so
}* $(1)/usr
/lib
/
131 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/cmake
$(1)/usr
/lib
/
132 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
133 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/libevent
*.
pc $(1)/usr
/lib
/pkgconfig
/
136 define Package
/libevent2
/install
137 $(INSTALL_DIR
) $(1)/usr
/lib
138 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent-2.1.so.
* $(1)/usr
/lib
/
141 define Package
/libevent2-core
/install
142 $(INSTALL_DIR
) $(1)/usr
/lib
143 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_core-2.1.so.
* $(1)/usr
/lib
/
146 define Package
/libevent2-extra
/install
147 $(INSTALL_DIR
) $(1)/usr
/lib
148 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_extra-2.1.so.
* $(1)/usr
/lib
/
151 define Package
/libevent2-openssl
/install
152 $(INSTALL_DIR
) $(1)/usr
/lib
153 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_openssl-2.1.so.
* $(1)/usr
/lib
/
156 define Package
/libevent2-pthreads
/install
157 $(INSTALL_DIR
) $(1)/usr
/lib
158 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libevent_pthreads-2.1.so.
* $(1)/usr
/lib
/
161 $(eval
$(call BuildPackage
,libevent2
))
162 $(eval
$(call BuildPackage
,libevent2-core
))
163 $(eval
$(call BuildPackage
,libevent2-extra
))
164 $(eval
$(call BuildPackage
,libevent2-openssl
))
165 $(eval
$(call BuildPackage
,libevent2-pthreads
))