-dnl Copyright (C) 2009 Sun Microsystems
-dnl This file is free software; Sun Microsystems
+dnl Copyright (C) 2009 Sun Microsystems, Inc.
+dnl This file is free software; Sun Microsystems, Inc.
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
],[
ac_cv_libmemcached="no"
])
+
+ AS_IF([test "x$ac_enable_libmemcached" = "xyes"],[
+ AC_LIB_HAVE_LINKFLAGS(memcachedprotocol,,[
+ #include <libmemcached/protocol_handler.h>
+ ],[
+ struct memcached_protocol_st *protocol_handle;
+ protocol_handle= memcached_protocol_create_instance();
+ ])
+ ],[
+ ac_cv_libmemcachedprotocol="no"
+ ])
- AM_CONDITIONAL(HAVE_LIBMEMCACHED, [test "x${ac_cv_libmemcached}" = "xyes"])
+ AC_CACHE_CHECK([if libmemcached has memcached_server_fn],
+ [pandora_cv_libmemcached_server_fn],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <libmemcached/memcached.h>
+memcached_server_fn callbacks[1];
+ ]])],
+ [pandora_cv_libmemcached_server_fn=yes],
+ [pandora_cv_libmemcached_server_fn=no])])
+
+ AS_IF([test "x$pandora_cv_libmemcached_server_fn" = "xyes"],[
+ AC_DEFINE([HAVE_MEMCACHED_SERVER_FN],[1],[If we have the new memcached_server_fn typedef])
+ ])
+])
+
+AC_DEFUN([_PANDORA_RECENT_LIBMEMCACHED],[
+
+ AC_CACHE_CHECK([if libmemcached is recent enough],
+ [pandora_cv_recent_libmemcached],[
+ AS_IF([test "x${ac_cv_libmemcached}" = "xno"],[
+ pandora_cv_recent_libmemcached=no
+ ],[
+ AS_IF([test "x$1" != "x"],[
+ pandora_need_libmemcached_version=`echo "$1" | perl -nle '/(\d+)\.(\d+)/; printf "%d%0.3d000", $[]1, $[]2 ;'`
+ AS_IF([test "x${pandora_need_libmemcached_version}" = "x0000000"],[
+ pandora_cv_recent_libmemcached=yes
+ ],[
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <libmemcached/configure.h>
+
+#if !defined(LIBMEMCACHED_VERSION_HEX) || LIBMEMCACHED_VERSION_HEX < 0x]]${pandora_need_libmemcached_version}[[
+# error libmemcached too old!
+#endif
+ ]],[[]])
+ ],[
+ pandora_cv_recent_libmemcached=yes
+ ],[
+ pandora_cv_recent_libmemcached=no
+ ])
+ ])
+ ],[
+ pandora_cv_recent_libmemcached=yes
+ ])
+ ])
+ ])
+
+ AM_CONDITIONAL(HAVE_LIBMEMCACHED,[test "x${ac_cv_libmemcached}" = "xyes" -a "x${pandora_cv_recent_libmemcached}" = "xyes"])
])
AC_DEFUN([PANDORA_HAVE_LIBMEMCACHED],[
AC_REQUIRE([_PANDORA_SEARCH_LIBMEMCACHED])
+ _PANDORA_RECENT_LIBMEMCACHED($1)
])
AC_DEFUN([PANDORA_REQUIRE_LIBMEMCACHED],[
- AC_REQUIRE([PANDORA_HAVE_LIBMEMCACHED])
- AS_IF([test x$ac_cv_libmemcached = xno],
+ PANDORA_HAVE_LIBMEMCACHED($1)
+ AS_IF([test "x{$pandora_cv_recent_libmemcached}" = "xno"],
AC_MSG_ERROR([libmemcached is required for ${PACKAGE}]))
])
+
+AC_DEFUN([PANDORA_REQUIRE_LIBMEMCACHEDPROTOCOL],[
+ PANDORA_HAVE_LIBMEMCACHED($1)
+ AS_IF([test x$ac_cv_libmemcachedprotocol = xno],
+ AC_MSG_ERROR([libmemcachedprotocol is required for ${PACKAGE}]))
+])