xref: /libevent-2.1.12/configure.ac (revision 2cfa7ff7)
1b3fea673SRoss Lagerwalldnl Copyright 2000-2007 Niels Provos
2b3fea673SRoss Lagerwalldnl Copyright 2007-2012 Niels Provos and Nick Mathewson
3b3fea673SRoss Lagerwalldnl
4b3fea673SRoss Lagerwalldnl See LICENSE for copying information.
5b3fea673SRoss Lagerwalldnl
6b3fea673SRoss Lagerwalldnl Original version Dug Song <[email protected]>
7b3fea673SRoss Lagerwall
8*2cfa7ff7SAzat KhuzhinAC_INIT(libevent,2.1.12-stable)
9fdb8fb66Sygj6AC_PREREQ(2.67)
10b3fea673SRoss LagerwallAC_CONFIG_SRCDIR(event.c)
11b3fea673SRoss Lagerwall
12b3fea673SRoss LagerwallAC_CONFIG_MACRO_DIR([m4])
1345da7d9dSyuangongjiAC_CONFIG_AUX_DIR([build-aux])
14a7513cc9SAzat KhuzhinAM_INIT_AUTOMAKE
15b3fea673SRoss Lagerwalldnl AM_SILENT_RULES req. automake 1.11.  [no] defaults V=1
1645da7d9dSyuangongjiAM_SILENT_RULES([yes])
17ebf278b2SNick MathewsonAC_CONFIG_HEADERS(config.h  evconfig-private.h:evconfig-private.h.in)
18*2cfa7ff7SAzat KhuzhinAC_DEFINE(NUMERIC_VERSION, 0x02010c00, [Numeric representation of the version])
19b3fea673SRoss Lagerwall
20b3fea673SRoss Lagerwalldnl Initialize prefix.
2145da7d9dSyuangongjiAC_PREFIX_DEFAULT([/usr/local])
22b3fea673SRoss Lagerwall
23b3fea673SRoss Lagerwalldnl Try and get a full POSIX environment on obscure systems
24b3fea673SRoss LagerwallAC_USE_SYSTEM_EXTENSIONS
25b3fea673SRoss Lagerwall
26b3fea673SRoss LagerwallAC_CANONICAL_BUILD
27b3fea673SRoss LagerwallAC_CANONICAL_HOST
28b3fea673SRoss Lagerwalldnl the 'build' machine is where we run configure and compile
29b3fea673SRoss Lagerwalldnl the 'host' machine is where the resulting stuff runs.
30b3fea673SRoss Lagerwall
31b3fea673SRoss Lagerwall#case "$host_os" in
32b3fea673SRoss Lagerwall#
33b3fea673SRoss Lagerwall# osf5*)
34b3fea673SRoss Lagerwall#    CFLAGS="$CFLAGS -D_OSF_SOURCE"
35b3fea673SRoss Lagerwall#    ;;
36b3fea673SRoss Lagerwall#esac
37b3fea673SRoss Lagerwall
38b3fea673SRoss Lagerwalldnl Checks for programs.
39b3fea673SRoss LagerwallAM_PROG_CC_C_O
40b3fea673SRoss LagerwallAC_PROG_INSTALL
41b3fea673SRoss LagerwallAC_PROG_LN_S
42b3fea673SRoss Lagerwall# AC_PROG_MKDIR_P - $(MKDIR_P) should be defined by AM_INIT_AUTOMAKE
43b3fea673SRoss Lagerwall
4445da7d9dSyuangongjiAC_PROG_SED
450c79787aSNick Mathewson
46b3fea673SRoss LagerwallAC_PROG_GCC_TRADITIONAL
47b3fea673SRoss Lagerwall
48b3fea673SRoss Lagerwall# We need to test for at least gcc 2.95 here, because older versions don't
49b3fea673SRoss Lagerwall# have -fno-strict-aliasing
50b3fea673SRoss LagerwallAC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
51b3fea673SRoss Lagerwall#if !defined(__GNUC__) || (__GNUC__ < 2) || (__GNUC__ == 2 && __GNUC_MINOR__ < 95)
52b3fea673SRoss Lagerwall#error
53b3fea673SRoss Lagerwall#endif])], have_gcc295=yes, have_gcc295=no)
54b3fea673SRoss Lagerwall
55b3fea673SRoss Lagerwallif test "$GCC" = "yes" ; then
56b3fea673SRoss Lagerwall        # Enable many gcc warnings by default...
57b3fea673SRoss Lagerwall        CFLAGS="$CFLAGS -Wall"
58b3fea673SRoss Lagerwall	# And disable the strict-aliasing optimization, since it breaks
59b3fea673SRoss Lagerwall	# our sockaddr-handling code in strange ways.
60b3fea673SRoss Lagerwall	if test x$have_gcc295 = xyes; then
61b3fea673SRoss Lagerwall		CFLAGS="$CFLAGS -fno-strict-aliasing"
62b3fea673SRoss Lagerwall	fi
63b3fea673SRoss Lagerwallfi
64b3fea673SRoss Lagerwall
65b3fea673SRoss Lagerwall# OS X Lion started deprecating the system openssl. Let's just disable
66b5ca3656SRainer Keller# all deprecation warnings on OS X; but do so only for gcc...
67b5ca3656SRainer Kellerif test "$GCC" = "yes" ; then
68b3fea673SRoss Lagerwall	case "$host_os" in
69b3fea673SRoss Lagerwall	 darwin*)
70b3fea673SRoss Lagerwall	    CFLAGS="$CFLAGS -Wno-deprecated-declarations"
71b3fea673SRoss Lagerwall	    ;;
72b3fea673SRoss Lagerwall	esac
73b5ca3656SRainer Kellerfi
74b3fea673SRoss Lagerwall
75b3fea673SRoss LagerwallAC_ARG_ENABLE(gcc-warnings,
76b3fea673SRoss Lagerwall     AS_HELP_STRING(--disable-gcc-warnings, disable verbose warnings with GCC))
77b3fea673SRoss Lagerwall
78b3fea673SRoss LagerwallAC_ARG_ENABLE(gcc-hardening,
79b3fea673SRoss Lagerwall     AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks),
80b3fea673SRoss Lagerwall[if test x$enableval = xyes; then
81b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector-all"
82b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector"
83b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS --param ssp-buffer-size=1"
84b3fea673SRoss Lagerwallfi])
85b3fea673SRoss Lagerwall
86b3fea673SRoss LagerwallAC_ARG_ENABLE(thread-support,
87b3fea673SRoss Lagerwall     AS_HELP_STRING(--disable-thread-support, disable support for threading),
88b3fea673SRoss Lagerwall	[], [enable_thread_support=yes])
89b3fea673SRoss LagerwallAC_ARG_ENABLE(malloc-replacement,
90b3fea673SRoss Lagerwall     AS_HELP_STRING(--disable-malloc-replacement, disable support for replacing the memory mgt functions),
91b3fea673SRoss Lagerwall        [], [enable_malloc_replacement=yes])
92b3fea673SRoss LagerwallAC_ARG_ENABLE(openssl,
93b3fea673SRoss Lagerwall     AS_HELP_STRING(--disable-openssl, disable support for openssl encryption),
94b3fea673SRoss Lagerwall        [], [enable_openssl=yes])
95b3fea673SRoss LagerwallAC_ARG_ENABLE(debug-mode,
96b3fea673SRoss Lagerwall     AS_HELP_STRING(--disable-debug-mode, disable support for running in debug mode),
97b3fea673SRoss Lagerwall        [], [enable_debug_mode=yes])
98b3fea673SRoss LagerwallAC_ARG_ENABLE([libevent-install],
99b3fea673SRoss Lagerwall     AS_HELP_STRING([--disable-libevent-install, disable installation of libevent]),
100b3fea673SRoss Lagerwall	[], [enable_libevent_install=yes])
101b3fea673SRoss LagerwallAC_ARG_ENABLE([libevent-regress],
102b3fea673SRoss Lagerwall     AS_HELP_STRING([--disable-libevent-regress, skip regress in make check]),
103b3fea673SRoss Lagerwall	[], [enable_libevent_regress=yes])
1040c492b33SMike FrysingerAC_ARG_ENABLE([samples],
1050c492b33SMike Frysinger     AS_HELP_STRING([--disable-samples, skip building of sample programs]),
1060c492b33SMike Frysinger	[], [enable_samples=yes])
107b3fea673SRoss LagerwallAC_ARG_ENABLE([function-sections],
108b3fea673SRoss Lagerwall     AS_HELP_STRING([--enable-function-sections, make static library allow smaller binaries with --gc-sections]),
109b3fea673SRoss Lagerwall	[], [enable_function_sections=no])
110b3fea673SRoss LagerwallAC_ARG_ENABLE([verbose-debug],
111b3fea673SRoss Lagerwall		AS_HELP_STRING([--enable-verbose-debug, verbose debug logging]),
112b3fea673SRoss Lagerwall	[], [enable_verbose_debug=no])
113adc402baSVlad ShcherbanAC_ARG_ENABLE([clock-gettime],
114adc402baSVlad Shcherban     AS_HELP_STRING(--disable-clock-gettime, do not use clock_gettime even if it is available),
115adc402baSVlad Shcherban  [], [enable_clock_gettime=yes])
116b3fea673SRoss Lagerwall
117b3fea673SRoss Lagerwall
118fdb8fb66Sygj6LT_PREREQ([2.4.2])
119fdb8fb66Sygj6LT_INIT
120b3fea673SRoss Lagerwall
12109098f70SPatrick Pelletierdnl   Uncomment "AC_DISABLE_SHARED" to make shared libraries not get
122b3fea673SRoss Lagerwalldnl   built by default.  You can also turn shared libs on and off from
123b3fea673SRoss Lagerwalldnl   the command line with --enable-shared and --disable-shared.
124b3fea673SRoss Lagerwalldnl AC_DISABLE_SHARED
125b3fea673SRoss LagerwallAC_SUBST(LIBTOOL_DEPS)
126b3fea673SRoss Lagerwall
1270c492b33SMike FrysingerAM_CONDITIONAL([BUILD_SAMPLES], [test "$enable_samples" = "yes"])
128b3fea673SRoss LagerwallAM_CONDITIONAL([BUILD_REGRESS], [test "$enable_libevent_regress" = "yes"])
129b3fea673SRoss Lagerwall
130b3fea673SRoss Lagerwalldnl Checks for libraries.
131b3fea673SRoss LagerwallAC_SEARCH_LIBS([inet_ntoa], [nsl])
132b3fea673SRoss LagerwallAC_SEARCH_LIBS([socket], [socket])
133b3fea673SRoss LagerwallAC_SEARCH_LIBS([inet_aton], [resolv])
134adc402baSVlad Shcherbanif test "x$enable_clock_gettime" = "xyes"; then
135b3fea673SRoss Lagerwall  AC_SEARCH_LIBS([clock_gettime], [rt])
136adc402baSVlad Shcherban  AC_CHECK_FUNCS([clock_gettime])
137adc402baSVlad Shcherbanfi
138b3fea673SRoss LagerwallAC_SEARCH_LIBS([sendfile], [sendfile])
139b3fea673SRoss Lagerwall
140b3fea673SRoss Lagerwalldnl - check if the macro _WIN32 is defined on this compiler.
141b3fea673SRoss Lagerwalldnl - (this is how we check for a windows compiler)
142b3fea673SRoss LagerwallAC_MSG_CHECKING(for WIN32)
14345da7d9dSyuangongjiAC_COMPILE_IFELSE(
14445da7d9dSyuangongji  [AC_LANG_PROGRAM([],
145b3fea673SRoss Lagerwall    [
146b3fea673SRoss Lagerwall#ifndef _WIN32
147b3fea673SRoss Lagerwalldie horribly
148b3fea673SRoss Lagerwall#endif
14945da7d9dSyuangongji    ]
15045da7d9dSyuangongji  )],
15145da7d9dSyuangongji	[bwin32=true; AC_MSG_RESULT(yes)],
15245da7d9dSyuangongji	[bwin32=false; AC_MSG_RESULT(no)]
153b3fea673SRoss Lagerwall)
154b3fea673SRoss Lagerwall
155d433201eSRedfoxmoondnl - check if the macro __midipix__ is defined on this compiler.
156d433201eSRedfoxmoondnl - (this is how we check for a midipix version of GCC)
157d433201eSRedfoxmoonAC_MSG_CHECKING(for MIDIPIX)
15845da7d9dSyuangongjiAC_COMPILE_IFELSE(
15945da7d9dSyuangongji  [AC_LANG_PROGRAM([],
160d433201eSRedfoxmoon    [
161d433201eSRedfoxmoon#ifndef __midipix__
162d433201eSRedfoxmoondie horribly
163d433201eSRedfoxmoon#endif
16445da7d9dSyuangongji    ]
16545da7d9dSyuangongji  )],
16645da7d9dSyuangongji	[midipix=true; AC_MSG_RESULT(yes)],
16745da7d9dSyuangongji	[midipix=false; AC_MSG_RESULT(no)]
168d433201eSRedfoxmoon)
169d433201eSRedfoxmoon
170b3fea673SRoss Lagerwalldnl - check if the macro __CYGWIN__ is defined on this compiler.
171b3fea673SRoss Lagerwalldnl - (this is how we check for a cygwin version of GCC)
172b3fea673SRoss LagerwallAC_MSG_CHECKING(for CYGWIN)
17345da7d9dSyuangongjiAC_COMPILE_IFELSE(
17445da7d9dSyuangongji  [AC_LANG_PROGRAM([],
175b3fea673SRoss Lagerwall    [
176b3fea673SRoss Lagerwall#ifndef __CYGWIN__
177b3fea673SRoss Lagerwalldie horribly
178b3fea673SRoss Lagerwall#endif
17945da7d9dSyuangongji    ]
18045da7d9dSyuangongji  )],
18145da7d9dSyuangongji	[cygwin=true; AC_MSG_RESULT(yes)],
18245da7d9dSyuangongji	[cygwin=false; AC_MSG_RESULT(no)]
183b3fea673SRoss Lagerwall)
184b3fea673SRoss Lagerwall
185b3fea673SRoss LagerwallAC_CHECK_HEADERS([zlib.h])
186b3fea673SRoss Lagerwall
187b3fea673SRoss Lagerwallif test "x$ac_cv_header_zlib_h" = "xyes"; then
188b3fea673SRoss Lagerwalldnl Determine if we have zlib for regression tests
189b3fea673SRoss Lagerwalldnl Don't put this one in LIBS
190b3fea673SRoss Lagerwallsave_LIBS="$LIBS"
191b3fea673SRoss LagerwallLIBS=""
192b3fea673SRoss LagerwallZLIB_LIBS=""
193b3fea673SRoss Lagerwallhave_zlib=no
194b3fea673SRoss LagerwallAC_SEARCH_LIBS([inflateEnd], [z],
195b3fea673SRoss Lagerwall	[have_zlib=yes
196b3fea673SRoss Lagerwall	ZLIB_LIBS="$LIBS"
197b3fea673SRoss Lagerwall	AC_DEFINE(HAVE_LIBZ, 1, [Define if the system has zlib])])
198b3fea673SRoss LagerwallLIBS="$save_LIBS"
199b3fea673SRoss LagerwallAC_SUBST(ZLIB_LIBS)
200b3fea673SRoss Lagerwallfi
201b3fea673SRoss LagerwallAM_CONDITIONAL(ZLIB_REGRESS, [test "$have_zlib" = "yes"])
202b3fea673SRoss Lagerwall
203b3fea673SRoss Lagerwalldnl See if we have openssl.  This doesn't go in LIBS either.
204b3fea673SRoss Lagerwallif test "$bwin32" = true; then
205b3fea673SRoss Lagerwall  EV_LIB_WS32=-lws2_32
206b3fea673SRoss Lagerwall  EV_LIB_GDI=-lgdi32
207b3fea673SRoss Lagerwallelse
208b3fea673SRoss Lagerwall  EV_LIB_WS32=
209b3fea673SRoss Lagerwall  EV_LIB_GDI=
210b3fea673SRoss Lagerwallfi
211b3fea673SRoss LagerwallAC_SUBST(EV_LIB_WS32)
212b3fea673SRoss LagerwallAC_SUBST(EV_LIB_GDI)
213b3fea673SRoss LagerwallAC_SUBST(OPENSSL_LIBADD)
214b3fea673SRoss Lagerwall
215b3fea673SRoss LagerwallAC_SYS_LARGEFILE
216b3fea673SRoss Lagerwall
217b3fea673SRoss LagerwallLIBEVENT_OPENSSL
218b3fea673SRoss Lagerwall
219b3fea673SRoss Lagerwalldnl Checks for header files.
220b3fea673SRoss LagerwallAC_CHECK_HEADERS([ \
221b3fea673SRoss Lagerwall  arpa/inet.h \
222b3fea673SRoss Lagerwall  fcntl.h \
223b3fea673SRoss Lagerwall  ifaddrs.h \
224b3fea673SRoss Lagerwall  mach/mach_time.h \
225e85afbe3SAzat Khuzhin  mach/mach.h \
226b3fea673SRoss Lagerwall  netdb.h \
227b3fea673SRoss Lagerwall  netinet/in.h \
228b3fea673SRoss Lagerwall  netinet/in6.h \
229b3fea673SRoss Lagerwall  netinet/tcp.h \
2307c4da937SAzat Khuzhin  sys/un.h \
231b3fea673SRoss Lagerwall  poll.h \
232b3fea673SRoss Lagerwall  port.h \
233b3fea673SRoss Lagerwall  stdarg.h \
234b3fea673SRoss Lagerwall  stddef.h \
235b3fea673SRoss Lagerwall  sys/devpoll.h \
236b3fea673SRoss Lagerwall  sys/epoll.h \
237b3fea673SRoss Lagerwall  sys/event.h \
238b3fea673SRoss Lagerwall  sys/eventfd.h \
239b3fea673SRoss Lagerwall  sys/ioctl.h \
240b3fea673SRoss Lagerwall  sys/mman.h \
241b3fea673SRoss Lagerwall  sys/param.h \
242b3fea673SRoss Lagerwall  sys/queue.h \
243b3fea673SRoss Lagerwall  sys/resource.h \
244b3fea673SRoss Lagerwall  sys/select.h \
245b3fea673SRoss Lagerwall  sys/sendfile.h \
246b3fea673SRoss Lagerwall  sys/socket.h \
247b3fea673SRoss Lagerwall  sys/stat.h \
248b3fea673SRoss Lagerwall  sys/time.h \
249b3fea673SRoss Lagerwall  sys/timerfd.h \
250b3fea673SRoss Lagerwall  sys/uio.h \
251b3fea673SRoss Lagerwall  sys/wait.h \
25266ec78fdSAzat Khuzhin  sys/random.h \
25330316177SMark Ellzey  errno.h \
254b9bf7fa7Syuangongji  afunix.h \
255b3fea673SRoss Lagerwall])
256b3fea673SRoss Lagerwall
257d2871a37SAzat Khuzhincase "${host_os}" in
258d2871a37SAzat Khuzhin    linux*) ;;
259d2871a37SAzat Khuzhin    *)
260b3fea673SRoss Lagerwall        AC_CHECK_HEADERS(sys/sysctl.h, [], [], [
261b3fea673SRoss Lagerwall        #ifdef HAVE_SYS_PARAM_H
262b3fea673SRoss Lagerwall        #include <sys/param.h>
263b3fea673SRoss Lagerwall        #endif
264b3fea673SRoss Lagerwall        ])
265d2871a37SAzat Khuzhinesac
26666ec78fdSAzat Khuzhin
267b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_queue_h" = "xyes"; then
268b3fea673SRoss Lagerwall	AC_MSG_CHECKING(for TAILQ_FOREACH in sys/queue.h)
269b3fea673SRoss Lagerwall	AC_EGREP_CPP(yes,
270b3fea673SRoss Lagerwall[
271b3fea673SRoss Lagerwall#include <sys/queue.h>
272b3fea673SRoss Lagerwall#ifdef TAILQ_FOREACH
273b3fea673SRoss Lagerwall yes
274b3fea673SRoss Lagerwall#endif
275b3fea673SRoss Lagerwall],	[AC_MSG_RESULT(yes)
276b3fea673SRoss Lagerwall	 AC_DEFINE(HAVE_TAILQFOREACH, 1,
277b3fea673SRoss Lagerwall		[Define if TAILQ_FOREACH is defined in <sys/queue.h>])],
278b3fea673SRoss Lagerwall	AC_MSG_RESULT(no)
279b3fea673SRoss Lagerwall	)
280b3fea673SRoss Lagerwallfi
281b3fea673SRoss Lagerwall
282b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_time_h" = "xyes"; then
283b3fea673SRoss Lagerwall	AC_MSG_CHECKING(for timeradd in sys/time.h)
284b3fea673SRoss Lagerwall	AC_EGREP_CPP(yes,
285b3fea673SRoss Lagerwall[
286b3fea673SRoss Lagerwall#include <sys/time.h>
287b3fea673SRoss Lagerwall#ifdef timeradd
288b3fea673SRoss Lagerwall yes
289b3fea673SRoss Lagerwall#endif
290b3fea673SRoss Lagerwall],	[ AC_DEFINE(HAVE_TIMERADD, 1,
291b3fea673SRoss Lagerwall		[Define if timeradd is defined in <sys/time.h>])
292b3fea673SRoss Lagerwall	  AC_MSG_RESULT(yes)] ,AC_MSG_RESULT(no)
293b3fea673SRoss Lagerwall)
294b3fea673SRoss Lagerwallfi
295b3fea673SRoss Lagerwall
296b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_time_h" = "xyes"; then
297b3fea673SRoss Lagerwall	AC_MSG_CHECKING(for timercmp in sys/time.h)
298b3fea673SRoss Lagerwall	AC_EGREP_CPP(yes,
299b3fea673SRoss Lagerwall[
300b3fea673SRoss Lagerwall#include <sys/time.h>
301b3fea673SRoss Lagerwall#ifdef timercmp
302b3fea673SRoss Lagerwall yes
303b3fea673SRoss Lagerwall#endif
304b3fea673SRoss Lagerwall],	[ AC_DEFINE(HAVE_TIMERCMP, 1,
305b3fea673SRoss Lagerwall		[Define if timercmp is defined in <sys/time.h>])
306b3fea673SRoss Lagerwall	  AC_MSG_RESULT(yes)] ,AC_MSG_RESULT(no)
307b3fea673SRoss Lagerwall)
308b3fea673SRoss Lagerwallfi
309b3fea673SRoss Lagerwall
310b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_time_h" = "xyes"; then
311b3fea673SRoss Lagerwall	AC_MSG_CHECKING(for timerclear in sys/time.h)
312b3fea673SRoss Lagerwall	AC_EGREP_CPP(yes,
313b3fea673SRoss Lagerwall[
314b3fea673SRoss Lagerwall#include <sys/time.h>
315b3fea673SRoss Lagerwall#ifdef timerclear
316b3fea673SRoss Lagerwall yes
317b3fea673SRoss Lagerwall#endif
318b3fea673SRoss Lagerwall],	[ AC_DEFINE(HAVE_TIMERCLEAR, 1,
319b3fea673SRoss Lagerwall		[Define if timerclear is defined in <sys/time.h>])
320b3fea673SRoss Lagerwall	  AC_MSG_RESULT(yes)] ,AC_MSG_RESULT(no)
321b3fea673SRoss Lagerwall)
322b3fea673SRoss Lagerwallfi
323b3fea673SRoss Lagerwall
324b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_time_h" = "xyes"; then
325b3fea673SRoss Lagerwall	AC_MSG_CHECKING(for timerisset in sys/time.h)
326b3fea673SRoss Lagerwall	AC_EGREP_CPP(yes,
327b3fea673SRoss Lagerwall[
328b3fea673SRoss Lagerwall#include <sys/time.h>
329b3fea673SRoss Lagerwall#ifdef timerisset
330b3fea673SRoss Lagerwall yes
331b3fea673SRoss Lagerwall#endif
332b3fea673SRoss Lagerwall],	[ AC_DEFINE(HAVE_TIMERISSET, 1,
333b3fea673SRoss Lagerwall		[Define if timerisset is defined in <sys/time.h>])
334b3fea673SRoss Lagerwall	  AC_MSG_RESULT(yes)] ,AC_MSG_RESULT(no)
335b3fea673SRoss Lagerwall)
336b3fea673SRoss Lagerwallfi
337b3fea673SRoss Lagerwall
338b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_sysctl_h" = "xyes"; then
33966ec78fdSAzat Khuzhin	AC_CHECK_DECLS([CTL_KERN, KERN_ARND], [], [],
340b3fea673SRoss Lagerwall	   [[#include <sys/types.h>
341b3fea673SRoss Lagerwall	     #include <sys/sysctl.h>]]
342b3fea673SRoss Lagerwall	)
343b3fea673SRoss Lagerwallfi
344b3fea673SRoss Lagerwall
345b3fea673SRoss LagerwallAM_CONDITIONAL(BUILD_WIN32, test x$bwin32 = xtrue)
346b3fea673SRoss LagerwallAM_CONDITIONAL(BUILD_CYGWIN, test x$cygwin = xtrue)
347d433201eSRedfoxmoonAM_CONDITIONAL(BUILD_MIDIPIX, test x$midipix = xtrue)
348d433201eSRedfoxmoonAM_CONDITIONAL(BUILD_WITH_NO_UNDEFINED, test x$bwin32 = xtrue || test x$cygwin = xtrue || test x$midipix = xtrue)
349b3fea673SRoss Lagerwall
350b3fea673SRoss Lagerwallif test x$bwin32 = xtrue; then
351b9bf7fa7Syuangongji  AC_HAVE_LIBRARY([ws2_32])
352b3fea673SRoss Lagerwallfi
353b3fea673SRoss Lagerwall
354b3fea673SRoss Lagerwalldnl Checks for typedefs, structures, and compiler characteristics.
355b3fea673SRoss LagerwallAC_C_CONST
356b3fea673SRoss LagerwallAC_C_INLINE
357b3fea673SRoss LagerwallAC_HEADER_TIME
358b3fea673SRoss Lagerwall
359b3fea673SRoss Lagerwalldnl Checks for library functions.
360b3fea673SRoss LagerwallAC_CHECK_FUNCS([ \
361b3fea673SRoss Lagerwall  accept4 \
362b3fea673SRoss Lagerwall  arc4random \
363b3fea673SRoss Lagerwall  arc4random_buf \
364a0bfe2c4SAzat Khuzhin  arc4random_addrandom \
365b3fea673SRoss Lagerwall  eventfd \
366b3fea673SRoss Lagerwall  epoll_create1 \
367b3fea673SRoss Lagerwall  fcntl \
368b3fea673SRoss Lagerwall  getegid \
369b3fea673SRoss Lagerwall  geteuid \
370b3fea673SRoss Lagerwall  getifaddrs \
371b3fea673SRoss Lagerwall  gettimeofday \
372b3fea673SRoss Lagerwall  issetugid \
373b3fea673SRoss Lagerwall  mach_absolute_time \
374b3fea673SRoss Lagerwall  mmap \
375b3fea673SRoss Lagerwall  nanosleep \
376b3fea673SRoss Lagerwall  pipe \
377b3fea673SRoss Lagerwall  pipe2 \
378b3fea673SRoss Lagerwall  putenv \
379b3fea673SRoss Lagerwall  sendfile \
380b3fea673SRoss Lagerwall  setenv \
381b3fea673SRoss Lagerwall  setrlimit \
382b3fea673SRoss Lagerwall  sigaction \
383b3fea673SRoss Lagerwall  signal \
384b3fea673SRoss Lagerwall  splice \
385b3fea673SRoss Lagerwall  strlcpy \
386b3fea673SRoss Lagerwall  strsep \
387b3fea673SRoss Lagerwall  strtok_r \
388b3fea673SRoss Lagerwall  strtoll \
389b3fea673SRoss Lagerwall  sysctl \
390b3fea673SRoss Lagerwall  timerfd_create \
391b3fea673SRoss Lagerwall  umask \
392b3fea673SRoss Lagerwall  unsetenv \
393b3fea673SRoss Lagerwall  usleep \
394b3fea673SRoss Lagerwall  vasprintf \
39566ec78fdSAzat Khuzhin  getrandom \
396b3fea673SRoss Lagerwall])
397f4a6152cSyuangongji
398b9bf7fa7SyuangongjiAS_IF([test x$bwin32 = xtrue],
399b9bf7fa7Syuangongji  AC_CHECK_FUNCS(_gmtime64_s, , [AC_CHECK_FUNCS(_gmtime64)])
400b9bf7fa7Syuangongji)
401f4a6152cSyuangongji
40249146200SNick MathewsonAM_CONDITIONAL(STRLCPY_IMPL, [test x"$ac_cv_func_strlcpy" = xno])
403b3fea673SRoss Lagerwall
404b9bf7fa7Syuangongjim4_define([funcstochk],
405b9bf7fa7Syuangongji  [getnameinfo
406b9bf7fa7Syuangongji  getprotobynumber
407b9bf7fa7Syuangongji  getservbyname
408b9bf7fa7Syuangongji  inet_ntop
409b9bf7fa7Syuangongji  inet_pton]
410b9bf7fa7Syuangongji)
411b9bf7fa7Syuangongji
412b9bf7fa7SyuangongjiAS_IF([test x$bwin32 = xtrue],
413b9bf7fa7Syuangongji  [AX_CHECK_DECLS_EX([funcstochk getaddrinfo],
414b9bf7fa7Syuangongji    [#ifdef _WIN32
415b9bf7fa7Syuangongji    #include <winsock2.h>
416b9bf7fa7Syuangongji    #include <ws2tcpip.h>
417b9bf7fa7Syuangongji    #endif])],
418b9bf7fa7Syuangongji  [AC_CHECK_FUNCS(m4_normalize(funcstochk))]
419b9bf7fa7Syuangongji)
420b9bf7fa7Syuangongji
421b9bf7fa7Syuangongjim4_undefine([funcstochk])
422b9bf7fa7Syuangongji
423b9bf7fa7Syuangongjidnl check getaddrinfo and gethostbyname_r for non-windows
424b9bf7fa7SyuangongjiAS_IF([test x$bwin32 = xfalse], [
425b3fea673SRoss LagerwallAC_CACHE_CHECK(
426b3fea673SRoss Lagerwall    [for getaddrinfo],
427b3fea673SRoss Lagerwall    [libevent_cv_getaddrinfo],
428b3fea673SRoss Lagerwall    [AC_LINK_IFELSE(
429b3fea673SRoss Lagerwall	[AC_LANG_PROGRAM(
430b3fea673SRoss Lagerwall	    [[
431b3fea673SRoss Lagerwall		#ifdef HAVE_NETDB_H
432b3fea673SRoss Lagerwall		#include <netdb.h>
433b3fea673SRoss Lagerwall		#endif
434b3fea673SRoss Lagerwall	    ]],
435b3fea673SRoss Lagerwall	    [[
436b3fea673SRoss Lagerwall		getaddrinfo;
437b3fea673SRoss Lagerwall	    ]]
438b3fea673SRoss Lagerwall	)],
439b3fea673SRoss Lagerwall	[libevent_cv_getaddrinfo=yes],
440b3fea673SRoss Lagerwall	[libevent_cv_getaddrinfo=no]
441b3fea673SRoss Lagerwall    )]
442b3fea673SRoss Lagerwall)
443b3fea673SRoss Lagerwallif test "$libevent_cv_getaddrinfo" = "yes" ; then
444b3fea673SRoss Lagerwall    AC_DEFINE([HAVE_GETADDRINFO], [1], [Do we have getaddrinfo()?])
445b3fea673SRoss Lagerwallelse
446b3fea673SRoss Lagerwall
447b3fea673SRoss Lagerwall# Check for gethostbyname_r in all its glorious incompatible versions.
448b3fea673SRoss Lagerwall#   (This is cut-and-pasted from Tor, which based its logic on
449b3fea673SRoss Lagerwall#   Python's configure.in.)
450b3fea673SRoss LagerwallAH_TEMPLATE(HAVE_GETHOSTBYNAME_R,
451b3fea673SRoss Lagerwall  [Define this if you have any gethostbyname_r()])
452b3fea673SRoss Lagerwall
453b3fea673SRoss LagerwallAC_CHECK_FUNC(gethostbyname_r, [
454b3fea673SRoss Lagerwall  AC_MSG_CHECKING([how many arguments gethostbyname_r() wants])
455b3fea673SRoss Lagerwall  OLD_CFLAGS=$CFLAGS
456b3fea673SRoss Lagerwall  CFLAGS="$CFLAGS $MY_CPPFLAGS $MY_THREAD_CPPFLAGS $MY_CFLAGS"
457b3fea673SRoss Lagerwall  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
458b3fea673SRoss Lagerwall#include <netdb.h>
459b3fea673SRoss Lagerwall  ], [[
460b3fea673SRoss Lagerwall    char *cp1, *cp2;
461b3fea673SRoss Lagerwall    struct hostent *h1, *h2;
462b3fea673SRoss Lagerwall    int i1, i2;
463b3fea673SRoss Lagerwall    (void)gethostbyname_r(cp1,h1,cp2,i1,&h2,&i2);
464b3fea673SRoss Lagerwall  ]])],[
465b3fea673SRoss Lagerwall    AC_DEFINE(HAVE_GETHOSTBYNAME_R)
466b3fea673SRoss Lagerwall    AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARG, 1,
467b3fea673SRoss Lagerwall     [Define this if gethostbyname_r takes 6 arguments])
468b3fea673SRoss Lagerwall    AC_MSG_RESULT(6)
469b3fea673SRoss Lagerwall  ], [
47045da7d9dSyuangongji    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
471b3fea673SRoss Lagerwall#include <netdb.h>
472b3fea673SRoss Lagerwall    ], [
473b3fea673SRoss Lagerwall      char *cp1, *cp2;
474b3fea673SRoss Lagerwall      struct hostent *h1;
475b3fea673SRoss Lagerwall      int i1, i2;
476b3fea673SRoss Lagerwall      (void)gethostbyname_r(cp1,h1,cp2,i1,&i2);
47745da7d9dSyuangongji    ])], [
478b3fea673SRoss Lagerwall      AC_DEFINE(HAVE_GETHOSTBYNAME_R)
479b3fea673SRoss Lagerwall      AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARG, 1,
480b3fea673SRoss Lagerwall        [Define this if gethostbyname_r takes 5 arguments])
481b3fea673SRoss Lagerwall      AC_MSG_RESULT(5)
482b3fea673SRoss Lagerwall    ], [
48345da7d9dSyuangongji      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
484b3fea673SRoss Lagerwall#include <netdb.h>
485b3fea673SRoss Lagerwall     ], [
486b3fea673SRoss Lagerwall       char *cp1;
487b3fea673SRoss Lagerwall       struct hostent *h1;
488b3fea673SRoss Lagerwall       struct hostent_data hd;
489b3fea673SRoss Lagerwall       (void) gethostbyname_r(cp1,h1,&hd);
49045da7d9dSyuangongji     ])], [
491b3fea673SRoss Lagerwall       AC_DEFINE(HAVE_GETHOSTBYNAME_R)
492b3fea673SRoss Lagerwall       AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARG, 1,
493b3fea673SRoss Lagerwall         [Define this if gethostbyname_r takes 3 arguments])
494b3fea673SRoss Lagerwall       AC_MSG_RESULT(3)
495b3fea673SRoss Lagerwall     ], [
496b3fea673SRoss Lagerwall       AC_MSG_RESULT(0)
497b3fea673SRoss Lagerwall     ])
498b3fea673SRoss Lagerwall  ])
499b3fea673SRoss Lagerwall ])
500b3fea673SRoss Lagerwall CFLAGS=$OLD_CFLAGS
501b3fea673SRoss Lagerwall])
502b3fea673SRoss Lagerwall
503b3fea673SRoss Lagerwallfi
504b9bf7fa7Syuangongji]) dnl end of checking getaddrinfo and gethostbyname_r
505b3fea673SRoss Lagerwall
506b3fea673SRoss LagerwallAC_MSG_CHECKING(for F_SETFD in fcntl.h)
507b3fea673SRoss LagerwallAC_EGREP_CPP(yes,
508b3fea673SRoss Lagerwall[
50900ba9fa2SEnji Cooper#define _GNU_SOURCE 1
510b3fea673SRoss Lagerwall#include <fcntl.h>
511b3fea673SRoss Lagerwall#ifdef F_SETFD
512b3fea673SRoss Lagerwallyes
513b3fea673SRoss Lagerwall#endif
514b3fea673SRoss Lagerwall],	[ AC_DEFINE(HAVE_SETFD, 1,
515b3fea673SRoss Lagerwall	      [Define if F_SETFD is defined in <fcntl.h>])
516b3fea673SRoss Lagerwall	  AC_MSG_RESULT(yes) ], AC_MSG_RESULT(no))
517b3fea673SRoss Lagerwall
518b3fea673SRoss Lagerwallneedsignal=no
519b3fea673SRoss Lagerwallhaveselect=no
520b3fea673SRoss Lagerwallif test x$bwin32 != xtrue; then
521b3fea673SRoss Lagerwall    AC_CHECK_FUNCS(select, [haveselect=yes], )
522b3fea673SRoss Lagerwall    if test "x$haveselect" = "xyes" ; then
523b3fea673SRoss Lagerwall 	needsignal=yes
524b3fea673SRoss Lagerwall    fi
525b3fea673SRoss Lagerwallfi
526b3fea673SRoss LagerwallAM_CONDITIONAL(SELECT_BACKEND, [test "x$haveselect" = "xyes"])
527b3fea673SRoss Lagerwall
528b3fea673SRoss Lagerwallhavepoll=no
529b3fea673SRoss LagerwallAC_CHECK_FUNCS(poll, [havepoll=yes], )
530b3fea673SRoss Lagerwallif test "x$havepoll" = "xyes" ; then
531b3fea673SRoss Lagerwall	needsignal=yes
532b3fea673SRoss Lagerwallfi
533b3fea673SRoss LagerwallAM_CONDITIONAL(POLL_BACKEND, [test "x$havepoll" = "xyes"])
534b3fea673SRoss Lagerwall
535b3fea673SRoss Lagerwallhavedevpoll=no
536b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_devpoll_h" = "xyes"; then
537b3fea673SRoss Lagerwall	AC_DEFINE(HAVE_DEVPOLL, 1,
538b3fea673SRoss Lagerwall		    [Define if /dev/poll is available])
539b3fea673SRoss Lagerwallfi
540b3fea673SRoss LagerwallAM_CONDITIONAL(DEVPOLL_BACKEND, [test "x$ac_cv_header_sys_devpoll_h" = "xyes"])
541b3fea673SRoss Lagerwall
542b3fea673SRoss Lagerwallhavekqueue=no
543b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_event_h" = "xyes"; then
544b3fea673SRoss Lagerwall	AC_CHECK_FUNCS(kqueue, [havekqueue=yes], )
545b3fea673SRoss Lagerwall	if test "x$havekqueue" = "xyes" ; then
546b3fea673SRoss Lagerwall		AC_MSG_CHECKING(for working kqueue)
54745da7d9dSyuangongji		AC_RUN_IFELSE(
54845da7d9dSyuangongji      [AC_LANG_PROGRAM([
5499c720b70SCarlo Marcelo Arenas Belón#ifdef HAVE_STDLIB_H
5509c720b70SCarlo Marcelo Arenas Belón#include <stdlib.h>
5519c720b70SCarlo Marcelo Arenas Belón#endif
5529c720b70SCarlo Marcelo Arenas Belón#ifdef HAVE_STRING_H
5539c720b70SCarlo Marcelo Arenas Belón#include <string.h>
5549c720b70SCarlo Marcelo Arenas Belón#endif
555b3fea673SRoss Lagerwall#include <sys/types.h>
556b3fea673SRoss Lagerwall#include <sys/time.h>
557b3fea673SRoss Lagerwall#include <sys/event.h>
558b3fea673SRoss Lagerwall#include <stdio.h>
559b3fea673SRoss Lagerwall#include <unistd.h>
560b3fea673SRoss Lagerwall#include <fcntl.h>
56145da7d9dSyuangongji        ], [[
562b3fea673SRoss Lagerwall	int kq;
563b3fea673SRoss Lagerwall	int n;
56445da7d9dSyuangongji	int fd[2];
565b3fea673SRoss Lagerwall	struct kevent ev;
566b3fea673SRoss Lagerwall	struct timespec ts;
56745da7d9dSyuangongji	char buf[80000];
568b3fea673SRoss Lagerwall
569b3fea673SRoss Lagerwall	if (pipe(fd) == -1)
57045da7d9dSyuangongji  		return 1;
57145da7d9dSyuangongji	if (fcntl(fd[1], F_SETFL, O_NONBLOCK) == -1)
57245da7d9dSyuangongji		return 1;
573b3fea673SRoss Lagerwall
57445da7d9dSyuangongji	while ((n = write(fd[1], buf, sizeof(buf))) == sizeof(buf))
575b3fea673SRoss Lagerwall		;
576b3fea673SRoss Lagerwall
577b3fea673SRoss Lagerwall	if ((kq = kqueue()) == -1)
57845da7d9dSyuangongji		return 1;
579b3fea673SRoss Lagerwall
580b3fea673SRoss Lagerwall	memset(&ev, 0, sizeof(ev));
58145da7d9dSyuangongji	ev.ident = fd[1];
582b3fea673SRoss Lagerwall	ev.filter = EVFILT_WRITE;
583b3fea673SRoss Lagerwall	ev.flags = EV_ADD | EV_ENABLE;
584b3fea673SRoss Lagerwall	n = kevent(kq, &ev, 1, NULL, 0, NULL);
585b3fea673SRoss Lagerwall	if (n == -1)
58645da7d9dSyuangongji		return 1;
587b3fea673SRoss Lagerwall
58845da7d9dSyuangongji	read(fd[0], buf, sizeof(buf));
589b3fea673SRoss Lagerwall
590b3fea673SRoss Lagerwall	ts.tv_sec = 0;
591b3fea673SRoss Lagerwall	ts.tv_nsec = 0;
592b3fea673SRoss Lagerwall	n = kevent(kq, NULL, 0, &ev, 1, &ts);
593b3fea673SRoss Lagerwall	if (n == -1 || n == 0)
59445da7d9dSyuangongji		return 1;
595b3fea673SRoss Lagerwall
59645da7d9dSyuangongji	return 0;
59745da7d9dSyuangongji        ]]
59845da7d9dSyuangongji      )],
59945da7d9dSyuangongji      [AC_MSG_RESULT(yes)
600b3fea673SRoss Lagerwall      AC_DEFINE(HAVE_WORKING_KQUEUE, 1,
601b3fea673SRoss Lagerwall        [Define if kqueue works correctly with pipes])
602b3fea673SRoss Lagerwall      havekqueue=yes
60345da7d9dSyuangongji      ], [AC_MSG_RESULT(no)], [AC_MSG_RESULT(no)]
60445da7d9dSyuangongji    )
605b3fea673SRoss Lagerwall	fi
606b3fea673SRoss Lagerwallfi
607b3fea673SRoss LagerwallAM_CONDITIONAL(KQUEUE_BACKEND, [test "x$havekqueue" = "xyes"])
608b3fea673SRoss Lagerwall
609b3fea673SRoss Lagerwallhaveepollsyscall=no
610b3fea673SRoss Lagerwallhaveepoll=no
611b3fea673SRoss LagerwallAC_CHECK_FUNCS(epoll_ctl, [haveepoll=yes], )
612b3fea673SRoss Lagerwallif test "x$haveepoll" = "xyes" ; then
613b3fea673SRoss Lagerwall	AC_DEFINE(HAVE_EPOLL, 1,
614b3fea673SRoss Lagerwall		[Define if your system supports the epoll system calls])
615b3fea673SRoss Lagerwall	needsignal=yes
616b3fea673SRoss Lagerwallfi
617b3fea673SRoss Lagerwallif test "x$ac_cv_header_sys_epoll_h" = "xyes"; then
618b3fea673SRoss Lagerwall	if test "x$haveepoll" = "xno" ; then
619b3fea673SRoss Lagerwall		AC_MSG_CHECKING(for epoll system call)
62045da7d9dSyuangongji		AC_RUN_IFELSE(
62145da7d9dSyuangongji      [AC_LANG_PROGRAM([[
622b3fea673SRoss Lagerwall#include <stdint.h>
623b3fea673SRoss Lagerwall#include <sys/param.h>
624b3fea673SRoss Lagerwall#include <sys/types.h>
625b3fea673SRoss Lagerwall#include <sys/syscall.h>
626b3fea673SRoss Lagerwall#include <sys/epoll.h>
627b3fea673SRoss Lagerwall#include <unistd.h>
628b3fea673SRoss Lagerwall
629b3fea673SRoss Lagerwallint
630b3fea673SRoss Lagerwallepoll_create(int size)
631b3fea673SRoss Lagerwall{
632b3fea673SRoss Lagerwall	return (syscall(__NR_epoll_create, size));
633b3fea673SRoss Lagerwall}
63445da7d9dSyuangongji        ]],[[
635b3fea673SRoss Lagerwall	int epfd;
636b3fea673SRoss Lagerwall
637b3fea673SRoss Lagerwall	epfd = epoll_create(256);
63845da7d9dSyuangongji	return (epfd == -1 ? 1 : 0);
63945da7d9dSyuangongji        ]]
64045da7d9dSyuangongji      )],
64145da7d9dSyuangongji      [AC_MSG_RESULT(yes)
642b3fea673SRoss Lagerwall      AC_DEFINE(HAVE_EPOLL, 1,
643b3fea673SRoss Lagerwall	      [Define if your system supports the epoll system calls])
644b3fea673SRoss Lagerwall      needsignal=yes
645b3fea673SRoss Lagerwall      have_epoll=yes
646b3fea673SRoss Lagerwall      AC_LIBOBJ(epoll_sub)
64745da7d9dSyuangongji      ], [AC_MSG_RESULT(no)], [AC_MSG_RESULT(no)]
64845da7d9dSyuangongji    )
649b3fea673SRoss Lagerwall	fi
650b3fea673SRoss Lagerwallfi
651b3fea673SRoss LagerwallAM_CONDITIONAL(EPOLL_BACKEND, [test "x$haveepoll" = "xyes"])
652b3fea673SRoss Lagerwall
653b3fea673SRoss Lagerwallhaveeventports=no
654b3fea673SRoss LagerwallAC_CHECK_FUNCS(port_create, [haveeventports=yes], )
655b3fea673SRoss Lagerwallif test "x$haveeventports" = "xyes" ; then
656b3fea673SRoss Lagerwall	AC_DEFINE(HAVE_EVENT_PORTS, 1,
657b3fea673SRoss Lagerwall		[Define if your system supports event ports])
658b3fea673SRoss Lagerwall	needsignal=yes
659b3fea673SRoss Lagerwallfi
660b3fea673SRoss LagerwallAM_CONDITIONAL(EVPORT_BACKEND, [test "x$haveeventports" = "xyes"])
661b3fea673SRoss Lagerwall
662b3fea673SRoss Lagerwallif test "x$bwin32" = "xtrue"; then
663b3fea673SRoss Lagerwall	needsignal=yes
664b3fea673SRoss Lagerwallfi
665b3fea673SRoss Lagerwall
666b3fea673SRoss LagerwallAM_CONDITIONAL(SIGNAL_SUPPORT, [test "x$needsignal" = "xyes"])
667b3fea673SRoss Lagerwall
668b3fea673SRoss LagerwallAC_TYPE_PID_T
669b3fea673SRoss LagerwallAC_TYPE_SIZE_T
670b3fea673SRoss LagerwallAC_TYPE_SSIZE_T
671b3fea673SRoss Lagerwall
672b3fea673SRoss LagerwallAC_CHECK_TYPES([uint64_t, uint32_t, uint16_t, uint8_t, uintptr_t], , ,
673b3fea673SRoss Lagerwall[#ifdef HAVE_STDINT_H
674b3fea673SRoss Lagerwall#include <stdint.h>
675b3fea673SRoss Lagerwall#elif defined(HAVE_INTTYPES_H)
676b3fea673SRoss Lagerwall#include <inttypes.h>
677b3fea673SRoss Lagerwall#endif
678b3fea673SRoss Lagerwall#ifdef HAVE_SYS_TYPES_H
679b3fea673SRoss Lagerwall#include <sys/types.h>
680b3fea673SRoss Lagerwall#endif])
681b3fea673SRoss Lagerwall
682b3fea673SRoss LagerwallAC_CHECK_TYPES([fd_mask], , ,
683b3fea673SRoss Lagerwall[#ifdef HAVE_SYS_TYPES_H
684b3fea673SRoss Lagerwall#include <sys/types.h>
685b3fea673SRoss Lagerwall#endif
686b3fea673SRoss Lagerwall#ifdef HAVE_SYS_SELECT_H
687b3fea673SRoss Lagerwall#include <sys/select.h>
688b3fea673SRoss Lagerwall#endif])
689b3fea673SRoss Lagerwall
690b3fea673SRoss LagerwallAC_CHECK_SIZEOF(long long)
691b3fea673SRoss LagerwallAC_CHECK_SIZEOF(long)
692b3fea673SRoss LagerwallAC_CHECK_SIZEOF(int)
693b3fea673SRoss LagerwallAC_CHECK_SIZEOF(short)
694b3fea673SRoss LagerwallAC_CHECK_SIZEOF(size_t)
695b3fea673SRoss LagerwallAC_CHECK_SIZEOF(void *)
696b3fea673SRoss LagerwallAC_CHECK_SIZEOF(off_t)
6978983e511SCarlo Marcelo Arenas BelónAC_CHECK_SIZEOF(time_t)
698b3fea673SRoss Lagerwall
6997c4da937SAzat KhuzhinAC_CHECK_TYPES([struct in6_addr, struct sockaddr_in6, struct sockaddr_un, sa_family_t, struct addrinfo, struct sockaddr_storage], , ,
70000ba9fa2SEnji Cooper[#define _GNU_SOURCE 1
701b3fea673SRoss Lagerwall#include <sys/types.h>
702b3fea673SRoss Lagerwall#ifdef HAVE_NETINET_IN_H
703b3fea673SRoss Lagerwall#include <netinet/in.h>
704b3fea673SRoss Lagerwall#endif
705b3fea673SRoss Lagerwall#ifdef HAVE_NETINET_IN6_H
706b3fea673SRoss Lagerwall#include <netinet/in6.h>
707b3fea673SRoss Lagerwall#endif
7087c4da937SAzat Khuzhin#ifdef HAVE_SYS_UN_H
7097c4da937SAzat Khuzhin#include <sys/un.h>
7107c4da937SAzat Khuzhin#endif
711b3fea673SRoss Lagerwall#ifdef HAVE_SYS_SOCKET_H
712b3fea673SRoss Lagerwall#include <sys/socket.h>
713b3fea673SRoss Lagerwall#endif
714b3fea673SRoss Lagerwall#ifdef HAVE_NETDB_H
715b3fea673SRoss Lagerwall#include <netdb.h>
716b3fea673SRoss Lagerwall#endif
717b3fea673SRoss Lagerwall#ifdef _WIN32
718b3fea673SRoss Lagerwall#define WIN32_WINNT 0x400
719b3fea673SRoss Lagerwall#define _WIN32_WINNT 0x400
720b3fea673SRoss Lagerwall#define WIN32_LEAN_AND_MEAN
721b3fea673SRoss Lagerwall#if defined(_MSC_VER) && (_MSC_VER < 1300)
722b3fea673SRoss Lagerwall#include <winsock.h>
723b3fea673SRoss Lagerwall#else
724b3fea673SRoss Lagerwall#include <winsock2.h>
725b3fea673SRoss Lagerwall#include <ws2tcpip.h>
726b3fea673SRoss Lagerwall#endif
727b3fea673SRoss Lagerwall#endif
728b3fea673SRoss Lagerwall])
729b3fea673SRoss LagerwallAC_CHECK_MEMBERS([struct in6_addr.s6_addr32, struct in6_addr.s6_addr16, struct sockaddr_in.sin_len, struct sockaddr_in6.sin6_len, struct sockaddr_storage.ss_family, struct sockaddr_storage.__ss_family], , ,
730b3fea673SRoss Lagerwall[#include <sys/types.h>
731b3fea673SRoss Lagerwall#ifdef HAVE_NETINET_IN_H
732b3fea673SRoss Lagerwall#include <netinet/in.h>
733b3fea673SRoss Lagerwall#endif
734b3fea673SRoss Lagerwall#ifdef HAVE_NETINET_IN6_H
735b3fea673SRoss Lagerwall#include <netinet/in6.h>
736b3fea673SRoss Lagerwall#endif
737b3fea673SRoss Lagerwall#ifdef HAVE_SYS_SOCKET_H
738b3fea673SRoss Lagerwall#include <sys/socket.h>
739b3fea673SRoss Lagerwall#endif
740b3fea673SRoss Lagerwall#ifdef _WIN32
741b3fea673SRoss Lagerwall#define WIN32_WINNT 0x400
742b3fea673SRoss Lagerwall#define _WIN32_WINNT 0x400
743b3fea673SRoss Lagerwall#define WIN32_LEAN_AND_MEAN
744b3fea673SRoss Lagerwall#if defined(_MSC_VER) && (_MSC_VER < 1300)
745b3fea673SRoss Lagerwall#include <winsock.h>
746b3fea673SRoss Lagerwall#else
747b3fea673SRoss Lagerwall#include <winsock2.h>
748b3fea673SRoss Lagerwall#include <ws2tcpip.h>
749b3fea673SRoss Lagerwall#endif
750b3fea673SRoss Lagerwall#endif
751b3fea673SRoss Lagerwall])
752b3fea673SRoss Lagerwall
7538567f2f5SAzat KhuzhinAC_CHECK_TYPES([struct linger],,,
7540dda56a4SNicholas Heath[
7550dda56a4SNicholas Heath#ifdef HAVE_SYS_SOCKET_H
7560dda56a4SNicholas Heath#include <sys/socket.h>
7570dda56a4SNicholas Heath#endif
758b9bf7fa7Syuangongji#ifdef _WIN32
759b9bf7fa7Syuangongji#include <winsock2.h>
760b9bf7fa7Syuangongji#endif
7610dda56a4SNicholas Heath])
7620dda56a4SNicholas Heath
763b3fea673SRoss LagerwallAC_MSG_CHECKING([for socklen_t])
76445da7d9dSyuangongjiAC_COMPILE_IFELSE(
76545da7d9dSyuangongji  [AC_LANG_PROGRAM([
766b3fea673SRoss Lagerwall #include <sys/types.h>
767d7579fb9SAzat Khuzhin #ifdef _WIN32
768d7579fb9SAzat Khuzhin #include <ws2tcpip.h>
769d7579fb9SAzat Khuzhin #else
770d7579fb9SAzat Khuzhin #include <sys/socket.h>
77145da7d9dSyuangongji #endif
77245da7d9dSyuangongji    ],[socklen_t x;]
77345da7d9dSyuangongji  )],
77445da7d9dSyuangongji	[AC_MSG_RESULT([yes])],
775b3fea673SRoss Lagerwall  [AC_MSG_RESULT([no])
776b3fea673SRoss Lagerwall  AC_DEFINE(socklen_t, unsigned int,
777b3fea673SRoss Lagerwall	  [Define to unsigned int if you dont have it])]
778b3fea673SRoss Lagerwall)
779b3fea673SRoss Lagerwall
780b3af7bddSAzat Khuzhin# __func__/__FUNCTION__ is not a macros in general
781b3fea673SRoss LagerwallAC_MSG_CHECKING([whether our compiler supports __func__])
78245da7d9dSyuangongjiAC_COMPILE_IFELSE(
78345da7d9dSyuangongji  [AC_LANG_PROGRAM([],
78445da7d9dSyuangongji    [ const char *cp = __func__; ]
78545da7d9dSyuangongji  )],
786b3af7bddSAzat Khuzhin	[ AC_DEFINE(HAVE___func__, 1, [Define to 1 if compiler have __func__])
787b3af7bddSAzat Khuzhin    AC_MSG_RESULT([yes])
788b3af7bddSAzat Khuzhin  ],
78945da7d9dSyuangongji  [AC_MSG_RESULT([no])]
790b3af7bddSAzat Khuzhin)
791b3fea673SRoss LagerwallAC_MSG_CHECKING([whether our compiler supports __FUNCTION__])
79245da7d9dSyuangongjiAC_COMPILE_IFELSE(
79345da7d9dSyuangongji  [AC_LANG_PROGRAM([],
79445da7d9dSyuangongji    [ const char *cp = __FUNCTION__; ]
79545da7d9dSyuangongji  )],
796b3af7bddSAzat Khuzhin	[ AC_DEFINE(HAVE___FUNCTION__, 1, [Define to 1 if compiler have __FUNCTION__])
797b3fea673SRoss Lagerwall    AC_MSG_RESULT([yes])
798b3af7bddSAzat Khuzhin  ],
79945da7d9dSyuangongji  [AC_MSG_RESULT([no])]
800b3af7bddSAzat Khuzhin)
801b3fea673SRoss Lagerwall
802b3fea673SRoss Lagerwall# check if we can compile with pthreads
803b3fea673SRoss Lagerwallhave_pthreads=no
804b3fea673SRoss Lagerwallif test x$bwin32 != xtrue && test "$enable_thread_support" != "no"; then
805b3fea673SRoss Lagerwall  ACX_PTHREAD([
806b3fea673SRoss Lagerwall	AC_DEFINE(HAVE_PTHREADS, 1,
807b3fea673SRoss Lagerwall		[Define if we have pthreads on this system])
808b3fea673SRoss Lagerwall	have_pthreads=yes])
809b3fea673SRoss Lagerwall  CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
810b3fea673SRoss Lagerwall  AC_CHECK_SIZEOF(pthread_t, ,
811b3fea673SRoss Lagerwall     [AC_INCLUDES_DEFAULT()
812b3fea673SRoss Lagerwall      #include <pthread.h> ]
813b3fea673SRoss Lagerwall  )
814b3fea673SRoss Lagerwallfi
815bb09535bSAzat KhuzhinAM_CONDITIONAL(THREADS, [test "$enable_thread_support" != "no"])
816b3fea673SRoss LagerwallAM_CONDITIONAL(PTHREADS, [test "$have_pthreads" != "no" && test "$enable_thread_support" != "no"])
817b3fea673SRoss Lagerwall
818b3fea673SRoss Lagerwall# check if we should compile locking into the library
819b3fea673SRoss Lagerwallif test x$enable_thread_support = xno; then
820b3fea673SRoss Lagerwall   AC_DEFINE(DISABLE_THREAD_SUPPORT, 1,
821b3fea673SRoss Lagerwall	[Define if libevent should not be compiled with thread support])
822b3fea673SRoss Lagerwallfi
823b3fea673SRoss Lagerwall
824b3fea673SRoss Lagerwall# check if we should hard-code the mm functions.
825b3fea673SRoss Lagerwallif test x$enable_malloc_replacement = xno; then
826b3fea673SRoss Lagerwall  AC_DEFINE(DISABLE_MM_REPLACEMENT, 1,
827b3fea673SRoss Lagerwall        [Define if libevent should not allow replacing the mm functions])
828b3fea673SRoss Lagerwallfi
829b3fea673SRoss Lagerwall
830b3fea673SRoss Lagerwall# check if we should hard-code debugging out
831b3fea673SRoss Lagerwallif test x$enable_debug_mode = xno; then
832b3fea673SRoss Lagerwall  AC_DEFINE(DISABLE_DEBUG_MODE, 1,
833b3fea673SRoss Lagerwall        [Define if libevent should build without support for a debug mode])
834b3fea673SRoss Lagerwallfi
83545da7d9dSyuangongji
836b3fea673SRoss Lagerwall# check if we should enable verbose debugging
837b3fea673SRoss Lagerwallif test x$enable_verbose_debug = xyes; then
838b3fea673SRoss Lagerwall	CFLAGS="$CFLAGS -DUSE_DEBUG"
839b3fea673SRoss Lagerwallfi
840b3fea673SRoss Lagerwall
841b3fea673SRoss Lagerwall# check if we have and should use openssl
842b3fea673SRoss LagerwallAM_CONDITIONAL(OPENSSL, [test "$enable_openssl" != "no" && test "$have_openssl" = "yes"])
843b3fea673SRoss Lagerwall
844b3fea673SRoss Lagerwall# Add some more warnings which we use in development but not in the
845b3fea673SRoss Lagerwall# released versions.  (Some relevant gcc versions can't handle these.)
846b3fea673SRoss Lagerwallif test x$enable_gcc_warnings != xno && test "$GCC" = "yes"; then
847b3fea673SRoss Lagerwall
848b3fea673SRoss Lagerwall  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
849b3fea673SRoss Lagerwall#if !defined(__GNUC__) || (__GNUC__ < 4)
850b3fea673SRoss Lagerwall#error
851b3fea673SRoss Lagerwall#endif])], have_gcc4=yes, have_gcc4=no)
852b3fea673SRoss Lagerwall
853b3fea673SRoss Lagerwall  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
854b3fea673SRoss Lagerwall#if !defined(__GNUC__) || (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)
855b3fea673SRoss Lagerwall#error
856b3fea673SRoss Lagerwall#endif])], have_gcc42=yes, have_gcc42=no)
857b3fea673SRoss Lagerwall
858b3fea673SRoss Lagerwall  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
859b3fea673SRoss Lagerwall#if !defined(__GNUC__) || (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
860b3fea673SRoss Lagerwall#error
861b3fea673SRoss Lagerwall#endif])], have_gcc45=yes, have_gcc45=no)
862b3fea673SRoss Lagerwall
863b3fea673SRoss Lagerwall  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
864b3fea673SRoss Lagerwall#if !defined(__clang__)
865b3fea673SRoss Lagerwall#error
866b3fea673SRoss Lagerwall#endif])], have_clang=yes, have_clang=no)
867b3fea673SRoss Lagerwall
868bff1423dSAzat Khuzhin  # -W is the same as -Wextra
869cb4b8738Sfanquake  CFLAGS="$CFLAGS -W -Wfloat-equal -Wundef -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wmissing-declarations -Wnested-externs -Wbad-function-cast"
870b3fea673SRoss Lagerwall  if test x$enable_gcc_warnings = xyes; then
871b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS -Werror"
872b3fea673SRoss Lagerwall  fi
873b3fea673SRoss Lagerwall
874b3fea673SRoss Lagerwall  CFLAGS="$CFLAGS -Wno-unused-parameter -Wstrict-aliasing"
875b3fea673SRoss Lagerwall
876b3fea673SRoss Lagerwall  if test x$have_gcc4 = xyes ; then
877b3fea673SRoss Lagerwall    # These warnings break gcc 3.3.5 and work on gcc 4.0.2
878b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS -Winit-self -Wmissing-field-initializers -Wdeclaration-after-statement"
879b3fea673SRoss Lagerwall    #CFLAGS="$CFLAGS -Wold-style-definition"
880b3fea673SRoss Lagerwall  fi
881b3fea673SRoss Lagerwall
882b3fea673SRoss Lagerwall  if test x$have_gcc42 = xyes ; then
883b3fea673SRoss Lagerwall    # These warnings break gcc 4.0.2 and work on gcc 4.2
884b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS -Waddress"
885b3fea673SRoss Lagerwall  fi
886b3fea673SRoss Lagerwall
887b3fea673SRoss Lagerwall  if test x$have_gcc42 = xyes && test x$have_clang = xno; then
888b3fea673SRoss Lagerwall    # These warnings break gcc 4.0.2 and clang, but work on gcc 4.2
889b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS -Wnormalized=id -Woverride-init"
890b3fea673SRoss Lagerwall  fi
891b3fea673SRoss Lagerwall
892b3fea673SRoss Lagerwall  if test x$have_gcc45 = xyes ; then
893b3fea673SRoss Lagerwall    # These warnings work on gcc 4.5
894b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS -Wlogical-op"
895b3fea673SRoss Lagerwall  fi
896b3fea673SRoss Lagerwall
897b3fea673SRoss Lagerwall  if test x$have_clang = xyes; then
898b3fea673SRoss Lagerwall    # Disable the unused-function warnings, because these trigger
899b3fea673SRoss Lagerwall    # for minheap-internal.h related code.
900b3fea673SRoss Lagerwall    CFLAGS="$CFLAGS -Wno-unused-function"
901b56611d7STrond Norbye
9025e39750dSEnji Cooper    # clang on macosx emits warnings for each directory specified which
903b56611d7STrond Norbye    # isn't "used" generating a lot of build noise (typically 3 warnings
904b56611d7STrond Norbye    # per file
905b56611d7STrond Norbye    case "$host_os" in
906b56611d7STrond Norbye        darwin*)
907b56611d7STrond Norbye            CFLAGS="$CFLAGS -Qunused-arguments"
908b56611d7STrond Norbye        ;;
909b56611d7STrond Norbye    esac
910b3fea673SRoss Lagerwall  fi
911b3fea673SRoss Lagerwall
912b3fea673SRoss Lagerwall##This will break the world on some 64-bit architectures
913b3fea673SRoss Lagerwall# CFLAGS="$CFLAGS -Winline"
914b3fea673SRoss Lagerwall
915b3fea673SRoss Lagerwallfi
916b3fea673SRoss Lagerwall
917b3fea673SRoss LagerwallLIBEVENT_GC_SECTIONS=
918b3fea673SRoss Lagerwallif test "$GCC" = yes && test "$enable_function_sections" = yes ; then
919b3fea673SRoss Lagerwall    AC_CACHE_CHECK(
920b3fea673SRoss Lagerwall	[if linker supports omitting unused code and data],
921b3fea673SRoss Lagerwall	[libevent_cv_gc_sections_runs],
922b3fea673SRoss Lagerwall	[
923b3fea673SRoss Lagerwall	    dnl  NetBSD will link but likely not run with --gc-sections
924b3fea673SRoss Lagerwall	    dnl  http://bugs.ntp.org/1844
925b3fea673SRoss Lagerwall	    dnl  http://gnats.netbsd.org/40401
926b3fea673SRoss Lagerwall	    dnl  --gc-sections causes attempt to load as linux elf, with
927b3fea673SRoss Lagerwall	    dnl  wrong syscalls in place.  Test a little gauntlet of
928b3fea673SRoss Lagerwall	    dnl  simple stdio read code checking for errors, expecting
929b3fea673SRoss Lagerwall	    dnl  enough syscall differences that the NetBSD code will
930b3fea673SRoss Lagerwall	    dnl  fail even with Linux emulation working as designed.
931b3fea673SRoss Lagerwall	    dnl  A shorter test could be refined by someone with access
932b3fea673SRoss Lagerwall	    dnl  to a NetBSD host with Linux emulation working.
933b3fea673SRoss Lagerwall	    origCFLAGS="$CFLAGS"
934b3fea673SRoss Lagerwall	    CFLAGS="$CFLAGS -Wl,--gc-sections"
935b3fea673SRoss Lagerwall	    AC_LINK_IFELSE(
936b3fea673SRoss Lagerwall		[AC_LANG_PROGRAM(
937b3fea673SRoss Lagerwall		    [[
938b3fea673SRoss Lagerwall			#include <stdlib.h>
939b3fea673SRoss Lagerwall			#include <stdio.h>
940b3fea673SRoss Lagerwall		    ]],
941b3fea673SRoss Lagerwall		    [[
942b3fea673SRoss Lagerwall			FILE *	fpC;
943b3fea673SRoss Lagerwall			char	buf[32];
944b3fea673SRoss Lagerwall			size_t	cch;
945b3fea673SRoss Lagerwall			int	read_success_once;
946b3fea673SRoss Lagerwall
947b3fea673SRoss Lagerwall			fpC = fopen("conftest.c", "r");
948b3fea673SRoss Lagerwall			if (NULL == fpC)
949b3fea673SRoss Lagerwall				exit(1);
950b3fea673SRoss Lagerwall			do {
951b3fea673SRoss Lagerwall				cch = fread(buf, sizeof(buf), 1, fpC);
952b3fea673SRoss Lagerwall				read_success_once |= (0 != cch);
953b3fea673SRoss Lagerwall			} while (0 != cch);
954b3fea673SRoss Lagerwall			if (!read_success_once)
955b3fea673SRoss Lagerwall				exit(2);
956b3fea673SRoss Lagerwall			if (!feof(fpC))
957b3fea673SRoss Lagerwall				exit(3);
958b3fea673SRoss Lagerwall			if (0 != fclose(fpC))
959b3fea673SRoss Lagerwall				exit(4);
960b3fea673SRoss Lagerwall
961b3fea673SRoss Lagerwall			exit(EXIT_SUCCESS);
962b3fea673SRoss Lagerwall		    ]]
963b3fea673SRoss Lagerwall		)],
964b3fea673SRoss Lagerwall		[
965b3fea673SRoss Lagerwall                    dnl We have to do this invocation manually so that we can
966b3fea673SRoss Lagerwall                    dnl get the output of conftest.err to make sure it doesn't
967b3fea673SRoss Lagerwall                    dnl mention gc-sections.
968b3fea673SRoss Lagerwall		    if test "X$cross_compiling" = "Xyes" || grep gc-sections conftest.err ; then
969b3fea673SRoss Lagerwall			libevent_cv_gc_sections_runs=no
970b3fea673SRoss Lagerwall		    else
971b3fea673SRoss Lagerwall			libevent_cv_gc_sections_runs=no
972b3fea673SRoss Lagerwall			./conftest >/dev/null 2>&1 && libevent_cv_gc_sections_runs=yes
973b3fea673SRoss Lagerwall		    fi
974b3fea673SRoss Lagerwall		],
975b3fea673SRoss Lagerwall		[libevent_cv_gc_sections_runs=no]
976b3fea673SRoss Lagerwall	    )
977b3fea673SRoss Lagerwall	    CFLAGS="$origCFLAGS"
978b3fea673SRoss Lagerwall	    AS_UNSET([origCFLAGS])
979b3fea673SRoss Lagerwall	]
980b3fea673SRoss Lagerwall    )
981b3fea673SRoss Lagerwall    case "$libevent_cv_gc_sections_runs" in
982b3fea673SRoss Lagerwall     yes)
983b3fea673SRoss Lagerwall	CFLAGS="-ffunction-sections -fdata-sections $CFLAGS"
984b3fea673SRoss Lagerwall	LIBEVENT_GC_SECTIONS="-Wl,--gc-sections"
985b3fea673SRoss Lagerwall	;;
986b3fea673SRoss Lagerwall    esac
987b3fea673SRoss Lagerwallfi
988b3fea673SRoss LagerwallAC_SUBST([LIBEVENT_GC_SECTIONS])
989b3fea673SRoss Lagerwall
990b3fea673SRoss LagerwallAM_CONDITIONAL([INSTALL_LIBEVENT], [test "$enable_libevent_install" = "yes"])
991b3fea673SRoss Lagerwall
9925d1e8570Syuangongji# Doxygen support
9935d1e8570SyuangongjiDX_HTML_FEATURE(ON)
9945d1e8570SyuangongjiDX_MAN_FEATURE(OFF)
9955d1e8570SyuangongjiDX_RTF_FEATURE(OFF)
9965d1e8570SyuangongjiDX_XML_FEATURE(OFF)
9975d1e8570SyuangongjiDX_PDF_FEATURE(OFF)
9985d1e8570SyuangongjiDX_PS_FEATURE(OFF)
9995d1e8570SyuangongjiDX_CHM_FEATURE(OFF)
10005d1e8570SyuangongjiDX_CHI_FEATURE(OFF)
10015d1e8570SyuangongjiDX_INIT_DOXYGEN([libevent], [${top_srcdir}/Doxyfile], [doxygen])
10025d1e8570Syuangongji
10035d1e8570SyuangongjiAM_CONDITIONAL([ENABLE_DOXYGEN], [test "$DX_FLAG_doc" = "1"])
10045d1e8570SyuangongjiAM_CONDITIONAL([ENABLE_DOXYGEN_MAN], [test "$DX_FLAG_man" = "1"])
10055d1e8570Syuangongji
1006b8d7c621SJan HeylenAC_CONFIG_FILES( [libevent.pc libevent_openssl.pc libevent_pthreads.pc libevent_core.pc libevent_extra.pc] )
1007b3fea673SRoss LagerwallAC_OUTPUT(Makefile)
1008