1
dnl Copyright (C) 2009 Sun Microsystems, Inc.
2
dnl This file is free software; Sun Microsystems, Inc.
3
dnl gives unlimited permission to copy and/or distribute it,
4
dnl with or without modifications, as long as this notice is preserved.
6
AC_DEFUN([_PANDORA_SEARCH_LIBMEMCACHED],[
7
AC_REQUIRE([AC_LIB_PREFIX])
9
dnl --------------------------------------------------------------------
10
dnl Check for libmemcached
11
dnl --------------------------------------------------------------------
13
AC_ARG_ENABLE([libmemcached],
14
[AS_HELP_STRING([--disable-libmemcached],
15
[Build with libmemcached support @<:@default=on@:>@])],
16
[ac_enable_libmemcached="$enableval"],
17
[ac_enable_libmemcached="yes"])
19
AS_IF([test "x$ac_enable_libmemcached" = "xyes"],[
20
AC_LIB_HAVE_LINKFLAGS(memcached,,[
21
#include <libmemcached/memcached.h>
24
memcached_dump_func *df;
25
memcached_lib_version();
28
ac_cv_libmemcached="no"
31
AS_IF([test "x$ac_enable_libmemcached" = "xyes"],[
32
AC_LIB_HAVE_LINKFLAGS(memcachedprotocol,,[
33
#include <libmemcached/protocol_handler.h>
35
struct memcached_protocol_st *protocol_handle;
36
protocol_handle= memcached_protocol_create_instance();
39
ac_cv_libmemcachedprotocol="no"
42
AC_CACHE_CHECK([if libmemcached has memcached_server_fn],
43
[pandora_cv_libmemcached_server_fn],
44
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
45
#include <libmemcached/memcached.h>
46
memcached_server_fn callbacks[1];
48
[pandora_cv_libmemcached_server_fn=yes],
49
[pandora_cv_libmemcached_server_fn=no])])
51
AS_IF([test "x$pandora_cv_libmemcached_server_fn" = "xyes"],[
52
AC_DEFINE([HAVE_MEMCACHED_SERVER_FN],[1],[If we have the new memcached_server_fn typedef])
56
AC_DEFUN([_PANDORA_RECENT_LIBMEMCACHED],[
58
AC_CACHE_CHECK([if libmemcached is recent enough],
59
[pandora_cv_recent_libmemcached],[
60
AS_IF([test "x${ac_cv_libmemcached}" = "xno"],[
61
pandora_cv_recent_libmemcached=no
63
AS_IF([test "x$1" != "x"],[
64
pandora_need_libmemcached_version=`echo "$1" | perl -nle '/(\d+)\.(\d+)/; printf "%d%0.3d000", $[]1, $[]2 ;'`
65
AS_IF([test "x${pandora_need_libmemcached_version}" = "x0000000"],[
66
pandora_cv_recent_libmemcached=yes
68
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
69
#include <libmemcached/configure.h>
71
#if !defined(LIBMEMCACHED_VERSION_HEX) || LIBMEMCACHED_VERSION_HEX < 0x]]${pandora_need_libmemcached_version}[[
72
# error libmemcached too old!
76
pandora_cv_recent_libmemcached=yes
78
pandora_cv_recent_libmemcached=no
82
pandora_cv_recent_libmemcached=yes
87
AM_CONDITIONAL(HAVE_LIBMEMCACHED,[test "x${ac_cv_libmemcached}" = "xyes" -a "x${pandora_cv_recent_libmemcached}" = "xyes"])
91
AC_DEFUN([PANDORA_HAVE_LIBMEMCACHED],[
92
AC_REQUIRE([_PANDORA_SEARCH_LIBMEMCACHED])
93
_PANDORA_RECENT_LIBMEMCACHED($1)
96
AC_DEFUN([PANDORA_REQUIRE_LIBMEMCACHED],[
97
PANDORA_HAVE_LIBMEMCACHED($1)
98
AS_IF([test "x{$pandora_cv_recent_libmemcached}" = "xno"],
99
AC_MSG_ERROR([libmemcached is required for ${PACKAGE}]))
102
AC_DEFUN([PANDORA_REQUIRE_LIBMEMCACHEDPROTOCOL],[
103
PANDORA_HAVE_LIBMEMCACHED($1)
104
AS_IF([test x$ac_cv_libmemcachedprotocol = xno],
105
AC_MSG_ERROR([libmemcachedprotocol is required for ${PACKAGE}]))