dnl Process this file with autoconf to produce a configure script. dnl Copyright (C) 2004 Simon Josefsson dnl Copyright (C) 2000, 2001, 2002, 2003, 2004 Nikos Mavroyanopoulos dnl dnl This file is part of GNU TLS. dnl dnl GNU TLS is free software; you can redistribute it and/or modify it dnl under the terms of the GNU Lesser General Public License as dnl published by the Free Software Foundation; either version 2.1 of dnl the License, or (at your option) any later version. dnl dnl GNU TLS is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl Lesser General Public License for more details. dnl dnl You should have received a copy of the GNU Lesser General Public dnl License along with GNU TLS; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA dnl 02111-1307, USA AC_INIT(gnutls, [1.1.22], [bug-gnutls@gnu.org]) AC_PREREQ(2.57) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.8 gnits dist-bzip2]) AM_CONFIG_HEADER(config.h) AB_INIT # Library code modified: REVISION++ # Interfaces changed/added/removed: CURRENT++ REVISION=0 # Interfaces added: AGE++ # Interfaces removed: AGE=0 LT_CURRENT=13 LT_REVISION=22 LT_AGE=1 AC_SUBST(LT_CURRENT) AC_SUBST(LT_REVISION) AC_SUBST(LT_AGE) GNUTLS_GCRYPT_VERSION=1:1.2.0 GNUTLS_LIBTASN1_VERSION=0.2.11 AC_DEFINE_UNQUOTED(GNUTLS_GCRYPT_VERSION, "$GNUTLS_GCRYPT_VERSION", [version of gcrypt]) AC_DEFINE_UNQUOTED(GNUTLS_LIBTASN1_VERSION, "$GNUTLS_LIBTASN1_VERSION", [version of libtasn1]) case "${target}" in *-*-mingw32*) LIBS="$LIBS -lwsock32" ;; *) ;; esac dnl In order to use the reentrant libc functions. dnl I hope it is portable enough. CFLAGS="${CFLAGS} -D_REENTRANT -D_THREAD_SAFE" opt_dmalloc_mode=no AC_MSG_CHECKING([whether in dmalloc mode]) AC_ARG_ENABLE(dmalloc-mode, AS_HELP_STRING([--enable-dmalloc-mode], [enable dmalloc mode]), opt_dmalloc_mode=$enableval) AC_MSG_RESULT($opt_dmalloc_mode) opt_efence_mode=no AC_MSG_CHECKING([whether in electric fence mode]) AC_ARG_ENABLE(efence-mode, AS_HELP_STRING([--enable-efence-mode], [enable electric fence mode]), opt_efence_mode=$enableval) AC_MSG_RESULT($opt_efence_mode) opt_developer_mode=no AC_MSG_CHECKING([whether in developer mode]) AC_ARG_ENABLE(developer-mode, AS_HELP_STRING([--enable-developer-mode], [enable developer mode]), opt_developer_mode=$enableval) AC_MSG_RESULT($opt_developer_mode) opt_profiler_mode=no AC_MSG_CHECKING([whether in profile mode]) AC_ARG_ENABLE(profile-mode, AS_HELP_STRING([--enable-profile-mode], [enable profiler]), opt_profiler_mode=$enableval) AC_MSG_RESULT($opt_profiler_mode) AC_MSG_RESULT([*** *** Checking for compilation programs... ]) dnl Checks for programs. AC_PROG_CC AC_PROG_LN_S GTK_DOC_CHECK(1.1) AC_MSG_RESULT([*** *** Detecting compiler options... ]) gl_EARLY AC_C_CONST AC_C_INLINE AC_MSG_CHECKING([whether C99 macros are supported]) AC_TRY_COMPILE(,[ #define test_mac(...) int z,y,x; test_mac(x,y,z); return 0; ], dnl ***** OK AC_DEFINE(C99_MACROS, 1, [C99 macros are supported]) AC_MSG_RESULT(yes), dnl ***** NOT FOUND AC_MSG_RESULT(no) AC_MSG_WARN([C99 macros not supported. This may affect compiling.])) if test $ac_cv_c_compiler_gnu != no; then if test x$opt_developer_mode = xyes; then CFLAGS="${CFLAGS} -g -Wno-format-y2k -Wall -Wcast-align -W -Wpointer-arith -Wchar-subscripts -Wformat-security -Wmissing-braces -Winline -Wstrict-prototypes" else CFLAGS="${CFLAGS} -O2 -finline-functions" fi if test x$opt_dmalloc_mode = xyes; then AC_CHECK_LIB(dmalloc, main) AC_DEFINE(USE_DMALLOC, 1, [enable the use of dmalloc]) else if test x$opt_efence_mode = xyes; then AC_CHECK_LIB(efence, main) AC_DEFINE(USE_EFENCE, 1, [use electric fence]) fi fi AC_MSG_CHECKING([whether we have GNU assembler]) GAS=`as --version < /dev/null 2>/dev/null | grep GNU` if test "$GAS"; then CFLAGS="${CFLAGS} -pipe" AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi fi AC_MSG_RESULT([*** *** Detecting C library capabilities... ]) AC_HEADER_STDC AC_HEADER_TIME AC_CHECK_HEADERS(unistd.h strings.h stddef.h alloca.h) AC_CHECK_HEADERS(sys/stat.h sys/types.h sys/socket.h) AC_CHECK_HEADERS(errno.h sys/time.h time.h) AC_CHECK_HEADERS(math.h limits.h float.h stdarg.h ctype.h) dnl opencdk AC_CHECK_HEADERS(netdb.h) AC_CHECK_FUNCS(vasprintf isascii memmove memmem mmap gmtime_r inet_ntop,,) AC_FUNC_ALLOCA AC_MSG_RESULT([*** *** Detecting system's parameters... ]) AC_CHECK_SIZEOF(unsigned long, 4) AC_CHECK_SIZEOF(unsigned int, 4) AC_CHECK_SIZEOF(unsigned short, 2) AC_CHECK_SIZEOF(unsigned char, 1) AC_CHECK_SIZEOF(unsigned char*, 4) AC_CHECK_TYPES(uint,,, [ # include ]) AC_CHECK_TYPE(ssize_t, DEFINE_SSIZE_T="#include " AC_SUBST(DEFINE_SSIZE_T) , AC_DEFINE(NO_SSIZE_T, 1, [no ssize_t type was found]) DEFINE_SSIZE_T="typedef int ssize_t;" AC_SUBST(DEFINE_SSIZE_T) ,[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_UNISTD_H # include #endif ]) AC_C_BIGENDIAN AC_CHECK_TYPE([socklen_t],, [AC_DEFINE([socklen_t], [size_t], [Define to `size_t' if `socklen_t' is missing.])], [ #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETDB_H #include #endif ]) AC_MSG_RESULT([*** *** Checking for external libraries... ]) AM_PATH_LIBGCRYPT($GNUTLS_GCRYPT_VERSION,, AC_MSG_ERROR([[ *** *** libgcrypt was not found. You may want to get it from *** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ *** ]])) dnl Can't disable - gnutls depends on gcrypt AC_DEFINE(USE_GCRYPT, 1, [use gcrypt]) # Use Nettle too? AC_ARG_WITH(nettle, AS_HELP_STRING([--with-nettle], [use Nettle for crypto (still need Libgcrypt)]), nettle=$withval, nettle=no) AC_MSG_CHECKING([whether to use Nettle too]) if test "$nettle" != "no" ; then AC_MSG_RESULT(yes) NETTLE_CFLAGS="-I\$(top_srcdir)/nettle" NETTLE_LIBS="\$(top_builddir)/nettle/libnettle.la" AX_CREATE_STDINT_H([nettle/nettle-types.h], [sys/types.h]) GC_RANDOM else AC_MSG_RESULT(no) fi AC_SUBST(NETTLE_CFLAGS) AC_SUBST(NETTLE_LIBS) AM_CONDITIONAL(LIBGCRYPT, test "$nettle" = "no") AM_CONDITIONAL(NETTLE, test "$nettle" != "no") AC_MSG_CHECKING([whether to disable SRP authentication support]) AC_ARG_ENABLE(srp-authentication, AS_HELP_STRING([--disable-srp-authentication], [disable the SRP authentication support]), ac_enable_srp=no) if test x$ac_enable_srp != xno; then AC_MSG_RESULT(no) AC_DEFINE(ENABLE_SRP, 1, [enable SRP authentication]) else AC_MSG_RESULT(yes) fi AC_MSG_CHECKING([whether to disable anonymous authentication support]) AC_ARG_ENABLE(anon-authentication, AS_HELP_STRING([--disable-anon-authentication], [disable the anonymous authentication support]), ac_enable_anon=no) if test x$ac_enable_anon != xno; then AC_MSG_RESULT(no) AC_DEFINE(ENABLE_ANON, 1, [enable anonymous authentication]) else AC_MSG_RESULT(yes) fi AC_MSG_CHECKING([whether to disable extra PKI stuff]) AC_ARG_ENABLE(extra-pki, AS_HELP_STRING([--disable-extra-pki], [only enable the basic PKI stuff]), ac_enable_pki=no) if test x$ac_enable_pki != xno; then AC_MSG_RESULT(no) AC_DEFINE(ENABLE_PKI, 1, [whether to include all the PKCS #x stuff and other PKI stuff]) else AC_MSG_RESULT(yes) fi dnl Check whether to disable OpenPGP authentication completely dnl from libgnutls-extra. ac_enable_openpgp=yes AC_MSG_CHECKING([whether to disable OpenPGP Certificate authentication support]) AC_ARG_ENABLE(openpgp-authentication, AS_HELP_STRING([--disable-openpgp-authentication], [disable the OpenPGP authentication support]), ac_enable_openpgp=no) if test x$ac_enable_openpgp = xno; then AC_MSG_RESULT(yes) else AC_DEFINE(USE_OPENPGP, 1, [use openpgp authentication]) AC_MSG_RESULT(no) fi AM_CONDITIONAL(ENABLE_OPENPGP, test "$ac_enable_openpgp" = "yes") dnl Test whether to use the included opencdk library dnl if test x$ac_enable_openpgp = xyes; then AC_ARG_WITH(included-opencdk, AS_HELP_STRING([--with-included-opencdk], [use the included opencdk]), ac_enable_included_opencdk=$withval, ac_enable_included_opencdk=no) if test x$ac_enable_included_opencdk = xno;then AM_PATH_LIBOPENCDK(0.5.5, , ac_enable_included_opencdk=yes AC_MSG_WARN([[ *** *** libopencdk 0.5.5 was not found. You may want to get it from *** ftp://ftp.gnutls.org/pub/gnutls/opencdk/ *** *** Will use the included opencdk. *** ]])) fi AC_MSG_CHECKING([whether to use the included opencdk]) AC_MSG_RESULT($ac_enable_included_opencdk) fi AM_CONDITIONAL(ENABLE_INCLUDED_OPENCDK, test "$ac_enable_included_opencdk" = "yes") ac_enable_openssl=yes AC_MSG_CHECKING([whether to disable OpenSSL compatibility layer]) AC_ARG_ENABLE(openssl-compatibility, AS_HELP_STRING([--disable-openssl-compatibility], [disable the OpenSSL compatibility support]), ac_enable_openssl=no) if test x$ac_enable_openssl != xno; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) fi AM_CONDITIONAL(ENABLE_OPENSSL, test "$ac_enable_openssl" = "yes") AC_ARG_WITH(included-libtasn1, AS_HELP_STRING([--with-included-libtasn1], [use the included libtasn1]), minitasn1_enabled=yes, minitasn1_enabled=no) if test x$minitasn1_enabled = xno; then AM_PATH_LIBTASN1($GNUTLS_LIBTASN1_VERSION,, minitasn1_enabled=yes AC_MSG_WARN([[ *** *** LibtASN1 ${GNUTLS_LIBTASN1_VERSION} was not found. Will use the included one. ]])) fi SAVED_LIBS=$LIBS AC_MSG_CHECKING([whether to use the included minitasn1]) AC_MSG_RESULT($minitasn1_enabled) dnl CHECK FOR THE LIBTASN1 LIBRARY or use the included one dnl AM_CONDITIONAL(ENABLE_MINITASN1, test "$minitasn1_enabled" = "yes") dnl Check for libcfg+ AC_ARG_WITH(included-libcfg, AS_HELP_STRING([--with-included-libcfg], [use the included libcfg+ (certtool only)]), libcfg_enabled=$withval, libcfg_enabled=no dnl We search for libcfg+ which is used by certtool dnl AC_CHECK_LIB(cfg+, cfg_get_context,:, libcfg_enabled=yes AC_MSG_WARN([[ *** *** Libcfg+ was not found. Will use the included one.]]))) AM_CONDITIONAL(HAVE_LIBCFG, test "$libcfg_enabled" = "no") LIBS=$SAVED_LIBS AC_MSG_CHECKING([whether to use the included libcfg]) AC_MSG_RESULT($libcfg_enabled) dnl CHECK FOR ZLIB SUPPORT dnl AC_MSG_CHECKING([whether to include zlib compression support]) AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib], [disable zlib compression support]), ac_zlib=$withval, ac_zlib=yes) if test x$ac_zlib != xno; then AC_MSG_RESULT(yes) AC_CHECK_LIB(z, compress,,AC_MSG_WARN( *** *** ZLIB was not found. You will not be able to use ZLIB compression.)) else AC_MSG_RESULT(no) fi dnl CHECK FOR LZO SUPPORT (whether to use the included one) dnl minilzo_enabled=no use_lzo=yes AC_ARG_WITH(lzo, AS_HELP_STRING([--without-lzo], [do not use lzo compression]), use_lzo=no, use_lzo=yes) AC_MSG_CHECKING([whether to include lzo compression support]) AC_MSG_RESULT($use_lzo) if test x$use_lzo = xyes; then AC_DEFINE(USE_LZO, 1, [whether to use the lzo compression]) AC_ARG_WITH(included-lzo, AS_HELP_STRING([--with-included-lzo], [include minilzo in libgnutls-extra]), minilzo_enabled=$withval, minilzo_enabled=no) AC_MSG_CHECKING([whether to use the included lzo compression library]) AC_MSG_RESULT($minilzo_enabled) if test x$minilzo_enabled = xno; then AC_CHECK_LIB(lzo, lzo1x_1_compress, minilzo_enabled=no, minilzo_enabled=yes AC_MSG_WARN( *** *** Liblzo was not found. Will use the included minilzo.)) fi if test x"$minilzo_enabled" = xyes; then AC_DEFINE(USE_MINILZO, 1, [whether to use the included minilzo]) else LZO_LIBS=-llzo AC_SUBST(LZO_LIBS) fi dnl use lzo fi AM_CONDITIONAL(USE_LZO, test "$use_lzo" = "yes") AM_CONDITIONAL(ENABLE_INCLUDED_LZO, test "$minilzo_enabled" = "yes") AC_MSG_RESULT([*** *** Setting up gnulib compatbility files... ]) gl_SOURCE_BASE(gl) gl_M4_BASE(gl/m4) gl_MODULES(getline error progname getpass-gnu minmax snprintf) gl_INIT AC_MSG_RESULT([*** *** Detecting options for shared libraries... ]) AM_PROG_LIBTOOL LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS -I${includedir}" AC_SUBST(LIBGNUTLS_LIBS) AC_SUBST(LIBGNUTLS_CFLAGS) LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS -I${includedir}" AC_SUBST(LIBGNUTLS_EXTRA_LIBS) AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS) CFLAGS="${CFLAGS} ${LIBGCRYPT_CFLAGS}" if test $ac_cv_c_compiler_gnu != no; then if test x$opt_profiler_mode = xyes; then AC_CHECK_PROG(FC_OK, fc-config, yes, no) if test x$FC_OK = xyes; then CFLAGS="${CFLAGS} `fc-config --cflags`" LIBS="$LIBS `fc-config --libs`" else AC_MSG_WARN(*** *** You must install libfc in order to enable profiling. http://www710.univ-lyon1.fr/~yperret/fnccheck/profiler.html ) fi fi fi AC_CONFIG_FILES(lib/gnutls.h.in) AC_CONFIG_COMMANDS([includes/gnutls/gnutls.h],[[ test -f lib/gnutls.h.in || (echo "Could not generate includes/gnutls/gnutls.h" && exit 1) cat lib/gnutls.h.in > includes/gnutls/gnutls.h cat $srcdir/lib/gnutls_ui.h >> includes/gnutls/gnutls.h echo "" >> includes/gnutls/gnutls.h cat $srcdir/lib/gnutls_errors_int.h | grep -v _INT_ >> includes/gnutls/gnutls.h echo "" >> includes/gnutls/gnutls.h echo "#ifdef __cplusplus" >> includes/gnutls/gnutls.h echo "}" >> includes/gnutls/gnutls.h echo "#endif" >> includes/gnutls/gnutls.h echo "#endif /* GNUTLS_H */" >> includes/gnutls/gnutls.h echo "" >> includes/gnutls/gnutls.h chmod +x lib/libgnutls-config chmod +x libextra/libgnutls-extra-config ]],[[]]) AC_CONFIG_FILES([Makefile src/Makefile libextra/Makefile lib/Makefile \ libextra/openpgp/Makefile libextra/opencdk/Makefile doc/reference/Makefile \ lib/libgnutls-config libextra/libgnutls-extra-config \ doc/Makefile src/x509/Makefile src/srp/Makefile src/openpgp/Makefile \ src/cfg/Makefile src/cfg/platon/Makefile src/cfg/platon/str/Makefile \ doc/scripts/Makefile lib/minitasn1/Makefile lib/x509/Makefile \ includes/Makefile includes/gnutls/Makefile doc/manpages/Makefile \ gl/Makefile nettle/Makefile nettle/tests/Makefile \ crypto/Makefile tests/Makefile \ lib/gnutls.pc libextra/gnutls-extra.pc]) AC_OUTPUT