1 dnl configure.in for libevent
2 dnl Copyright 2000-2007 Niels Provos
3 dnl Copyright 2007-2012 Niels Provos and Nick Mathewson
5 dnl See LICENSE for copying information.
7 dnl Original version Dug Song <dugsong@monkey.org>
12 AC_CONFIG_MACRO_DIR([m4])
14 AM_INIT_AUTOMAKE(libevent,2.0.17-stable)
15 AM_CONFIG_HEADER(config.h)
16 AC_DEFINE(NUMERIC_VERSION, 0x02001100, [Numeric representation of the version])
18 dnl Initialize prefix.
19 if test "$prefix" = "NONE"; then
25 dnl the 'build' machine is where we run configure and compile
26 dnl the 'host' machine is where the resulting stuff runs.
31 CFLAGS="$CFLAGS -D_OSF_SOURCE"
35 dnl Checks for programs.
42 AC_PROG_GCC_TRADITIONAL
44 if test "$GCC" = "yes" ; then
45 # Enable many gcc warnings by default...
46 CFLAGS="$CFLAGS -Wall"
47 # And disable the strict-aliasing optimization, since it breaks
48 # our sockaddr-handling code in strange ways.
49 CFLAGS="$CFLAGS -fno-strict-aliasing"
52 # OS X Lion started deprecating the system openssl. Let's just disable
53 # all deprecation warnings on OS X.
57 CFLAGS="$CFLAGS -Wno-deprecated-declarations"
61 AC_ARG_ENABLE(gcc-warnings,
62 AS_HELP_STRING(--enable-gcc-warnings, enable verbose warnings with GCC))
63 AC_ARG_ENABLE(thread-support,
64 AS_HELP_STRING(--disable-thread-support, disable support for threading),
65 [], [enable_thread_support=yes])
66 AC_ARG_ENABLE(malloc-replacement,
67 AS_HELP_STRING(--disable-malloc-replacement, disable support for replacing the memory mgt functions),
68 [], [enable_malloc_replacement=yes])
69 AC_ARG_ENABLE(openssl,
70 AS_HELP_STRING(--disable-openssl, disable support for openssl encryption),
71 [], [enable_openssl=yes])
72 AC_ARG_ENABLE(debug-mode,
73 AS_HELP_STRING(--disable-debug-mode, disable support for running in debug mode),
74 [], [enable_debug_mode=yes])
75 AC_ARG_ENABLE([libevent-install],
76 AS_HELP_STRING([--disable-libevent-install, disable installation of libevent]),
77 [], [enable_libevent_install=yes])
78 AC_ARG_ENABLE([libevent-regress],
79 AS_HELP_STRING([--disable-libevent-regress, skip regress in make check]),
80 [], [enable_libevent_regress=yes])
81 AC_ARG_ENABLE([function-sections],
82 AS_HELP_STRING([--enable-function-sections, make static library allow smaller binaries with --gc-sections]),
83 [], [enable_function_sections=no])
88 dnl Uncomment "AC_DISABLE_SHARED" to make shared librraries not get
89 dnl built by default. You can also turn shared libs on and off from
90 dnl the command line with --enable-shared and --disable-shared.
92 AC_SUBST(LIBTOOL_DEPS)
94 AM_CONDITIONAL([BUILD_REGRESS], [test "$enable_libevent_regress" = "yes"])
96 dnl Checks for libraries.
97 AC_SEARCH_LIBS([inet_ntoa], [nsl])
98 AC_SEARCH_LIBS([socket], [socket])
99 AC_SEARCH_LIBS([inet_aton], [resolv])
100 AC_SEARCH_LIBS([clock_gettime], [rt])
101 AC_SEARCH_LIBS([sendfile], [sendfile])
103 dnl - check if the macro WIN32 is defined on this compiler.
104 dnl - (this is how we check for a windows version of GCC)
105 AC_MSG_CHECKING(for WIN32)
112 bwin32=true; AC_MSG_RESULT(yes),
113 bwin32=false; AC_MSG_RESULT(no),
116 dnl - check if the macro __CYGWIN__ is defined on this compiler.
117 dnl - (this is how we check for a cygwin version of GCC)
118 AC_MSG_CHECKING(for CYGWIN)
125 cygwin=true; AC_MSG_RESULT(yes),
126 cygwin=false; AC_MSG_RESULT(no),
129 AC_CHECK_HEADERS([zlib.h])
131 if test "x$ac_cv_header_zlib_h" = "xyes"; then
132 dnl Determine if we have zlib for regression tests
133 dnl Don't put this one in LIBS
138 AC_SEARCH_LIBS([inflateEnd], [z],
141 AC_DEFINE(HAVE_LIBZ, 1, [Define if the system has zlib])])
145 AM_CONDITIONAL(ZLIB_REGRESS, [test "$have_zlib" = "yes"])
147 dnl See if we have openssl. This doesn't go in LIBS either.
148 if test "$bwin32" = true; then
155 AC_SUBST(EV_LIB_WS32)
158 AC_CHECK_HEADERS([openssl/bio.h])
160 if test "$enable_openssl" = "yes"; then
165 AC_SEARCH_LIBS([SSL_new], [ssl],
167 OPENSSL_LIBS="$LIBS -lcrypto $EV_LIB_GDI $EV_LIB_WS32"
168 AC_DEFINE(HAVE_OPENSSL, 1, [Define if the system has openssl])],
170 [-lcrypto $EV_LIB_GDI $EV_LIB_WS32])
172 AC_SUBST(OPENSSL_LIBS)
175 dnl Checks for header files.
177 AC_CHECK_HEADERS([fcntl.h stdarg.h inttypes.h stdint.h stddef.h poll.h unistd.h sys/epoll.h sys/time.h sys/queue.h sys/event.h sys/param.h sys/ioctl.h sys/select.h sys/devpoll.h port.h netinet/in.h netinet/in6.h sys/socket.h sys/uio.h arpa/inet.h sys/eventfd.h sys/mman.h sys/sendfile.h sys/wait.h netdb.h])
178 AC_CHECK_HEADERS(sys/sysctl.h, [], [], [
179 #ifdef HAVE_SYS_PARAM_H
180 #include <sys/param.h>
183 if test "x$ac_cv_header_sys_queue_h" = "xyes"; then
184 AC_MSG_CHECKING(for TAILQ_FOREACH in sys/queue.h)
187 #include <sys/queue.h>
191 ], [AC_MSG_RESULT(yes)
192 AC_DEFINE(HAVE_TAILQFOREACH, 1,
193 [Define if TAILQ_FOREACH is defined in <sys/queue.h>])],
198 if test "x$ac_cv_header_sys_time_h" = "xyes"; then
199 AC_MSG_CHECKING(for timeradd in sys/time.h)
202 #include <sys/time.h>
206 ], [ AC_DEFINE(HAVE_TIMERADD, 1,
207 [Define if timeradd is defined in <sys/time.h>])
208 AC_MSG_RESULT(yes)] ,AC_MSG_RESULT(no)
212 if test "x$ac_cv_header_sys_time_h" = "xyes"; then
213 AC_MSG_CHECKING(for timercmp in sys/time.h)
216 #include <sys/time.h>
220 ], [ AC_DEFINE(HAVE_TIMERCMP, 1,
221 [Define if timercmp is defined in <sys/time.h>])
222 AC_MSG_RESULT(yes)] ,AC_MSG_RESULT(no)
226 if test "x$ac_cv_header_sys_time_h" = "xyes"; then
227 AC_MSG_CHECKING(for timerclear in sys/time.h)
230 #include <sys/time.h>
234 ], [ AC_DEFINE(HAVE_TIMERCLEAR, 1,
235 [Define if timerclear is defined in <sys/time.h>])
236 AC_MSG_RESULT(yes)] ,AC_MSG_RESULT(no)
240 if test "x$ac_cv_header_sys_time_h" = "xyes"; then
241 AC_MSG_CHECKING(for timerisset in sys/time.h)
244 #include <sys/time.h>
248 ], [ AC_DEFINE(HAVE_TIMERISSET, 1,
249 [Define if timerisset is defined in <sys/time.h>])
250 AC_MSG_RESULT(yes)] ,AC_MSG_RESULT(no)
254 if test "x$ac_cv_header_sys_sysctl_h" = "xyes"; then
255 AC_CHECK_DECLS([CTL_KERN, KERN_RANDOM, RANDOM_UUID, KERN_ARND], [], [],
256 [[#include <sys/types.h>
257 #include <sys/sysctl.h>]]
261 AM_CONDITIONAL(BUILD_WIN32, test x$bwin32 = xtrue)
262 AM_CONDITIONAL(BUILD_CYGWIN, test x$cygwin = xtrue)
263 AM_CONDITIONAL(BUILD_WITH_NO_UNDEFINED, test x$bwin32 = xtrue || test x$cygwin = xtrue)
265 if test x$bwin32 = xtrue; then
266 AC_SEARCH_LIBS([getservbyname],[ws2_32])
269 dnl Checks for typedefs, structures, and compiler characteristics.
274 dnl Checks for library functions.
275 AC_CHECK_FUNCS([gettimeofday vasprintf fcntl clock_gettime strtok_r strsep])
276 AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf issetugid geteuid getegid getprotobynumber setenv unsetenv putenv sysctl])
280 [libevent_cv_getaddrinfo],
292 [libevent_cv_getaddrinfo=yes],
293 [libevent_cv_getaddrinfo=no]
296 if test "$libevent_cv_getaddrinfo" = "yes" ; then
297 AC_DEFINE([HAVE_GETADDRINFO], [1], [Do we have getaddrinfo()?])
300 AC_CHECK_FUNCS([getservbyname])
301 # Check for gethostbyname_r in all its glorious incompatible versions.
302 # (This is cut-and-pasted from Tor, which based its logic on
303 # Python's configure.in.)
304 AH_TEMPLATE(HAVE_GETHOSTBYNAME_R,
305 [Define this if you have any gethostbyname_r()])
307 AC_CHECK_FUNC(gethostbyname_r, [
308 AC_MSG_CHECKING([how many arguments gethostbyname_r() wants])
310 CFLAGS="$CFLAGS $MY_CPPFLAGS $MY_THREAD_CPPFLAGS $MY_CFLAGS"
311 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
315 struct hostent *h1, *h2;
317 (void)gethostbyname_r(cp1,h1,cp2,i1,&h2,&i2);
319 AC_DEFINE(HAVE_GETHOSTBYNAME_R)
320 AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARG, 1,
321 [Define this if gethostbyname_r takes 6 arguments])
330 (void)gethostbyname_r(cp1,h1,cp2,i1,&i2);
332 AC_DEFINE(HAVE_GETHOSTBYNAME_R)
333 AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARG, 1,
334 [Define this if gethostbyname_r takes 5 arguments])
342 struct hostent_data hd;
343 (void) gethostbyname_r(cp1,h1,&hd);
345 AC_DEFINE(HAVE_GETHOSTBYNAME_R)
346 AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARG, 1,
347 [Define this if gethostbyname_r takes 3 arguments])
359 AC_CHECK_SIZEOF(long)
361 AC_MSG_CHECKING(for F_SETFD in fcntl.h)
369 ], [ AC_DEFINE(HAVE_SETFD, 1,
370 [Define if F_SETFD is defined in <fcntl.h>])
371 AC_MSG_RESULT(yes) ], AC_MSG_RESULT(no))
375 if test x$bwin32 != xtrue; then
376 AC_CHECK_FUNCS(select, [haveselect=yes], )
377 if test "x$haveselect" = "xyes" ; then
381 AM_CONDITIONAL(SELECT_BACKEND, [test "x$haveselect" = "xyes"])
384 AC_CHECK_FUNCS(poll, [havepoll=yes], )
385 if test "x$havepoll" = "xyes" ; then
388 AM_CONDITIONAL(POLL_BACKEND, [test "x$havepoll" = "xyes"])
391 if test "x$ac_cv_header_sys_devpoll_h" = "xyes"; then
392 AC_DEFINE(HAVE_DEVPOLL, 1,
393 [Define if /dev/poll is available])
395 AM_CONDITIONAL(DEVPOLL_BACKEND, [test "x$ac_cv_header_sys_devpoll_h" = "xyes"])
398 if test "x$ac_cv_header_sys_event_h" = "xyes"; then
399 AC_CHECK_FUNCS(kqueue, [havekqueue=yes], )
400 if test "x$havekqueue" = "xyes" ; then
401 AC_MSG_CHECKING(for working kqueue)
403 #include <sys/types.h>
404 #include <sys/time.h>
405 #include <sys/event.h>
411 main(int argc, char **argv)
422 if (fcntl(fd[[1]], F_SETFL, O_NONBLOCK) == -1)
425 while ((n = write(fd[[1]], buf, sizeof(buf))) == sizeof(buf))
428 if ((kq = kqueue()) == -1)
431 memset(&ev, 0, sizeof(ev));
433 ev.filter = EVFILT_WRITE;
434 ev.flags = EV_ADD | EV_ENABLE;
435 n = kevent(kq, &ev, 1, NULL, 0, NULL);
439 read(fd[[0]], buf, sizeof(buf));
443 n = kevent(kq, NULL, 0, &ev, 1, &ts);
444 if (n == -1 || n == 0)
448 }, [AC_MSG_RESULT(yes)
449 AC_DEFINE(HAVE_WORKING_KQUEUE, 1,
450 [Define if kqueue works correctly with pipes])
452 ], AC_MSG_RESULT(no), AC_MSG_RESULT(no))
455 AM_CONDITIONAL(KQUEUE_BACKEND, [test "x$havekqueue" = "xyes"])
459 AC_CHECK_FUNCS(epoll_ctl, [haveepoll=yes], )
460 if test "x$haveepoll" = "xyes" ; then
461 AC_DEFINE(HAVE_EPOLL, 1,
462 [Define if your system supports the epoll system calls])
465 if test "x$ac_cv_header_sys_epoll_h" = "xyes"; then
466 if test "x$haveepoll" = "xno" ; then
467 AC_MSG_CHECKING(for epoll system call)
470 #include <sys/param.h>
471 #include <sys/types.h>
472 #include <sys/syscall.h>
473 #include <sys/epoll.h>
477 epoll_create(int size)
479 return (syscall(__NR_epoll_create, size));
483 main(int argc, char **argv)
487 epfd = epoll_create(256);
488 exit (epfd == -1 ? 1 : 0);
489 }, [AC_MSG_RESULT(yes)
490 AC_DEFINE(HAVE_EPOLL, 1,
491 [Define if your system supports the epoll system calls])
495 ], AC_MSG_RESULT(no), AC_MSG_RESULT(no))
498 AM_CONDITIONAL(EPOLL_BACKEND, [test "x$haveepoll" = "xyes"])
501 AC_CHECK_FUNCS(port_create, [haveeventports=yes], )
502 if test "x$haveeventports" = "xyes" ; then
503 AC_DEFINE(HAVE_EVENT_PORTS, 1,
504 [Define if your system supports event ports])
507 AM_CONDITIONAL(EVPORT_BACKEND, [test "x$haveeventports" = "xyes"])
509 if test "x$bwin32" = "xtrue"; then
513 AM_CONDITIONAL(SIGNAL_SUPPORT, [test "x$needsignal" = "xyes"])
519 AC_CHECK_TYPES([uint64_t, uint32_t, uint16_t, uint8_t, uintptr_t], , ,
520 [#ifdef HAVE_STDINT_H
522 #elif defined(HAVE_INTTYPES_H)
523 #include <inttypes.h>
525 #ifdef HAVE_SYS_TYPES_H
526 #include <sys/types.h>
529 AC_CHECK_TYPES([fd_mask], , ,
530 [#ifdef HAVE_SYS_TYPES_H
531 #include <sys/types.h>
533 #ifdef HAVE_SYS_SELECT_H
534 #include <sys/select.h>
537 AC_CHECK_SIZEOF(long long)
538 AC_CHECK_SIZEOF(long)
540 AC_CHECK_SIZEOF(short)
541 AC_CHECK_SIZEOF(size_t)
542 AC_CHECK_SIZEOF(void *)
544 AC_CHECK_TYPES([struct in6_addr, struct sockaddr_in6, sa_family_t, struct addrinfo, struct sockaddr_storage], , ,
546 #include <sys/types.h>
547 #ifdef HAVE_NETINET_IN_H
548 #include <netinet/in.h>
550 #ifdef HAVE_NETINET_IN6_H
551 #include <netinet/in6.h>
553 #ifdef HAVE_SYS_SOCKET_H
554 #include <sys/socket.h>
560 #define WIN32_WINNT 0x400
561 #define _WIN32_WINNT 0x400
562 #define WIN32_LEAN_AND_MEAN
563 #if defined(_MSC_VER) && (_MSC_VER < 1300)
566 #include <winsock2.h>
567 #include <ws2tcpip.h>
571 AC_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], , ,
572 [#include <sys/types.h>
573 #ifdef HAVE_NETINET_IN_H
574 #include <netinet/in.h>
576 #ifdef HAVE_NETINET_IN6_H
577 #include <netinet/in6.h>
579 #ifdef HAVE_SYS_SOCKET_H
580 #include <sys/socket.h>
583 #define WIN32_WINNT 0x400
584 #define _WIN32_WINNT 0x400
585 #define WIN32_LEAN_AND_MEAN
586 #if defined(_MSC_VER) && (_MSC_VER < 1300)
589 #include <winsock2.h>
590 #include <ws2tcpip.h>
595 AC_MSG_CHECKING([for socklen_t])
597 #include <sys/types.h>
598 #include <sys/socket.h>],
600 AC_MSG_RESULT([yes]),
602 AC_DEFINE(socklen_t, unsigned int,
603 [Define to unsigned int if you dont have it])]
606 AC_MSG_CHECKING([whether our compiler supports __func__])
608 [ const char *cp = __func__; ],
609 AC_MSG_RESULT([yes]),
611 AC_MSG_CHECKING([whether our compiler supports __FUNCTION__])
613 [ const char *cp = __FUNCTION__; ],
615 AC_DEFINE(__func__, __FUNCTION__,
616 [Define to appropriate substitue if compiler doesnt have __func__]),
618 AC_DEFINE(__func__, __FILE__,
619 [Define to appropriate substitue if compiler doesnt have __func__])))
622 # check if we can compile with pthreads
624 if test x$bwin32 != xtrue && test "$enable_thread_support" != "no"; then
626 AC_DEFINE(HAVE_PTHREADS, 1,
627 [Define if we have pthreads on this system])
629 CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
630 AC_CHECK_SIZEOF(pthread_t, ,
631 [AC_INCLUDES_DEFAULT()
632 #include <pthread.h> ]
635 AM_CONDITIONAL(PTHREADS, [test "$have_pthreads" != "no" && test "$enable_thread_support" != "no"])
637 # check if we should compile locking into the library
638 if test x$enable_thread_support = xno; then
639 AC_DEFINE(DISABLE_THREAD_SUPPORT, 1,
640 [Define if libevent should not be compiled with thread support])
643 # check if we should hard-code the mm functions.
644 if test x$enable_malloc_replacement = xno; then
645 AC_DEFINE(DISABLE_MM_REPLACEMENT, 1,
646 [Define if libevent should not allow replacing the mm functions])
649 # check if we should hard-code debugging out
650 if test x$enable_debug_mode = xno; then
651 AC_DEFINE(DISABLE_DEBUG_MODE, 1,
652 [Define if libevent should build without support for a debug mode])
655 # check if we have and should use openssl
656 AM_CONDITIONAL(OPENSSL, [test "$enable_openssl" != "no" && test "$have_openssl" = "yes"])
658 # Add some more warnings which we use in development but not in the
659 # released versions. (Some relevant gcc versions can't handle these.)
660 if test x$enable_gcc_warnings = xyes && test "$GCC" = "yes"; then
662 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
663 #if !defined(__GNUC__) || (__GNUC__ < 4)
665 #endif])], have_gcc4=yes, have_gcc4=no)
667 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
668 #if !defined(__GNUC__) || (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)
670 #endif])], have_gcc42=yes, have_gcc42=no)
672 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
673 #if !defined(__GNUC__) || (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
675 #endif])], have_gcc45=yes, have_gcc45=no)
677 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
678 #if !defined(__clang__)
680 #endif])], have_clang=yes, have_clang=no)
682 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
683 #if !defined(__clang__) || (__clang_major__ > 2) || (__clang_major__ == 2 && __clang_minor__ > 9)
685 #endif])], have_clang29orlower=yes, have_clang29orlower=no)
687 CFLAGS="$CFLAGS -W -Wfloat-equal -Wundef -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wbad-function-cast -Wswitch-enum -Werror"
688 CFLAGS="$CFLAGS -Wno-unused-parameter -Wstrict-aliasing"
690 if test x$have_gcc4 = xyes ; then
691 # These warnings break gcc 3.3.5 and work on gcc 4.0.2
692 CFLAGS="$CFLAGS -Winit-self -Wmissing-field-initializers -Wdeclaration-after-statement"
693 #CFLAGS="$CFLAGS -Wold-style-definition"
696 if test x$have_gcc42 = xyes ; then
697 # These warnings break gcc 4.0.2 and work on gcc 4.2
698 CFLAGS="$CFLAGS -Waddress"
701 if test x$have_gcc42 = xyes && test x$have_clang29orlower = xno; then
702 # These warnings break gcc 4.0.2 and clang, but work on gcc 4.2
703 # We only disable these for clang 2.9 and lower, in case they are
704 # supported in later versions.
705 CFLAGS="$CFLAGS -Wnormalized=id -Woverride-init"
708 if test x$have_gcc45 = xyes ; then
709 # These warnings work on gcc 4.5
710 CFLAGS="$CFLAGS -Wlogical-op"
713 if test x$have_clang = xyes; then
714 # Disable the unused-function warnings, because these trigger
715 # for minheap-internal.h related code.
716 CFLAGS="$CFLAGS -Wno-unused-function"
719 ##This will break the world on some 64-bit architectures
720 # CFLAGS="$CFLAGS -Winline"
724 LIBEVENT_GC_SECTIONS=
725 if test "$GCC" = yes && test "$enable_function_sections" = yes ; then
727 [if linker supports omitting unused code and data],
728 [libevent_cv_gc_sections_runs],
730 dnl NetBSD will link but likely not run with --gc-sections
731 dnl http://bugs.ntp.org/1844
732 dnl http://gnats.netbsd.org/40401
733 dnl --gc-sections causes attempt to load as linux elf, with
734 dnl wrong syscalls in place. Test a little gauntlet of
735 dnl simple stdio read code checking for errors, expecting
736 dnl enough syscall differences that the NetBSD code will
737 dnl fail even with Linux emulation working as designed.
738 dnl A shorter test could be refined by someone with access
739 dnl to a NetBSD host with Linux emulation working.
741 CFLAGS="$CFLAGS -Wl,--gc-sections"
752 int read_success_once;
754 fpC = fopen("conftest.c", "r");
758 cch = fread(buf, sizeof(buf), 1, fpC);
759 read_success_once |= (0 != cch);
761 if (!read_success_once)
765 if (0 != fclose(fpC))
772 dnl We have to do this invocation manually so that we can
773 dnl get the output of conftest.err to make sure it doesn't
774 dnl mention gc-sections.
775 if test "X$cross_compiling" = "Xyes" || grep gc-sections conftest.err ; then
776 libevent_cv_gc_sections_runs=no
778 libevent_cv_gc_sections_runs=no
779 ./conftest >/dev/null 2>&1 && libevent_cv_gc_sections_runs=yes
782 [libevent_cv_gc_sections_runs=no]
785 AS_UNSET([origCFLAGS])
788 case "$libevent_cv_gc_sections_runs" in
790 CFLAGS="-ffunction-sections -fdata-sections $CFLAGS"
791 LIBEVENT_GC_SECTIONS="-Wl,--gc-sections"
795 AC_SUBST([LIBEVENT_GC_SECTIONS])
797 AM_CONDITIONAL([INSTALL_LIBEVENT], [test "$enable_libevent_install" = "yes"])
799 AC_CONFIG_FILES( [libevent.pc libevent_openssl.pc libevent_pthreads.pc] )
800 AC_OUTPUT(Makefile include/Makefile test/Makefile sample/Makefile)