Index: libevent/configure.in =================================================================== --- libevent/configure.in (revision 456) +++ libevent/configure.in (working copy) @@ -12,6 +12,14 @@ fi dnl Checks for programs. +AC_DEFUN([AC_PROG_F77], [:]) +AC_DEFUN([AC_PROG_FC], [:]) +AC_DEFUN([AC_PROG_CXX], [:]) +AC_DEFUN([AC_PROG_CXXCPP], [:]) +AC_DEFUN([AC_PROG_OBJC], [:]) +AC_DEFUN([AC_PROG_OBJCCPP], [:]) +AC_DEFUN([AC_LIBTOOL_CXX], [:]) +AC_DEFUN([AC_LIBTOOL_F77], [:]) AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S @@ -30,10 +38,21 @@ AC_SUBST(LIBTOOL_DEPS) dnl Check for optional stuff -AC_ARG_WITH(rtsig, - [ --with-rtsig compile with support for real time signals (experimental)], - [usertsig=yes], [usertsig=no]) +AC_DEFUN([ARG_ENABLE], + [AC_ARG_ENABLE([$1], + [AS_HELP_STRING([--enable-$1], [build with support for $3 @<:@default=$2@:>@])], + [use[]$1=$enableval], [use[]$1=$2])]) +AC_DEFUN([ARG_WITH], + [AC_ARG_WITH([$1], + [AS_HELP_STRING([--with-$1], [build with support for $3 @<:@default=$2@:>@])], + [use[]$1=$enableval], [use[]$1=$2])]) + +ARG_ENABLE([dns], [yes], [dns layer]) +ARG_ENABLE([http], [yes], [http layer]) +ARG_ENABLE([bevents], [yes], [buffer events]) +ARG_WITH([rtsig], [no], [real time signals (experimental)]) + dnl Checks for libraries. AC_CHECK_LIB(socket, socket) AC_CHECK_LIB(resolv, inet_aton) @@ -127,8 +146,17 @@ bwin32=false; AC_MSG_RESULT(no), ) -AM_CONDITIONAL(BUILD_WIN32, test x$bwin32 = xtrue) +AC_DEFUN([BUILD_CHECK], + [ AM_CONDITIONAL(BUILD_[]$1, test x$[]$2 = x[]$3) + if test x$[]$2 = x[]$3; then + AC_DEFINE(HAVE_[]$1, 1, [Define if $4]) + fi ]) +BUILD_CHECK([WIN32], [bwin32], [true], [win32 support is enabled]) +BUILD_CHECK([EVENT_DNS], [usedns], [yes], [dns support is enabled]) +BUILD_CHECK([EVENT_HTTP], [usehttp], [yes], [http support is enabled]) +BUILD_CHECK([EVENT_BEVENTS], [usebevents], [yes], [buffer events support is enabled]) + dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE Index: libevent/Makefile.am =================================================================== --- libevent/Makefile.am (revision 456) +++ libevent/Makefile.am (working copy) @@ -39,16 +39,44 @@ endif -libevent_la_SOURCES = event.c buffer.c evbuffer.c log.c event_tagging.c \ - http.c evhttp.h http-internal.h evdns.c evdns.h evrpc.c evutil.c \ - strlcpy.c \ - strlcpy-internal.h evrpc.h evrpc-internal.h strlcpy-internal.h \ - $(SYS_SRC) +if BUILD_EVENT_HTTP +HTTP_SRC = http.c evrpc.c +HTTP_INCLUDES = evhttp.h evrpc.h +HTTP_INCLUDES_INT = http-internal.h evrpc-internal.h +endif + +if BUILD_EVENT_DNS +DNS_SRC = evdns.c +DNS_INCLUDES = evdns.h +endif + +if BUILD_EVENT_BEVENTS +BEVENTS_SRC = buffer.c evbuffer.c event_tagging.c +BEVENTS_INCLUDES = +endif + +EVENT_SRC = event.c log.c evutil.c strlcpy.c +EVENT_INCLUDES = event.h +EVENT_INCLUDES_INT = event-internal.h strlcpy-internal.h evutil.h + +include_HEADERS = \ + $(HTTP_INCLUDES) \ + $(DNS_INCLUDES) \ + $(BEVENTS_INCLUDES) \ + $(EVENT_INCLUDES) + +libevent_la_SOURCES = \ + $(HTTP_SRC) \ + $(DNS_SRC) \ + $(BEVENTS_SRC) \ + $(SYS_SRC) \ + $(EVENT_SRC) \ + $(EVENT_INCLUDES_INT) \ + $(HTTP_INCLUDES_INT) \ + $(include_HEADERS) libevent_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS) libevent_la_LDFLAGS = -release @VERSION@ -version-info 1:3:0 -include_HEADERS = event.h evhttp.h evdns.h evrpc.h evutil.h - INCLUDES = -I$(srcdir)/compat $(SYS_INCLUDES) man_MANS = event.3 evdns.3