1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
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_DEFUN([_PANDORA_SEARCH_LIBMEMCACHED],[
AC_REQUIRE([AC_LIB_PREFIX])
dnl --------------------------------------------------------------------
dnl Check for libmemcached
dnl --------------------------------------------------------------------
AC_ARG_ENABLE([libmemcached],
[AS_HELP_STRING([--disable-libmemcached],
[Build with libmemcached support @<:@default=on@:>@])],
[ac_enable_libmemcached="$enableval"],
[ac_enable_libmemcached="yes"])
AS_IF([test "x$ac_enable_libmemcached" = "xyes"],[
AC_LIB_HAVE_LINKFLAGS(memcached,,[
#include <libmemcached/memcached.h>
],[
memcached_st memc;
memcached_dump_func *df;
memcached_lib_version();
])
],[
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"
])
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],[
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}]))
])
|