| Download M4 Source | Macro History | Category Index |
AX_LIB_GCRYPT([yes|no|auto])
Searches for the 'gcrypt' library with the --with... option.
If found, define HAVE_GCRYPT and macro GCRYPT_LIBS and GCRYPT_CFLAGS. Also defines GCRYPT_WITH_<algo> for the algorithms found available. Possible algorithms are: AES ARCFOUR BLOWFISH CAST5 DES IDEA RFC2268 SERPENT TWOFISH CRC HAVAL MD2 MD4 MD5 RMD160 SHA0 SHA1 SHA224 SHA256 SHA384 SHA512 TIGER WHIRLPOOL DSA ELGAMAL RSA
The argument is used if no --with...-gcrypt option is set. Value "yes" requires the configuration by default. Value "no" does not require it by default. Value "auto" configures the library only if available.
See also AX_LIB_BEECRYPT and AX_LIB_CRYPTO.
Fabien Coelho <autoconf.archive@coelho.net>
2008-08-07
# AX_CHECK_GCRYPT_ALGO([algo])
# generate convenient defines for each algorithm
AC_DEFUN([AX_CHECK_GCRYPT_ALGO],[
AC_REQUIRE([AC_PROG_EGREP])
AC_MSG_CHECKING([for $1 in gcrypt])
if echo $gcrypt_algos | $EGREP -i ":.*( $1 | $1$)" > /dev/null ; then
AC_DEFINE([GCRYPT_WITH_$1],[1],[Algorithm $1 in gcrypt library])
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
])
# AX_LIB_GCRYPT([yes|no|auto])
AC_DEFUN([AX_LIB_GCRYPT],[
AC_MSG_CHECKING([whether gcrypt is enabled])
AC_ARG_WITH([gcrypt],[ --with-gcrypt require gcrypt library
--without-gcrypt disable gcrypt library],[
AC_MSG_RESULT([$withval])
ac_with_gcrypt=$withval
],[
AC_MSG_RESULT($1)
ac_with_gcrypt=$1
])
if test "$ac_with_gcrypt" = "yes" -o "$ac_with_gcrypt" = "auto" ; then
AM_PATH_LIBGCRYPT([1.2.0],[
AC_DEFINE([HAVE_GCRYPT],[1],[Gcrypt library is available])
HAVE_GCRYPT=1
# checking for available algorithms...
gcrypt_algos=`$LIBGCRYPT_CONFIG --algorithms`
# ciphers
# this does not work with a "for" loop: nothing generated in config.h:-(
AX_CHECK_GCRYPT_ALGO([AES])
AX_CHECK_GCRYPT_ALGO([ARCFOUR])
AX_CHECK_GCRYPT_ALGO([BLOWFISH])
AX_CHECK_GCRYPT_ALGO([CAST5])
AX_CHECK_GCRYPT_ALGO([DES])
AX_CHECK_GCRYPT_ALGO([IDEA])
AX_CHECK_GCRYPT_ALGO([RFC2268])
AX_CHECK_GCRYPT_ALGO([SERPENT])
AX_CHECK_GCRYPT_ALGO([TWOFISH])
# digests
AX_CHECK_GCRYPT_ALGO([CRC])
AX_CHECK_GCRYPT_ALGO([HAVAL])
AX_CHECK_GCRYPT_ALGO([MD2])
AX_CHECK_GCRYPT_ALGO([MD4])
AX_CHECK_GCRYPT_ALGO([MD5])
AX_CHECK_GCRYPT_ALGO([RMD160])
AX_CHECK_GCRYPT_ALGO([SHA0])
AX_CHECK_GCRYPT_ALGO([SHA1])
AX_CHECK_GCRYPT_ALGO([SHA224])
AX_CHECK_GCRYPT_ALGO([SHA256])
AX_CHECK_GCRYPT_ALGO([SHA384])
AX_CHECK_GCRYPT_ALGO([SHA512])
AX_CHECK_GCRYPT_ALGO([TIGER])
AX_CHECK_GCRYPT_ALGO([WHIRLPOOL])
# others
AX_CHECK_GCRYPT_ALGO([DSA])
AX_CHECK_GCRYPT_ALGO([ELGAMAL])
AX_CHECK_GCRYPT_ALGO([RSA])
# conclusion
GCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
GCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
AC_SUBST(GCRYPT_CFLAGS)
AC_SUBST(GCRYPT_LIBS)
],[
# complain only if explicitely required
if test "$ac_with_gcrypt" = "yes" ; then
AC_MSG_ERROR([cannot configure required gcrypt library])
fi
])
fi
])
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.