This patch make it possible to build the events library completely
[metze/samba/wip.git] / source / lib / events / libevents.m4
1 dnl find the events sources. This is meant to work both for
2 dnl standalone builds, and builds of packages using libevents
3 eventsdir=""
4 eventspaths="$srcdir $srcdir/lib/events $srcdir/events $srcdir/../events"
5 for d in $eventspaths; do
6         if test -f "$d/events.c"; then
7                 eventsdir="$d"
8                 AC_SUBST(eventsdir)
9                 break;
10         fi
11 done
12 if test x"$eventsdir" = "x"; then
13    AC_MSG_ERROR([cannot find libevents source in $eventspaths])
14 fi
15
16 EVENTS_OBJ="events.o events_select.o events_signal.o events_timed.o events_standard.o events_debug.o events_util.o"
17
18 SMB_ENABLE(EVENTS_EPOLL, NO)
19 SMB_ENABLE(EVENTS_AIO, NO)
20 AC_CHECK_HEADERS(sys/epoll.h)
21 AC_CHECK_FUNCS(epoll_create)
22 if test x"$ac_cv_header_sys_epoll_h" = x"yes" -a x"$ac_cv_func_epoll_create" = x"yes"; then
23    EVENTS_OBJ="$EVENTS_OBJ events_epoll.o"
24    SMB_ENABLE(EVENTS_EPOLL,YES)
25    AC_DEFINE(HAVE_EVENTS_EPOLL, 1, [Whether epoll available])
26
27    # check for native Linux AIO interface
28    AC_CHECK_HEADERS(libaio.h)
29    AC_CHECK_LIB_EXT(aio, AIO_LIBS, io_getevents)
30    if test x"$ac_cv_header_libaio_h" = x"yes" -a x"$ac_cv_lib_ext_aio_io_getevents" = x"yes";then
31       EVENTS_OBJ="$EVENTS_OBJ events_aio.o"
32       SMB_ENABLE(EVENTS_AIO,YES)
33       AC_DEFINE(HAVE_LINUX_AIO, 1, [Whether Linux AIO is available])
34    fi
35 fi
36
37 AC_SUBST(EVENTS_OBJ)
38 SMB_EXT_LIB(LIBAIO_LINUX, $AIO_LIBS)
39
40 EVENTS_CFLAGS="-I$eventsdir"
41 AC_SUBST(EVENTS_CFLAGS)
42
43 EVENTS_LIBS=""
44 AC_SUBST(EVENTS_LIBS)
45
46