Add compile-time check for POLARSSL_VERSION_FEATURES before using version_get_string().
[umurmur.git] / configure.ac
index d60781fac1c208c1592a386516611a3e04b77c98..72e6083a81b556503a507947480ba6d6050112ec 100644 (file)
 
 # Process this file with autoconf to produce a configure script.
 AC_PREREQ([2.63])
-AC_INIT([umurmur], [0.2.14], [http://code.google.com/p/umurmur/issues/entry], [umurmur], [http://code.google.com/p/umurmur])
+AC_INIT([umurmur], [0.2.16], [https://github.com/umurmur/umurmur/issues/new], [umurmur], [http://github.com/umurmur/umurmur])
 AC_CONFIG_SRCDIR([src/client.h])
 AC_CONFIG_HEADERS([src/config.h])
 AM_INIT_AUTOMAKE
 AC_CANONICAL_HOST
 
 # Configure options.
-AC_ARG_WITH([ssl], [AC_HELP_STRING([--with-ssl=@<:@LIB@:>@], [SSL library (openssl|polarssl) @<:@default=polarssl@:>@])], [], [with_ssl=polarssl])
+AC_ARG_WITH([ssl], [AC_HELP_STRING([--with-ssl=@<:@LIB@:>@], [SSL library (openssl|polarssl|gnutls) @<:@default=polarssl@:>@])], [], [with_ssl=polarssl])
+AC_ARG_ENABLE([shmapi], [AC_HELP_STRING([--enable-shmapi], [compile with Sharedmemory API support @<:@default=no@:>@])],[],[enable_shmapi=no] )
 AC_ARG_ENABLE(polarssl-test-cert, [  --enable-polarssl-test-cert  Link to PolarSSL test certificate and key @<:@default=no@:>@], [enable_polarssl_test_cert=yes])
-AC_ARG_ENABLE(polarssl-havege, [  --enable-polarssl-havege  Link to PolarSSL HAVEGE random generator key @<:@default=no@:>@ Deafult: /dev/urandom], [enable_polarssl_havege=yes])
+AC_ARG_ENABLE(polarssl-havege, [  --enable-polarssl-havege  Link to PolarSSL HAVEGE random generator key @<:@default=no@:>@ Default: /dev/urandom], [enable_polarssl_havege=yes])
 
 # Checks for programs.
 AC_PROG_CC
@@ -85,10 +86,33 @@ AS_IF([test "x$with_ssl" = xopenssl], [
        AC_CHECK_LIB([crypto], [BN_init], [], [AC_MSG_ERROR([could not find libcrypto])])
        AC_CHECK_LIB([ssl], [SSL_library_init], [], [AC_MSG_ERROR([could not find libssl])])
 ])
+AS_IF([test "x$with_ssl" = xgnutls], [
+       AC_CHECK_HEADERS([gnutls/gnutls.h], [], [AC_MSG_ERROR([could not find gnutls/gnutls.h])])
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([@%:@include <gnutls/gnutls.h>],
+                    [ #ifdef GNUTLS_E_PREMATURE_TERMINATION
+                      #else
+                      #error Unsuitable version of GnuTLS
+                      #endif
+                      ])], [], [AC_MSG_ERROR([Unsuitable version of GnuTL, minimum required is 3.0])])
+       AC_CHECK_LIB([gnutls], [gnutls_priority_init], [], [AC_MSG_ERROR([could not find libgnutls])])
+       AC_CHECK_LIB([nettle], [_nettle_aes_decrypt], [], [AC_MSG_ERROR([could not find libnettle])])
+       AC_DEFINE([USE_GNUTLS], [], [Use GnuTLS])
+])
 
 AM_CONDITIONAL(USE_OPENSSL, test x$with_ssl = xopenssl)
 AM_CONDITIONAL(USE_GNUTLS, test x$with_ssl = xgnutls)
 
+AS_IF([test "x$enable_shmapi" != xno],
+       [
+       AM_CONDITIONAL(USE_SHAREDMEMORY_API, true)
+       AC_DEFINE([USE_SHAREDMEMORY_API],[],[Use sharedmemory API])
+    AC_CHECK_FUNC([shm_open], [], [AC_CHECK_LIB([rt], [shm_open], [], [AC_MSG_ERROR([could not find shm_open() in librt])])])
+       ], [
+       AM_CONDITIONAL(USE_SHAREDMEMORY_API, false)
+])
+
+
+
 AC_DEFINE([DEFAULT_CONFIG], ["/etc/umurmur.conf"], [Default config])
 
 # Checks for header files.