mirror of
https://github.com/libevent/libevent.git
synced 2025-01-09 00:56:20 +08:00
d4de062efc
Previously, evdns was at the mercy of the user for providing a good entropy source; without one, it would be vulnerable to various active attacks. This patch adds a port of OpenBSD's arc4random() calls to Libevent [port by Chris Davis], and wraps it up a little bit so we can use it more safely.
160 lines
4.8 KiB
Makefile
160 lines
4.8 KiB
Makefile
AUTOMAKE_OPTIONS = foreign
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
# This is the version info for the libevent binary API. It has three
|
|
# numbers:
|
|
# Current -- the number of the binary API that we're implementing
|
|
# Revision -- which iteration of the implementation of the binary
|
|
# API are we supplying?
|
|
# Age -- How many previous binary API versions do we also
|
|
# support?
|
|
#
|
|
# If we release a new version that does not change the binary API,
|
|
# increment Revision.
|
|
#
|
|
# If we release a new version that changes the binary API, but does
|
|
# not break programs compiled against the old binary API, increment
|
|
# Current and Age. Set Revision to 0, since this is the first
|
|
# implementation of the new API.
|
|
#
|
|
# Otherwise, we're changing the binary API and breaking bakward
|
|
# compatibility with old binaries. Increment Current. Set Age to 0,
|
|
# since we're backward compatible with no previous APIs. Set Revision
|
|
# to 0 too.
|
|
#
|
|
# ABI version history for this package effectively begins with package
|
|
# version 2.0, because package version 1.4 erroneously applied both
|
|
# -release and -version-info to the same libraries; -release takes
|
|
# precedence, so the -version-info history of 1.4 libraries is moot.
|
|
# We are starting the numbering at 2 rather than 1 to avoid confusion.
|
|
#
|
|
# 2:0:0 -- Libevent 2.0.1-alpha.
|
|
VERSION_INFO = 2:0:0
|
|
|
|
bin_SCRIPTS = event_rpcgen.py
|
|
|
|
pkgconfigdir=$(libdir)/pkgconfig
|
|
pkgconfig_DATA=libevent.pc
|
|
|
|
EXTRA_DIST = \
|
|
LICENSE \
|
|
autogen.sh evdns.3 \
|
|
event.3 \
|
|
libevent.pc \
|
|
Doxyfile \
|
|
kqueue.c epoll_sub.c epoll.c select.c poll.c signal.c \
|
|
evport.c devpoll.c win32select.c event_rpcgen.py \
|
|
event_iocp.c buffer_iocp.c iocp-internal.h arc4random.c \
|
|
sample/Makefile.am sample/Makefile.in sample/event-test.c \
|
|
sample/signal-test.c sample/time-test.c \
|
|
test/Makefile.am test/Makefile.in test/bench.c test/regress.c \
|
|
test/test-eof.c test/test-weof.c test/test-time.c \
|
|
test/test-init.c test/test.sh \
|
|
compat/sys/queue.h \
|
|
evthread_win32.c \
|
|
evthread_pthread.c \
|
|
whatsnew-2.0.txt \
|
|
bufferevent_async.c \
|
|
WIN32-Code/event-config.h \
|
|
WIN32-Code/tree.h \
|
|
Makefile.nmake test/Makefile.nmake
|
|
|
|
lib_LTLIBRARIES = libevent.la libevent_core.la libevent_extra.la
|
|
if PTHREADS
|
|
lib_LTLIBRARIES += libevent_pthreads.la
|
|
endif
|
|
if OPENSSL
|
|
lib_LTLIBRARIES += libevent_openssl.la
|
|
endif
|
|
|
|
SUBDIRS = . include sample test
|
|
|
|
if BUILD_WIN32
|
|
|
|
SYS_LIBS = -lws2_32
|
|
SYS_SRC = win32select.c evthread_win32.c buffer_iocp.c event_iocp.c \
|
|
bufferevent_async.c
|
|
SYS_INCLUDES = -IWIN32-Code
|
|
|
|
else
|
|
|
|
SYS_LIBS =
|
|
SYS_SRC =
|
|
SYS_INCLUDES =
|
|
|
|
endif
|
|
|
|
BUILT_SOURCES = event-config.h
|
|
|
|
event-config.h: config.h
|
|
echo '/* event-config.h' > $@
|
|
echo ' *' >> $@
|
|
echo ' * This file was generated by autoconf when libevent was built, and post-' >> $@
|
|
echo ' * processed by Libevent so that its macros would have a uniform prefix.' >> $@
|
|
echo ' *' >> $@
|
|
echo ' * DO NOT EDIT THIS FILE.' >> $@
|
|
echo ' *' >> $@
|
|
echo ' * Do not rely on macros in this file existing in later versions.'>> $@
|
|
echo ' */' >> $@
|
|
echo '#ifndef _EVENT_CONFIG_H_' >> $@
|
|
echo '#define _EVENT_CONFIG_H_' >> $@
|
|
|
|
sed -e 's/#define /#define _EVENT_/' \
|
|
-e 's/#undef /#undef _EVENT_/' \
|
|
-e 's/#ifndef /#ifndef _EVENT_/' < config.h >> $@
|
|
echo "#endif" >> $@
|
|
|
|
CORE_SRC = event.c evthread.c buffer.c \
|
|
bufferevent.c bufferevent_sock.c bufferevent_filter.c \
|
|
bufferevent_pair.c listener.c bufferevent_ratelim.c \
|
|
evmap.c log.c evutil.c evutil_rand.c strlcpy.c $(SYS_SRC)
|
|
EXTRA_SRC = event_tagging.c http.c evdns.c evrpc.c
|
|
|
|
|
|
libevent_la_SOURCES = $(CORE_SRC) $(EXTRA_SRC)
|
|
libevent_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS)
|
|
libevent_la_LDFLAGS = -version-info $(VERSION_INFO)
|
|
|
|
libevent_core_la_SOURCES = $(CORE_SRC)
|
|
libevent_core_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS)
|
|
libevent_core_la_LDFLAGS = -version-info $(VERSION_INFO)
|
|
|
|
if PTHREADS
|
|
libevent_pthreads_la_SOURCES = evthread_pthread.c
|
|
endif
|
|
|
|
libevent_extra_la_SOURCES = $(EXTRA_SRC)
|
|
libevent_extra_la_LIBADD =
|
|
libevent_extra_la_LDFLAGS = -version-info $(VERSION_INFO)
|
|
|
|
if OPENSSL
|
|
libevent_openssl_la_SOURCES = bufferevent_openssl.c
|
|
libevent_openssl_la_LIBADD = -lcrypto -lssl
|
|
libevent_openssl_la_LDFLAGS = -release $(RELEASE) -version-info $(VERSION_INFO)
|
|
endif
|
|
|
|
noinst_HEADERS = util-internal.h mm-internal.h ipv6-internal.h \
|
|
evrpc-internal.h strlcpy-internal.h evbuffer-internal.h \
|
|
bufferevent-internal.h http-internal.h event-internal.h \
|
|
evthread-internal.h ht-internal.h defer-internal.h \
|
|
minheap-internal.h log-internal.h evsignal-internal.h evmap-internal.h \
|
|
changelist-internal.h \
|
|
ratelim-internal.h
|
|
|
|
include_HEADERS = event.h evhttp.h evdns.h evrpc.h evutil.h
|
|
|
|
nodist_include_HEADERS = event-config.h
|
|
|
|
INCLUDES = -I$(srcdir)/compat -I$(srcdir)/include $(SYS_INCLUDES)
|
|
|
|
man_MANS = event.3 evdns.3
|
|
|
|
verify: libevent.la
|
|
cd test && make verify
|
|
|
|
doxygen: FORCE
|
|
doxygen $(srcdir)/Doxyfile
|
|
FORCE:
|
|
|
|
DISTCLEANFILES = *~ event-config.h libevent.pc
|