m4: merge TangentOrg/ddm4
[awesomized/libmemcached] / m4 / ax_memcached.m4
1 # vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
2 # ===========================================================================
3 # https://github.com/BrianAker/ddm4/
4 # ===========================================================================
5 #
6 # SYNOPSIS
7 #
8 # AX_PROG_MEMCACHED
9 #
10 # DESCRIPTION
11 #
12 # Check for memcached and list version
13 #
14 # LICENSE
15 #
16 # Copyright (C) 2013 Brian Aker
17 # All rights reserved.
18 #
19 # Redistribution and use in source and binary forms, with or without
20 # modification, are permitted provided that the following conditions are
21 # met:
22 #
23 # * Redistributions of source code must retain the above copyright
24 # notice, this list of conditions and the following disclaimer.
25 #
26 # * Redistributions in binary form must reproduce the above
27 # copyright notice, this list of conditions and the following disclaimer
28 # in the documentation and/or other materials provided with the
29 # distribution.
30 #
31 # * The names of its contributors may not be used to endorse or
32 # promote products derived from this software without specific prior
33 # written permission.
34 #
35 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46
47 #serial 5
48
49 AC_DEFUN([AX_PROG_MEMCACHED],
50 [AX_WITH_PROG([MEMCACHED_BINARY],[memcached],[unknown])
51 ax_memcached_success=
52 ax_memcached_version=
53 AC_MSG_CHECKING([for memcached version])
54 AS_IF([test x"$MEMCACHED_BINARY" != xunknown],
55 [AS_IF([test -x "$MEMCACHED_BINARY"],
56 [ax_memcached_version=`$MEMCACHED_BINARY -h | sed 1q | awk '{print \$ 2 }' | sed 's|[\-a-z0-9]*$||' | awk -F. '{printf "%d.%d.%d", $[]1, $[]2, $[]3}'`
57 AS_IF([test -n "$ax_memcached_version"],
58 [ax_memcached_success='ok'
59 AC_DEFINE_UNQUOTED([MEMCACHED_VERSION],"$ax_memcached_version",[Memcached binary version])])
60 ])
61 ])
62 AC_MSG_RESULT(["$ax_memcached_version"])
63
64 AS_IF([test -n "$ax_memcached_success"],
65 [AC_DEFINE([HAVE_MEMCACHED_BINARY], [1], [If Memcached binary is available])
66 AC_DEFINE_UNQUOTED([MEMCACHED_BINARY],"$MEMCACHED_BINARY",[Name of the memcached binary used in make test])
67 ],
68 [AC_DEFINE([HAVE_MEMCACHED_BINARY], [0], [If Memcached binary is available])
69 MEMCACHED_BINARY=
70 ])
71 ])