mirror of
https://github.com/libevent/libevent.git
synced 2025-01-31 09:12:55 +08:00
f74e7258fd
This is one of those patches which will either make matters far simpler after the bugs shake out, or will get reverted pretty quick once we realize that it is a stupid idea. We now post-process the config.h file into a new event-config.h file, whose macros are prefixed with _EVENT_ and which is thus safe for headers to include. Using this, we can define replacement timeval manipulation functions in evutil.h, and use them uniformly through our code. We can also detect which headers are needful in event.h, and include them as required. This is also the perfect time to remove the long-deprecated acconfig.h file, so that autoheader no longer warns. Should resolve the following issues: [ 1826530 ] Header files should have access to autoconf output. [ 1826545 ] acconfig.h is deprecated. [ 1826564 ] On some platforms, event.h can't be included alone. svn:r492
114 lines
3.6 KiB
Makefile
114 lines
3.6 KiB
Makefile
AUTOMAKE_OPTIONS = foreign no-dependencies
|
|
|
|
# This is the point release for libevent. It shouldn't include any
|
|
# a/b/c/d/e notations.
|
|
RELEASE = 1.4
|
|
|
|
# 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.
|
|
VERSION_INFO = 2:0:0
|
|
|
|
bin_SCRIPTS = event_rpcgen.py
|
|
|
|
EXTRA_DIST = acconfig.h event.h event-internal.h log.h evsignal.h evdns.3 \
|
|
evrpc.h evrpc-internal.h min_heap.h \
|
|
event.3 \
|
|
kqueue.c epoll_sub.c epoll.c select.c poll.c signal.c \
|
|
evport.c devpoll.c event_rpcgen.py \
|
|
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 compat/sys/_time.h \
|
|
WIN32-Code/config.h WIN32-Code/misc.c \
|
|
WIN32-Code/win32.c WIN32-Code/misc.h \
|
|
WIN32-Prj/event_test/event_test.dsp \
|
|
WIN32-Prj/event_test/test.txt WIN32-Prj/libevent.dsp \
|
|
WIN32-Prj/libevent.dsw WIN32-Prj/signal_test/signal_test.dsp \
|
|
WIN32-Prj/time_test/time_test.dsp
|
|
|
|
lib_LTLIBRARIES = libevent.la libevent_core.la libevent_extra.la
|
|
|
|
if BUILD_WIN32
|
|
|
|
SUBDIRS = . sample
|
|
SYS_LIBS = -lws2_32
|
|
SYS_SRC = WIN32-Code/misc.c WIN32-Code/win32.c
|
|
SYS_INCLUDES = -IWIN32-Code
|
|
|
|
else
|
|
|
|
SUBDIRS = . sample test
|
|
SYS_LIBS =
|
|
SYS_SRC =
|
|
SYS_INCLUDES =
|
|
|
|
endif
|
|
|
|
BUILT_SOURCES = event-config.h
|
|
|
|
event-config.h: config.h
|
|
echo '/* event-config.h' > $@
|
|
echo ' * Generated by autoconf; post-processed by libevent.' >> $@
|
|
echo ' * Do not edit this file.' >> $@
|
|
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 buffer.c evbuffer.c log.c evutil.c $(SYS_SRC)
|
|
EXTRA_SRC = event_tagging.c http.c evhttp.h http-internal.h evdns.c \
|
|
evdns.h evrpc.c evrpc.h evrpc-internal.h \
|
|
strlcpy.c strlcpy-internal.h strlcpy-internal.h
|
|
|
|
libevent_la_SOURCES = $(CORE_SRC) $(EXTRA_SRC)
|
|
libevent_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS)
|
|
libevent_la_LDFLAGS = -release $(RELEASE) -version-info $(VERSION_INFO)
|
|
|
|
libevent_core_la_SOURCES = $(CORE_SRC)
|
|
libevent_core_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS)
|
|
libevent_core_la_LDFLAGS = -release $(RELEASE) -version-info $(VERSION_INFO)
|
|
|
|
libevent_extra_la_SOURCES = $(EXTRA_SRC)
|
|
libevent_extra_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS)
|
|
libevent_extra_la_LDFLAGS = -release $(RELEASE) -version-info $(VERSION_INFO)
|
|
|
|
include_HEADERS = event.h evhttp.h evdns.h evrpc.h evutil.h event-config.h
|
|
|
|
INCLUDES = -I$(srcdir)/compat $(SYS_INCLUDES)
|
|
|
|
man_MANS = event.3 evdns.3
|
|
|
|
verify: libevent.la
|
|
cd test && make verify
|
|
|
|
doxygen: FORCE
|
|
doxygen $(srcdir)/Doxyfile
|
|
FORCE:
|
|
|
|
DISTCLEANFILES = *~
|