1# GnuTLS LIBGNUTLS_CHECK_CONFIG ([DEFAULT-ACTION]) 2# ---------------------------------------------------------- 3# Derived from libssh2.m4 written by 4# Alexander Vladishev Oct-26-2009 5# Dmitry Borovikov Feb-13-2010 6# 7# Checks for GnuTLS library libgnutls. DEFAULT-ACTION is the string 8# yes or no to specify whether to default to --with-gnutls or 9# --without-gnutls. If not supplied, DEFAULT-ACTION is no. 10# 11# This macro #defines HAVE_GNUTLS if a required header files are 12# found, and sets @GNUTLS_LDFLAGS@, @GNUTLS_CFLAGS@ and @GNUTLS_LIBS@ 13# to the necessary values. 14# 15# Users may override the detected values by doing something like: 16# GNUTLS_LIBS="-lgnutls" GNUTLS_CFLAGS="-I/usr/myinclude" ./configure 17# 18# This macro is distributed in the hope that it will be useful, 19# but WITHOUT ANY WARRANTY; without even the implied warranty of 20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 21 22AC_DEFUN([LIBGNUTLS_TRY_LINK], 23[ 24AC_TRY_LINK( 25[ 26#include <gnutls/gnutls.h> 27], 28[ 29 gnutls_global_init(); 30], 31found_gnutls="yes",) 32])dnl 33 34AC_DEFUN([LIBGNUTLS_ACCEPT_VERSION], 35[ 36 # Zabbix minimal supported version of libgnutls: 37 minimal_gnutls_version_major=3 38 minimal_gnutls_version_minor=1 39 minimal_gnutls_version_patch=18 40 41 # get version 42 found_gnutls_version_major=`cat $1 | $EGREP \#define.*GNUTLS_VERSION_MAJOR | $AWK '{print @S|@3;}'` 43 found_gnutls_version_minor=`cat $1 | $EGREP \#define.*GNUTLS_VERSION_MINOR | $AWK '{print @S|@3;}'` 44 found_gnutls_version_patch=`cat $1 | $EGREP \#define.*GNUTLS_VERSION_PATCH | $AWK '{print @S|@3;}'` 45 46 if test $((found_gnutls_version_major)) -gt $((minimal_gnutls_version_major)); then 47 accept_gnutls_version="yes" 48 elif test $((found_gnutls_version_major)) -lt $((minimal_gnutls_version_major)); then 49 accept_gnutls_version="no" 50 elif test $((found_gnutls_version_minor)) -gt $((minimal_gnutls_version_minor)); then 51 accept_gnutls_version="yes" 52 elif test $((found_gnutls_version_minor)) -lt $((minimal_gnutls_version_minor)); then 53 accept_gnutls_version="no" 54 elif test $((found_gnutls_version_patch)) -ge $((minimal_gnutls_version_patch)); then 55 accept_gnutls_version="yes" 56 else 57 accept_gnutls_version="no" 58 fi; 59])dnl 60 61AC_DEFUN([LIBGNUTLS_CHECK_CONFIG], 62[ 63 AC_ARG_WITH(gnutls,[ 64If you want to use encryption provided by GnuTLS library: 65AC_HELP_STRING([--with-gnutls@<:@=DIR@:>@],[use GnuTLS package @<:@default=no@:>@, DIR is the libgnutls install directory.])], 66 [ 67 if test "$withval" = "no"; then 68 want_gnutls="no" 69 _libgnutls_dir="no" 70 elif test "$withval" = "yes"; then 71 want_gnutls="yes" 72 _libgnutls_dir="no" 73 else 74 want_gnutls="yes" 75 _libgnutls_dir=$withval 76 fi 77 accept_gnutls_version="no" 78 ],[want_gnutls=ifelse([$1],,[no],[$1])] 79 ) 80 81 if test "x$want_gnutls" = "xyes"; then 82 AC_MSG_CHECKING(for GnuTLS support) 83 if test "x$_libgnutls_dir" = "xno"; then 84 if test -f /usr/local/include/gnutls/gnutls.h; then 85 GNUTLS_CFLAGS=-I/usr/local/include 86 GNUTLS_LDFLAGS=-L/usr/local/lib 87 GNUTLS_LIBS="-lgnutls" 88 found_gnutls="yes" 89 LIBGNUTLS_ACCEPT_VERSION([/usr/local/include/gnutls/gnutls.h]) 90 elif test -f /usr/include/gnutls/gnutls.h; then 91 GNUTLS_CFLAGS=-I/usr/include 92 GNUTLS_LDFLAGS=-L/usr/lib 93 GNUTLS_LIBS="-lgnutls" 94 found_gnutls="yes" 95 LIBGNUTLS_ACCEPT_VERSION([/usr/include/gnutls/gnutls.h]) 96 else #libraries are not found in default directories 97 found_gnutls="no" 98 AC_MSG_RESULT(no) 99 fi 100 else 101 if test -f $_libgnutls_dir/include/gnutls/gnutls.h; then 102 GNUTLS_CFLAGS=-I$_libgnutls_dir/include 103 GNUTLS_LDFLAGS=-L$_libgnutls_dir/lib 104 GNUTLS_LIBS="-lgnutls" 105 found_gnutls="yes" 106 LIBGNUTLS_ACCEPT_VERSION([$_libgnutls_dir/include/gnutls/gnutls.h]) 107 else 108 found_gnutls="no" 109 AC_MSG_RESULT(no) 110 fi 111 fi 112 fi 113 114 if test "x$found_gnutls" = "xyes"; then 115 am_save_cflags="$CFLAGS" 116 am_save_ldflags="$LDFLAGS" 117 am_save_libs="$LIBS" 118 119 CFLAGS="$CFLAGS $GNUTLS_CFLAGS" 120 LDFLAGS="$LDFLAGS $GNUTLS_LDFLAGS" 121 LIBS="$LIBS $GNUTLS_LIBS" 122 123 found_gnutls="no" 124 LIBGNUTLS_TRY_LINK([no]) 125 126 CFLAGS="$am_save_cflags" 127 LDFLAGS="$am_save_ldflags" 128 LIBS="$am_save_libs" 129 130 if test "x$found_gnutls" = "xyes"; then 131 AC_DEFINE([HAVE_GNUTLS], 1, [Define to 1 if you have the 'libgnutls' library (-lgnutls)]) 132 AC_MSG_RESULT(yes) 133 else 134 AC_MSG_RESULT(no) 135 GNUTLS_CFLAGS="" 136 GNUTLS_LDFLAGS="" 137 GNUTLS_LIBS="" 138 fi 139 fi 140 141 AC_SUBST(GNUTLS_CFLAGS) 142 AC_SUBST(GNUTLS_LDFLAGS) 143 AC_SUBST(GNUTLS_LIBS) 144 145])dnl 146