1dnl Process this file with autoconf to produce a configure script. 2AC_INIT 3AC_PREREQ(2.50) 4AC_CONFIG_SRCDIR([configure.ac]) 5AM_INIT_AUTOMAKE(iksemel,1.5) 6AM_CONFIG_HEADER(include/config.h) 7 8AC_CANONICAL_HOST 9 10dnl Checks for programs 11AC_PROG_CC 12AC_PROG_INSTALL 13AC_CHECK_TOOL(OBJDUMP, objdump, :) 14AM_PROG_LIBTOOL 15AC_LANG_C 16PKG_PROG_PKG_CONFIG 17 18dnl Checks for header files 19AC_HEADER_STDC 20AC_CHECK_HEADERS(unistd.h strings.h errno.h) 21 22dnl Checks for typedefs and structures 23AC_C_CONST 24AC_C_INLINE 25AC_TYPE_SIZE_T 26AC_CHECK_MEMBERS([struct stat.st_blksize]) 27 28dnl Special check for windows 29case "$host_os" in 30 *mingw*) 31 AC_CHECK_LIB(wsock32, main, , AC_MSG_ERROR(Winsock is needed for a Win32 build.)) 32 ;; 33esac 34 35dnl Check for posix io 36AC_ARG_ENABLE(default-io, 37 AS_HELP_STRING([--disable-default-io],[disable builtin socket transport code]), 38 defio=$enableval, defio=yes) 39if test "$defio" = yes; then 40 AC_DEFINE(USE_DEFAULT_IO,1,[Define this is you want default transport]) 41fi 42AM_CONDITIONAL(DO_POSIX, test "x$defio" = "xyes") 43 44dnl Checks for library functions 45AC_SEARCH_LIBS(recv,socket) 46AC_CHECK_FUNCS(getopt_long) 47AC_CHECK_FUNCS(getaddrinfo) 48 49dnl Check -Wall flag of GCC 50if test "x$GCC" = "xyes"; then 51 if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then 52 CFLAGS="$CFLAGS -Wall" 53 fi 54fi 55 56dnl Options for overriding TLS checks 57AC_ARG_WITH([openssl], 58 AS_HELP_STRING([--without-openssl],[disable checking for openssl]), 59 [with_openssl=$enableval], 60 [with_openssl=yes] 61) 62AC_ARG_WITH([gnutls], 63 AS_HELP_STRING([--without-gnutls],[disable checking for GNU TLS]), 64 [with_gnutls=$enableval], 65 [with_gnutls=yes] 66) 67 68dnl Check OpenSSL 69if test "x$with_openssl" = "xyes"; then 70 PKG_CHECK_MODULES([OPENSSL], openssl >= 0.9.8, have_openssl=yes, have_openssl=no) 71 if test "x$have_openssl" = "xyes"; then 72 LIBOPENSSL_CFLAGS="$OPENSSL_CFLAGS" 73 LIBOPENSSL_LIBS="$OPENSSL_LIBS" 74 AC_SUBST(LIBOPENSSL_CFLAGS) 75 AC_SUBST(LIBOPENSSL_LIBS) 76 AC_DEFINE(HAVE_OPENSSL, 1, [whether to use OpenSSL support.]) 77 fi 78fi 79 80dnl Check GNU TLS 81if test "x$with_gnutls" = "xyes"; then 82 if test "x$have_openssl" != "xyes"; then 83 PKG_CHECK_MODULES([GNUTLS], gnutls >= 2.0.0, have_gnutls=yes, have_gnutls=no) 84 if test "x$have_gnutls" = "xyes"; then 85 LIBGNUTLS_CFLAGS="$GNUTLS_CFLAGS" 86 LIBGNUTLS_LIBS="$GNUTLS_LIBS" 87 AC_SUBST(LIBGNUTLS_CFLAGS) 88 AC_SUBST(LIBGNUTLS_LIBS) 89 AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.]) 90 fi 91 fi 92fi 93 94dnl Option for overriding Python check 95AC_ARG_ENABLE([python], 96 AS_HELP_STRING([--disable-python],[disable checking for Python bindings]), 97 [with_python=$enableval], 98 [with_python=yes] 99) 100 101dnl a macro to check for ability to create python extensions 102dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) 103dnl function also defines PYTHON_INCLUDES 104AC_DEFUN([AM_CHECK_PYTHON_HEADERS], 105[AC_REQUIRE([AM_PATH_PYTHON]) 106AC_MSG_CHECKING(for headers required to compile python extensions) 107dnl deduce PYTHON_INCLUDES 108py_prefix=`$PYTHON -c "import sys; print sys.prefix"` 109py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` 110PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" 111if test "$py_prefix" != "$py_exec_prefix"; then 112 PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" 113fi 114AC_SUBST(PYTHON_INCLUDES) 115dnl check if the headers exist: 116save_CPPFLAGS="$CPPFLAGS" 117CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" 118AC_TRY_CPP([#include <Python.h>],dnl 119[AC_MSG_RESULT(found) 120$1],dnl 121[AC_MSG_RESULT(not found) 122$2]) 123CPPFLAGS="$save_CPPFLAGS" 124]) 125 126dnl Check Python for binding 127if test "x$with_python" = "xyes"; then 128 with_python=no 129 AM_PATH_PYTHON([2.2], , [:]) 130 AM_CHECK_PYTHON_HEADERS(with_python=yes,[AC_MSG_ERROR(could not find Python headers)]) 131fi 132AM_CONDITIONAL([DO_PYTHON], [test "x$with_python" = "xyes"]) 133 134dnl Generating makefiles 135AC_CONFIG_FILES([ 136Makefile 137iksemel.pc 138src/Makefile 139include/Makefile 140tools/Makefile 141python/Makefile 142test/Makefile 143doc/Makefile 144]) 145AC_OUTPUT 146