[memcached] bradfitz, r394: update autoconf stuff

commits at code.sixapart.com commits at code.sixapart.com
Sat Sep 9 22:25:14 UTC 2006


update autoconf stuff

U   branches/memcached-1.1.x/ChangeLog
U   branches/memcached-1.1.x/configure.ac


Modified: branches/memcached-1.1.x/ChangeLog
===================================================================
--- branches/memcached-1.1.x/ChangeLog	2006-09-09 22:12:07 UTC (rev 393)
+++ branches/memcached-1.1.x/ChangeLog	2006-09-09 22:25:13 UTC (rev 394)
@@ -1,4 +1,9 @@
 2006-09-09
+	* update autoconf libevent searching to match 1.2.x.
+	  should be better on FreeBSD, etc.
+
+	* fixed 64 bit issues.  passes tests now.
+
 	* import the 1.2.x test branch, and fix a bunch of on-by-one
 	  (second) errors in the expiration code.
 

Modified: branches/memcached-1.1.x/configure.ac
===================================================================
--- branches/memcached-1.1.x/configure.ac	2006-09-09 22:12:07 UTC (rev 393)
+++ branches/memcached-1.1.x/configure.ac	2006-09-09 22:25:13 UTC (rev 394)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.52)
-AC_INIT(memcached, 1.1.13-pre2, brad at danga.com)
+AC_INIT(memcached, 1.1.x-svn, brad at danga.com)
 AC_CANONICAL_SYSTEM
 AC_CONFIG_SRCDIR(memcached.c)
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
@@ -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