1 # Copyright (C) 2011, Antoine Bertin <diaoulael@gmail.com>
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions
9 # - Redistributions of source code must retain the above copyright notice,
10 # this list of conditions and the following disclaimer.
11 # - Redistributions in binary form must reproduce the above copyright notice,
12 # this list of conditions and the following disclaimer in the documentation
13 # and/or other materials provided with the distribution.
14 # - Neither the name of the Developers nor the names of its contributors may
15 # be used to endorse or promote products derived from this software without
16 # specific prior written permission.
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
22 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 # Process this file with autoconf to produce a configure script.
32 AC_INIT([umurmur], [0.2.6], [http://code.google.com/p/umurmur/issues/entry], [umurmur], [http://code.google.com/p/umurmur])
33 AC_CONFIG_SRCDIR([src/client.h])
34 AC_CONFIG_HEADERS([config.h])
38 AC_ARG_WITH([openssl], [AC_HELP_STRING([--with-openssl], [force use of openssl])], [], [with_openssl=no])
40 # Checks for programs.
43 # Checks dependencies.
44 AC_CHECK_HEADERS([google/protobuf-c/protobuf-c.h], [], [AC_MSG_ERROR([could not find google/protobuf-c/protobuf-c.h])])
45 AC_CHECK_LIB([protobuf-c], [protobuf_c_data_buffer_init], [], [AC_MSG_ERROR([could not find protobuf-c library])])
46 AC_CHECK_HEADERS([libconfig.h], [], [AC_MSG_ERROR([could not find libconfig.h])])
47 AC_CHECK_LIB([config], [config_init], [], [AC_MSG_ERROR([could not find config])])
48 AS_IF([test "x$with_openssl" == xno], [
49 AC_CHECK_HEADERS([polarssl/ssl.h])
50 AC_CHECK_LIB([polarssl], [ssl_init])
53 AC_CHECK_HEADERS([openssl/ssl.h])
54 AC_CHECK_LIB([crypto], [BN_init])
55 AC_CHECK_LIB([ssl], [SSL_library_init])
58 # Checks for header files.
60 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])])
62 # Checks for typedefs, structures, and compiler characteristics.
74 # Checks for library functions.
77 AC_CHECK_FUNCS([ftruncate gettimeofday inet_ntoa memchr memmove memset socket strdup strerror strrchr uname], [], [AC_MSG_ERROR([missing a required func])])
79 # Choose PolarSSL as default if present, fallback on OpenSSL if not or if --with-openssl was specified.
80 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],
82 AC_DEFINE([USE_POLARSSL], [], [Use PolarSSL])
83 AC_MSG_NOTICE([Using PolarSSL as SSL library])
85 [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],
86 [AS_IF([test "x$with_openssl" != xno],
87 [AC_MSG_ERROR([OpenSSL not found])],
88 [AC_MSG_ERROR([could not find any ssl library])])],
89 [AC_MSG_NOTICE([Using OpenSSL as SSL library])])]
92 AC_CONFIG_FILES([Makefile src/Makefile])