1# =========================================================================== 2# https//libmemcached.org/ 3# =========================================================================== 4# 5# SYNOPSIS 6# 7# AX_LIBMEMCACHED, AX_LIBMEMCACHED_UTIL, AX_ENABLE_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 54AC_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 AX_SAVE_FLAGS 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 AX_RESTORE_FLAGS 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 ],[ 77 AC_DEFINE([HAVE_LIBMEMCACHED_MEMCACHED_H], [0], [Have libmemcached-1.0/memcached.h]) 78 ]) 79 ]) 80 81 AC_DEFUN([AX_LIBMEMCACHED_UTIL], [ 82 AC_REQUIRE([AX_LIBMEMCACHED]) 83 AS_IF([test "$ax_cv_libmemcached" = yes], [ 84 AC_CHECK_HEADER([libmemcachedutil-1.0/util.h], [ 85 AC_CACHE_CHECK([check for -lmemcachedutil], [ax_cv_libmemcached_util], [ 86 AX_SAVE_FLAGS 87 AC_LANG_PUSH([C]) 88 LIBS="-lmemcachedutil -lmemcached $LIBS" 89 AC_RUN_IFELSE([ 90 AC_LANG_PROGRAM([#include <libmemcachedutil-1.0/util.h>], [ 91 memcached_pool_st *memc_pool= memcached_pool_create(NULL, 0, 3); 92 memcached_pool_destroy(memc_pool); 93 ])], 94 [ax_cv_libmemcached_util=yes], 95 [ax_cv_libmemcached_util=no], 96 [AC_MSG_WARN([test program execution failed])]) 97 AC_LANG_POP 98 AX_RESTORE_FLAGS 99 ]) 100 ]) 101 ]) 102 103 AS_IF([test "x$ax_cv_libmemcached_util" = "xyes"], [ 104 AC_DEFINE([HAVE_LIBMEMCACHED_UTIL_H], [1], [Have libmemcachedutil-1.0/util.h]) 105 ],[ 106 AC_DEFINE([HAVE_LIBMEMCACHED_UTIL_H], [0], [Have libmemcachedutil-1.0/util.h]) 107 ]) 108 ]) 109 110AC_DEFUN([_ENABLE_LIBMEMCACHED], [ 111 AC_REQUIRE([AX_LIBMEMCACHED_UTIL]) 112 AC_ARG_ENABLE([libmemcached], 113 [AS_HELP_STRING([--disable-libmemcached], 114 [Build with libmemcached support @<:@default=on@:>@])], 115 [ax_enable_libmemcached="$enableval"], 116 [ax_enable_libmemcached="yes"]) 117 118 AS_IF([test "x$ax_cv_libmemcached" != "xyes"], [ 119 ax_enable_libmemcached="not found" 120 ]) 121 122 AS_IF([test "x$ax_enable_libmemcached" = "xyes"], [ 123 AC_DEFINE([HAVE_LIBMEMCACHED], [1], [Enable libmemcached support]) 124 LIBMEMCACHED_CFLAGS= 125 AC_SUBST([LIBMEMCACHED_CFLAGS]) 126 LIBMEMCACHED_LDFLAGS="-lmemcached" 127 AC_SUBST([LIBMEMCACHED_LDFLAGS]) 128 AS_IF([test "x$ax_cv_libmemcached_util" = "xyes"], [ 129 LIBMEMCACHED_UTIL_LDFLAGS="-lmemcached -lmemcachedutil" 130 AC_SUBST([LIBMEMCACHED_UTIL_LDFLAGS]) 131 ]) 132 ],[ 133 AC_DEFINE([HAVE_LIBMEMCACHED], [0], [Enable libmemcached support]) 134 ]) 135 AM_CONDITIONAL(HAVE_LIBMEMCACHED, test "x${ax_enable_libmemcached}" = "xyes") 136 ]) 137 138AC_DEFUN([AX_ENABLE_LIBMEMCACHED], [ AC_REQUIRE([_ENABLE_LIBMEMCACHED]) ]) 139