summaryrefslogtreecommitdiffstats
path: root/ctdb/lib
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@gmail.com>2012-03-21 15:56:45 +1100
committerAmitay Isaacs <amitay@gmail.com>2012-03-30 12:33:28 +1100
commit13124e356ea2ede43ffa98dc0476330834c6cf3d (patch)
tree292722c02faf750f6fe6b01c339ac45094fcc774 /ctdb/lib
parent89415a1f00eb3cbdb17133037bb6bf8e64fea136 (diff)
downloadsamba-13124e356ea2ede43ffa98dc0476330834c6cf3d.tar.gz
samba-13124e356ea2ede43ffa98dc0476330834c6cf3d.tar.xz
samba-13124e356ea2ede43ffa98dc0476330834c6cf3d.zip
build: Use system tevent library if available
Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 2ade83de4e1f318c91489ec9a7f90d1b26f77e1b)
Diffstat (limited to 'ctdb/lib')
-rw-r--r--ctdb/lib/tevent/libtevent.m466
1 files changed, 42 insertions, 24 deletions
diff --git a/ctdb/lib/tevent/libtevent.m4 b/ctdb/lib/tevent/libtevent.m4
index 8bb969ce9ee..8a07eea2e73 100644
--- a/ctdb/lib/tevent/libtevent.m4
+++ b/ctdb/lib/tevent/libtevent.m4
@@ -1,41 +1,59 @@
-dnl find the tevent sources. This is meant to work both for
-dnl standalone builds, and builds of packages using libtevent
+dnl Check to see if we should use the included tevent
-AC_SUBST(teventdir)
+INCLUDED_TEVENT=auto
+AC_ARG_WITH(included-tevent,
+ [AC_HELP_STRING([--with-included-tevent], [use bundled tevent library, not from system])],
+ [ INCLUDED_TEVENT=$withval ])
-if test x"$teventdir" = "x"; then
+AC_SUBST(TEVENT_LIBS)
+AC_SUBST(TEVENT_CFLAGS)
+
+if test x"$INCLUDED_TEVENT" != x"yes" ; then
+ AC_CHECK_HEADERS(tevent.h)
+ AC_CHECK_LIB(tevent, tevent_context_init, [ TEVENT_LIBS="-ltevent" ])
+ if test x"$ac_cv_header_tevent_h" = x"no" -o x"$ac_cv_lib_tevent_tevent_context_init" = x"no" ; then
+ INCLUDED_TEVENT=yes
+ TEVENT_CFLAGS=""
+ else
+ INCLUDED_TEVENT=no
+ fi
+fi
+
+AC_MSG_CHECKING(whether to use included tevent)
+AC_MSG_RESULT($INCLUDED_TEVENT)
+if test x"$INCLUDED_TEVENT" != x"no" ; then
+ dnl find the tevent sources. This is meant to work both for
+ dnl standalone builds, and builds of packages using libtevent
teventdir=""
teventpaths="$srcdir $srcdir/lib/tevent $srcdir/tevent $srcdir/../tevent"
for d in $teventpaths; do
if test -f "$d/tevent.c"; then
teventdir="$d"
- break;
+ AC_SUBST(teventdir)
+ break
fi
done
if test x"$teventdir" = "x"; then
- AC_MSG_ERROR([cannot find libtevent source in $teventpaths])
+ AC_MSG_ERROR([cannot find tevent source in $teventpaths])
fi
-fi
-
-TEVENT_OBJ=""
-TEVENT_CFLAGS=""
-TEVENT_LIBS=""
-AC_SUBST(TEVENT_OBJ)
-AC_SUBST(TEVENT_CFLAGS)
-AC_SUBST(TEVENT_LIBS)
+ TEVENT_OBJ="tevent.o tevent_debug.o tevent_util.o"
+ TEVENT_OBJ="$TEVENT_OBJ tevent_fd.o tevent_timed.o tevent_immediate.o tevent_signal.o"
+ TEVENT_OBJ="$TEVENT_OBJ tevent_req.o tevent_wakeup.o tevent_queue.o"
+ TEVENT_OBJ="$TEVENT_OBJ tevent_standard.o tevent_select.o"
+ AC_SUBST(TEVENT_OBJ)
-TEVENT_CFLAGS="-I$teventdir"
+ TEVENT_CFLAGS="-I$teventdir"
+ AC_SUBST(TEVENT_CFLAGS)
-TEVENT_OBJ="tevent.o tevent_debug.o tevent_util.o"
-TEVENT_OBJ="$TEVENT_OBJ tevent_fd.o tevent_timed.o tevent_immediate.o tevent_signal.o"
-TEVENT_OBJ="$TEVENT_OBJ tevent_req.o tevent_wakeup.o tevent_queue.o"
-TEVENT_OBJ="$TEVENT_OBJ tevent_standard.o tevent_select.o"
+ TEVENT_LIBS=""
+ AC_SUBST(TEVENT_LIBS)
-AC_CHECK_HEADERS(sys/epoll.h)
-AC_CHECK_FUNCS(epoll_create)
-if test x"$ac_cv_header_sys_epoll_h" = x"yes" -a x"$ac_cv_func_epoll_create" = x"yes"; then
- TEVENT_OBJ="$TEVENT_OBJ tevent_epoll.o"
- AC_DEFINE(HAVE_EPOLL, 1, [Whether epoll available])
+ AC_CHECK_HEADERS(sys/epoll.h)
+ AC_CHECK_FUNCS(epoll_create)
+ if test x"$ac_cv_header_sys_epoll_h" = x"yes" -a x"$ac_cv_func_epoll_create" = x"yes"; then
+ TEVENT_OBJ="$TEVENT_OBJ tevent_epoll.o"
+ AC_DEFINE(HAVE_EPOLL, 1, [Whether epoll available])
+ fi
fi
if test x"$VERSIONSCRIPT" != "x"; then