Add rule to remove the created makefile.
[m6w6/libmemcached] / m4 / ax_lib_libmemcached.m4
1 # ===========================================================================
2 # https//libmemcached.org/
3 # ===========================================================================
4 #
5 # SYNOPSIS
6 #
7 # AX_LIBMEMCACHED, AX_LIBMEMCACHED_UTIL, AX_WITH_LIBMEMCACHED
8 #
9 # DESCRIPTION
10 #
11 # Checked for installation of libmemcached
12 #
13 # AC_SUBST(LIBMEMCACHED_CFLAGS)
14 # AC_SUBST(LIBMEMCACHED_LDFLAGS)
15 # AC_SUBST(LIBMEMCACHED_UTIL_LDFLAGS)
16 #
17 # NOTE: Implementation uses AC_CHECK_HEADER.
18 #
19 # LICENSE
20 #
21 # Copyright (C) 2012 Brian Aker
22 # All rights reserved.
23 #
24 # Redistribution and use in source and binary forms, with or without
25 # modification, are permitted provided that the following conditions are
26 # met:
27 #
28 # * Redistributions of source code must retain the above copyright
29 # notice, this list of conditions and the following disclaimer.
30 #
31 # * Redistributions in binary form must reproduce the above
32 # copyright notice, this list of conditions and the following disclaimer
33 # in the documentation and/or other materials provided with the
34 # distribution.
35 #
36 # * The names of its contributors may not be used to endorse or
37 # promote products derived from this software without specific prior
38 # written permission.
39 #
40 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
41 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
42 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
43 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
44 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
46 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
47 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
48 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
49 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
50 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
51
52 #serial 1
53
54 AC_DEFUN([AX_LIBMEMCACHED], [
55 AC_CHECK_HEADER([libmemcached-1.0/memcached.h], [
56 AC_CACHE_CHECK([check for -lmemcached], [ax_cv_libmemcached], [
57 AC_LANG_PUSH([C])
58 save_LIBS="$LIBS"
59 LIBS="-lmemcached $LIBS"
60 AC_RUN_IFELSE([
61 AC_LANG_PROGRAM([#include <libmemcached-1.0/memcached.h>], [
62 memcached_st *memc;
63 memc= memcached(NULL, 0);
64 memcached_free(memc);
65 ])],
66 [ax_cv_libmemcached=yes],
67 [ax_cv_libmemcached=no],
68 [AC_MSG_WARN([test program execution failed])])
69 AC_LANG_POP
70 LIBS="$save_LIBS"
71 ])
72 ])
73
74 AS_IF([test "x$ax_cv_libmemcached" = "xyes"], [
75 AC_DEFINE([HAVE_LIBMEMCACHED_MEMCACHED_H], [1], [Have libmemcached-1.0/memcached.h])
76 LIBMEMCACHED_CFLAGS=
77 AC_SUBST([LIBMEMCACHED_CFLAGS])
78 LIBMEMCACHED_LDFLAGS="-lmemcached"
79 AC_SUBST([LIBMEMCACHED_LDFLAGS], [-lmemcached])
80 ],[
81 AC_DEFINE([HAVE_LIBMEMCACHED_MEMCACHED_H], [0], [Have libmemcached-1.0/memcached.h])
82 ])
83 ])
84
85 AC_DEFUN([AX_LIBMEMCACHED_UTIL], [
86 AC_REQUIRE([AX_LIBMEMCACHED])
87 AS_IF([test "$ax_cv_libmemcached" = yes], [
88 AC_CHECK_HEADER([libmemcachedutil-1.0/util.h], [
89 AC_CACHE_CHECK([check for -lmemcachedutil], [ax_cv_libmemcached_util], [
90 AC_LANG_PUSH([C])
91 save_LIBS="$LIBS"
92 LIBS="-lmemcachedutil -lmemcached $LIBS"
93 AC_RUN_IFELSE([
94 AC_LANG_PROGRAM([#include <libmemcachedutil-1.0/util.h>], [
95 memcached_pool_st *memc_pool= memcached_pool_create(NULL, 0, 3);
96 memcached_pool_destroy(memc_pool);
97 ])],
98 [ax_cv_libmemcached_util=yes],
99 [ax_cv_libmemcached_util=no],
100 [AC_MSG_WARN([test program execution failed])])
101 AC_LANG_POP
102 LIBS="$save_LIBS"
103 ])
104 ])
105 ])
106
107 AS_IF([test "x$ax_cv_libmemcached_util" = "xyes"], [
108 AC_DEFINE([HAVE_LIBMEMCACHED_UTIL_H], [1], [Have libmemcachedutil-1.0/util.h])
109 LIBMEMCACHED_UTIL_LDFLAGS="-lmemcached -lmemcachedutil"
110 AC_SUBST([LIBMEMCACHED_UTIL_LDFLAGS])
111 ],[
112 AC_DEFINE([HAVE_LIBMEMCACHED_UTIL_H], [0], [Have libmemcachedutil-1.0/util.h])
113 ])
114 ])
115
116 AC_DEFUN([_WITH_LIBMEMCACHED], [
117 AC_REQUIRE([AX_LIBMEMCACHED_UTIL])
118 AC_ARG_ENABLE([libmemcached],
119 [AS_HELP_STRING([--disable-libmemcached],
120 [Build with libmemcached support @<:@default=on@:>@])],
121 [ac_enable_libmemcached="$enableval"],
122 [ac_enable_libmemcached="yes"])
123
124 ac_with_libmemcached="no"
125 AS_IF([test "x$ac_enable_libmemcached" = "xyes"], [
126 AS_IF([test "x$ax_cv_libmemcached" = "xyes"], [
127 ac_with_libmemcached="yes"
128 ])
129 ])
130
131 AS_IF([test "x$ac_with_libmemcached" = "xyes"], [
132 AC_DEFINE([HAVE_LIBMEMCACHED], [1], [Enable libmemcached support])
133 ],[
134 AC_DEFINE([HAVE_LIBMEMCACHED], [0], [Enable libmemcached support])
135 ])
136 AM_CONDITIONAL(HAVE_LIBMEMCACHED, test "x${ac_with_libmemcached}" = "xyes")
137 ])
138
139 AC_DEFUN([AX_WITH_LIBMEMCACHED], [ AC_REQUIRE([_WITH_LIBMEMCACHED]) ])