pike.git / src / post_modules / Nettle / configure.in

version» Context lines:

pike.git/src/post_modules/Nettle/configure.in:1: + AC_INIT(nettle.cmod) + AC_CONFIG_HEADER(nettle_config.h)    -  + AC_SET_MAKE +  + AC_MODULE_INIT() +  + if test "$with_nettle" = "no"; then +  PIKE_FEATURE_WITHOUT(nettle) + else +  AC_CHECK_LIB(gmp, mpz_init) +  AC_CHECK_LIB(gmp, __mpz_init) +  AC_CHECK_LIB(gmp, __gmpz_init) +  AC_MSG_CHECKING(CryptAcquireContext in -ladvapi32) +  AC_CACHE_VAL(pike_cv_nettle_advapi32_CryptAcquireContext, +  [ +  OLDLIBS="$LIBS" +  LIBS="-ladvapi32 $LIBS" +  AC_TRY_LINK([#ifndef _WIN32_WINNT + #define _WIN32_WINNT 0x0400 + #endif + #include <windows.h> + #include <wincrypt.h> +  ],[CryptAcquireContext(0,0,0,0,0);], +  [pike_cv_nettle_advapi32_CryptAcquireContext=yes], +  [pike_cv_nettle_advapi32_CryptAcquireContext=no]) +  LIBS="$OLDLIBS" +  ]) +  AC_MSG_RESULT($pike_cv_nettle_advapi32_CryptAcquireContext) +  if test x"$pike_cv_nettle_advapi32_CryptAcquireContext" = xyes; then +  LIBS="-ladvapi32 $LIBS" +  fi +  AC_CHECK_LIB(nettle, nettle_md5_init) +  AC_CHECK_LIB(nettle, md5_init) +  +  AC_SUBST(IDEA_OBJ) +  +  if test "x$ac_cv_lib_nettle_nettle_md5_init" = "xyes" -o \ +  "x$ac_cv_lib_nettle_md5_init" = "xyes"; then +  PIKE_FEATURE_OK(Nettle) +  +  # md4 is available in later versions of nettle +  # camellia is available in Nettle 2.1 and later. +  AC_CHECK_HEADERS(nettle/camellia.h nettle/md4.h) +  AC_CHECK_FUNCS(nettle_md4_init) +  +  AC_MSG_CHECKING([for idea.c]) +  # Have the patent-encumbered idea files been purged? +  if test -f "$srcdir/idea.c" ; then +  AC_MSG_RESULT([found]) +  AC_DEFINE([WITH_IDEA], 1, [idea.c available]) +  IDEA_OBJ=idea.o +  else +  AC_MSG_RESULT([no]) +  IDEA_OBJ="" +  fi +  +  # These might have been purged from the Nettle lib to avoid GPL +  # contamination. +  AC_CHECK_FUNCS(nettle_blowfish_decrypt nettle_serpent_decrypt) +  +  # This is the recomended interface in Nettle 2.0. +  AC_CHECK_FUNCS(nettle_yarrow256_slow_reseed) +  +  AC_MSG_CHECKING([for struct yarrow256_ctx.seed_file]) +  AC_CACHE_VAL(pike_cv_nettle_struct_yarrow256_ctx_seed_file, [ +  pike_cv_nettle_struct_yarrow256_ctx_seed_file=no +  AC_TRY_COMPILE([ + #include <nettle/yarrow.h> +  ], [ +  struct yarrow256_ctx ctx; +  return !sizeof(ctx.seed_file); +  ], [ +  pike_cv_nettle_struct_yarrow256_ctx_seed_file=yes +  ]) +  ]) +  AC_MSG_RESULT($pike_cv_nettle_struct_yarrow256_ctx_seed_file); +  if test "x$pike_cv_nettle_struct_yarrow256_ctx_seed_file" = "xyes"; then +  AC_DEFINE(HAVE_STRUCT_YARROW256_CTX_SEED_FILE) +  fi +  +  AC_MSG_CHECKING([whether nettle_crypt_func is a pointer type]) +  AC_CACHE_VAL(pike_cv_nettle_crypt_func_is_pointer, [ +  pike_cv_nettle_crypt_func_is_pointer=no +  AC_TRY_COMPILE([ + /* Note: Old Nettles had the nettle_crypt_func typedef directly +  * in <nettle/nettle-meta.h> while more modern have it in +  * <nettle/nettle-types.h>. Since <nettle/nettle-meta.h> +  * pulls in <nettle/nettle-types.h> it should be sufficient. +  */ + #include <nettle/nettle-meta.h> +  ], [ +  nettle_crypt_func foo = (nettle_crypt_func)(void *)0; +  return (int)foo; +  ], [ +  pike_cv_nettle_crypt_func_is_pointer=yes +  ]) +  ]) +  AC_MSG_RESULT($pike_cv_nettle_crypt_func_is_pointer); +  if test "x$pike_cv_nettle_crypt_func_is_pointer" = "xyes"; then +  AC_DEFINE(HAVE_NETTLE_CRYPT_FUNC_IS_POINTER) +  fi +  else +  AC_ERROR([Cannot compile --with-nettle without the Nettle library. + It is highly recommended that you install a working Nettle library on + your system as that will add features to Pike required by many + applications. These features include ciphers, hash algorithms and + random generators. If you know that you do not need cryptographic + functions, you can re-run configure with the option --without-nettle + instead. Nettle is available at http://www.lysator.liu.se/~nisse/nettle/. +  ]) +  PIKE_FEATURE_NODEP(Nettle) +  fi + fi +  + AC_OUTPUT(Makefile,echo FOO >stamp-h )   Newline at end of file added.