[memcached] bradfitz,
r359: improve autoconf detection for libevent....
commits at code.sixapart.com
commits at code.sixapart.com
Tue Sep 5 00:03:10 UTC 2006
improve autoconf detection for libevent. from the Tor project.
U trunk/server/ChangeLog
U trunk/server/configure.ac
Modified: trunk/server/ChangeLog
===================================================================
--- trunk/server/ChangeLog 2006-09-04 23:52:08 UTC (rev 358)
+++ trunk/server/ChangeLog 2006-09-05 00:03:09 UTC (rev 359)
@@ -1,3 +1,10 @@
+2006-09-04
+ * improved autoconf libevent detection, from the Tor project.
+
+2006-09-03
+ * test suite and lot of expiration, delete, flush_all, etc corner
+ case bugs fixed (Brad Fitzpatrick)
+
2006-09-02
* Nathan Neulinger <nneul at umr.edu>: fix breakage in expiration code
causing expiration times to not be processed correctly.
Modified: trunk/server/configure.ac
===================================================================
--- trunk/server/configure.ac 2006-09-04 23:52:08 UTC (rev 358)
+++ trunk/server/configure.ac 2006-09-05 00:03:09 UTC (rev 359)
@@ -8,17 +8,89 @@
AC_PROG_CC
AC_PROG_INSTALL
+trylibeventdir=""
AC_ARG_WITH(libevent,
- AC_HELP_STRING([--with-libevent=DIRECTORY],[base directory for libevent]))
-if test "$with_libevent" != "no"; then
- CFLAGS="$CFLAGS -I$with_libevent/include"
- LDFLAGS="$LDFLAGS -L$with_libevent/lib"
-fi
+ [ --with-libevent=PATH Specify path to libevent installation ],
+ [
+ if test "x$withval" != "xno" ; then
+ trylibeventdir=$withval
+ fi
+ ]
+)
+dnl ------------------------------------------------------
+dnl libevent detection. swiped from Tor. modified a bit.
+
LIBEVENT_URL=http://www.monkey.org/~provos/libevent/
-AC_CHECK_LIB(event, event_set, ,
- [AC_MSG_ERROR(libevent is required. You can get it from $LIBEVENT_URL)])
+AC_CACHE_CHECK([for libevent directory], ac_cv_libevent_dir, [
+ saved_LIBS="$LIBS"
+ saved_LDFLAGS="$LDFLAGS"
+ saved_CPPFLAGS="$CPPFLAGS"
+ le_found=no
+ for ledir in $trylibeventdir "" $prefix /usr/local ; do
+ LDFLAGS="$saved_LDFLAGS"
+ LIBS="$saved_LIBS -levent"
+
+ # Skip the directory if it isn't there.
+ if test ! -z "$ledir" -a ! -d "$ledir" ; then
+ continue;
+ fi
+ if test ! -z "$ledir" ; then
+ if test -d "$ledir/lib" ; then
+ LDFLAGS="-L$ledir/lib $LDFLAGS"
+ else
+ LDFLAGS="-L$ledir $LDFLAGS"
+ fi
+ if test -d "$ledir/include" ; then
+ CPPFLAGS="-I$ledir/include $CPPFLAGS"
+ else
+ CPPFLAGS="-I$ledir $CPPFLAGS"
+ fi
+ fi
+ # Can I compile and link it?
+ AC_TRY_LINK([#include <sys/time.h>
+#include <sys/types.h>
+#include <event.h>], [ event_init(); ],
+ [ libevent_linked=yes ], [ libevent_linked=no ])
+ if test $libevent_linked = yes; then
+ if test ! -z "$ledir" ; then
+ ac_cv_libevent_dir=$ledir
+ else
+ ac_cv_libevent_dir="(system)"
+ fi
+ le_found=yes
+ break
+ fi
+ done
+ LIBS="$saved_LIBS"
+ LDFLAGS="$saved_LDFLAGS"
+ CPPFLAGS="$saved_CPPFLAGS"
+ if test $le_found = no ; then
+ AC_MSG_ERROR([libevent is required. You can get it from $LIBEVENT_URL
+
+ If it's already installed, specify its path using --with-libevent=/dir/
+])
+ fi
+])
+LIBS="$LIBS -levent"
+if test $ac_cv_libevent_dir != "(system)"; then
+ if test -d "$ac_cv_libevent_dir/lib" ; then
+ LDFLAGS="-L$ac_cv_libevent_dir/lib $LDFLAGS"
+ le_libdir="$ac_cv_libevent_dir/lib"
+ else
+ LDFLAGS="-L$ac_cv_libevent_dir $LDFLAGS"
+ le_libdir="$ac_cv_libevent_dir"
+ fi
+ if test -d "$ac_cv_libevent_dir/include" ; then
+ CPPFLAGS="-I$ac_cv_libevent_dir/include $CPPFLAGS"
+ else
+ CPPFLAGS="-I$ac_cv_libevent_dir $CPPFLAGS"
+ fi
+fi
+
+dnl ----------------------------------------------------------------------------
+
AC_SEARCH_LIBS(socket, socket)
AC_SEARCH_LIBS(gethostbyname, nsl)
AC_SEARCH_LIBS(mallinfo, malloc)
More information about the memcached-commits
mailing list