X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=configure.ac;h=bd5f002a12d0cfbc37c57b2be948dd4bf44ce0a1;hb=97560b4538f657699e21acbe67f079257830e01c;hp=cef0d63f523a3a880d46b2b7f989d9033d788c61;hpb=a6de51d195e6b3692dc8756c1bab8e96c4d1b9c0;p=umurmur.git diff --git a/configure.ac b/configure.ac index cef0d63..bd5f002 100644 --- a/configure.ac +++ b/configure.ac @@ -29,13 +29,15 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.63]) -AC_INIT([umurmur], [0.2.6], [http://code.google.com/p/umurmur/issues/entry], [umurmur], [http://code.google.com/p/umurmur]) +AC_INIT([umurmur], [0.2.11], [http://code.google.com/p/umurmur/issues/entry], [umurmur], [http://code.google.com/p/umurmur]) AC_CONFIG_SRCDIR([src/client.h]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE # Configure options. -AC_ARG_WITH([openssl], [AC_HELP_STRING([--with-openssl], [force use of openssl])], [], [with_openssl=no]) +AC_ARG_WITH([ssl], [AC_HELP_STRING([--with-ssl=@<:@LIB@:>@], [SSL library (openssl|polarssl) @<:@default=polarssl@:>@])], [], [with_ssl=polarssl]) +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]) # Checks for programs. AC_PROG_CC @@ -44,20 +46,30 @@ AC_PROG_CC AC_CHECK_HEADERS([google/protobuf-c/protobuf-c.h], [], [AC_MSG_ERROR([could not find google/protobuf-c/protobuf-c.h])]) AC_CHECK_LIB([protobuf-c], [protobuf_c_data_buffer_init], [], [AC_MSG_ERROR([could not find protobuf-c library])]) AC_CHECK_HEADERS([libconfig.h], [], [AC_MSG_ERROR([could not find libconfig.h])]) -AC_CHECK_LIB([config], [config_init], [], [AC_MSG_ERROR([could not find config])]) -AS_IF([test "x$with_openssl" == xno], [ - AC_CHECK_HEADERS([polarssl/ssl.h]) - AC_CHECK_LIB([polarssl], [ssl_init]) +AC_CHECK_LIB([config], [config_init], [], [AC_MSG_ERROR([could not find libconfig])]) +AS_IF([test "x$with_ssl" = xpolarssl], [ + AC_CHECK_HEADERS([polarssl/ssl.h], [], [AC_MSG_ERROR([could not find polarssl/ssl.h])]) + AC_CHECK_HEADERS([polarssl/version.h], [], [AC_MSG_ERROR([could not find polarssl/version.h])]) + AC_CHECK_LIB([polarssl], [ssl_init], [], [AC_MSG_ERROR([could not find libpolarssl])]) + AC_DEFINE([USE_POLARSSL], [], [Use PolarSSL]) + AS_IF([test "x$enable_polarssl_test_cert" = xyes], [ + AC_CHECK_LIB([polarssl], [test_srv_crt], [], [AC_MSG_ERROR([could not find test_srv_crt])]) + AC_DEFINE([USE_POLARSSL_TESTCERT], [], [Use PolarSSL test certificate]) + ]) + AS_IF([test "x$enable_polarssl_havege" = xyes], [ + AC_CHECK_LIB([polarssl], [havege_init], [], [AC_MSG_ERROR([could not find havege_init])]) + AC_DEFINE([USE_POLARSSL_HAVEGE], [], [Use PolarSSL HAVEGE random generator]) + ]) +]) +AS_IF([test "x$with_ssl" = xopenssl], [ + AC_CHECK_HEADERS([openssl/ssl.h], [], [AC_MSG_ERROR([could not find openssl/ssl.h])]) + 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])]) ]) - -AC_CHECK_HEADERS([openssl/ssl.h]) -AC_CHECK_LIB([crypto], [BN_init]) -AC_CHECK_LIB([ssl], [SSL_library_init]) - # Checks for header files. AC_FUNC_ALLOCA -AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h malloc.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/socket.h sys/time.h syslog.h unistd.h], [], [AC_MSG_ERROR([missing a required header])]) +AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h netinet/tcp.h stddef.h stdint.h stdlib.h string.h sys/socket.h sys/time.h syslog.h unistd.h sys/poll.h], [], [AC_MSG_ERROR([missing a required header])]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL @@ -72,22 +84,7 @@ AC_TYPE_UINT64_T AC_TYPE_UINT8_T # Checks for library functions. -AC_FUNC_FORK -#AC_FUNC_MALLOC -AC_CHECK_FUNCS([ftruncate gettimeofday inet_ntoa memchr memmove memset socket strdup strerror strrchr uname], [], [AC_MSG_ERROR([missing a required func])]) - -# Choose PolarSSL as default if present, fallback on OpenSSL if not or if --with-openssl was specified. -AS_IF([test "x$with_openssl" == xno -a "x$ac_cv_lib_polarssl_ssl_init" == xyes -a "x$ac_cv_header_polarssl_ssl_h" == xyes], - [ - AC_DEFINE([USE_POLARSSL], [], [Use PolarSSL]) - AC_MSG_NOTICE([Using PolarSSL as SSL library]) - ], - [AS_IF([test "x$ac_cv_lib_ssl_SSL_library_init" != xyes -o "x$ac_cv_lib_crypto_BN_init" != xyes -o "x$ac_cv_header_openssl_ssl_h" != xyes], - [AS_IF([test "x$with_openssl" != xno], - [AC_MSG_ERROR([OpenSSL not found])], - [AC_MSG_ERROR([could not find any ssl library])])], - [AC_MSG_NOTICE([Using OpenSSL as SSL library])])] -) +AC_CHECK_FUNCS([ftruncate gettimeofday inet_ntoa memchr memmove memset socket strdup strerror strrchr uname poll], [], [AC_MSG_ERROR([missing a required func])]) AC_CONFIG_FILES([Makefile src/Makefile]) AC_OUTPUT