Merge branch 'master' of ssh://git.samba.org/data/git/samba
[tprouty/samba.git] / lib / tevent / libtevent.m4
1 dnl find the tevent sources. This is meant to work both for
2 dnl standalone builds, and builds of packages using libtevent
3
4 AC_SUBST(teventdir)
5
6 if test x"$teventdir" = "x"; then
7         teventdir=""
8         teventpaths="$srcdir $srcdir/../lib/tevent $srcdir/tevent $srcdir/../tevent"
9         for d in $teventpaths; do
10                 if test -f "$d/tevent.c"; then
11                         teventdir="$d"
12                         break;
13                 fi
14         done
15         if test x"$teventdir" = "x"; then
16            AC_MSG_ERROR([cannot find libtevent source in $teventpaths])
17         fi
18 fi
19
20 TEVENT_OBJ=""
21 TEVENT_CFLAGS=""
22 TEVENT_LIBS=""
23 AC_SUBST(TEVENT_OBJ)
24 AC_SUBST(TEVENT_CFLAGS)
25 AC_SUBST(TEVENT_LIBS)
26
27 TEVENT_CFLAGS="-I$teventdir"
28
29 TEVENT_OBJ="tevent.o tevent_fd.o tevent_timed.o tevent_signal.o tevent_debug.o tevent_util.o"
30 TEVENT_OBJ="$TEVENT_OBJ tevent_standard.o tevent_select.o"
31
32 tevent_cv_aio_support=no
33 AC_CHECK_HEADERS(sys/epoll.h)
34 AC_CHECK_FUNCS(epoll_create)
35 if test x"$ac_cv_header_sys_epoll_h" = x"yes" -a x"$ac_cv_func_epoll_create" = x"yes"; then
36    TEVENT_OBJ="$TEVENT_OBJ tevent_epoll.o"
37    AC_DEFINE(HAVE_EPOLL, 1, [Whether epoll available])
38
39    # check for native Linux AIO interface
40    AC_CHECK_HEADERS(libaio.h)
41    AC_CHECK_LIB_EXT(aio, TEVENT_LIBS, io_getevents)
42    if test x"$ac_cv_header_libaio_h" = x"yes" -a x"$ac_cv_lib_ext_aio_io_getevents" = x"yes";then
43       TEVENT_OBJ="$TEVENT_OBJ tevent_aio.o"
44       tevent_cv_aio_support=yes
45       AC_DEFINE(HAVE_LINUX_AIO, 1, [Whether Linux AIO is available])
46    fi
47 fi
48