diff options
Diffstat (limited to 'plugins/MirOTR/Libgcrypt/read/configure.ac')
-rw-r--r-- | plugins/MirOTR/Libgcrypt/read/configure.ac | 1173 |
1 files changed, 0 insertions, 1173 deletions
diff --git a/plugins/MirOTR/Libgcrypt/read/configure.ac b/plugins/MirOTR/Libgcrypt/read/configure.ac deleted file mode 100644 index a063f37ae2..0000000000 --- a/plugins/MirOTR/Libgcrypt/read/configure.ac +++ /dev/null @@ -1,1173 +0,0 @@ -# Configure.ac script for Libgcrypt -# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, -# 2007, 2008, 2009 Free Software Foundation, Inc. -# -# This file is part of Libgcrypt. -# -# Libgcrypt is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as -# published by the Free Software Foundation; either version 2.1 of -# the License, or (at your option) any later version. -# -# Libgcrypt is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this program; if not, see <http://www.gnu.org/licenses/>. - -# (Process this file with autoconf to produce a configure script.) -AC_REVISION($Revision: 1438 $) -AC_PREREQ(2.60) -min_automake_version="1.10" - - -# Remember to change the version number immediately *after* a release. -# Set my_issvn to "yes" for non-released code. Remember to run an -# "svn up" and "autogen.sh" right before creating a distribution. -m4_define([my_version], [1.4.6]) -m4_define([my_issvn], [no]) - -m4_define([svn_revision], m4_esyscmd([printf "%d" $(svn info 2>/dev/null \ - | sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)])) -AC_INIT([libgcrypt], - [my_version[]m4_if(my_issvn,[yes],[-svn[]svn_revision])], - [bug-libgcrypt@gnupg.org]) -# LT Version numbers, remember to change them just *before* a release. -# (Interfaces removed: CURRENT++, AGE=0, REVISION=0) -# (Interfaces added: CURRENT++, AGE++, REVISION=0) -# (No interfaces changed: REVISION++) -LIBGCRYPT_LT_CURRENT=17 -LIBGCRYPT_LT_AGE=6 -LIBGCRYPT_LT_REVISION=0 - - -# If the API is changed in an incompatible way: increment the next counter. -LIBGCRYPT_CONFIG_API_VERSION=1 - -NEED_GPG_ERROR_VERSION=1.4 - -is_development_version=my_issvn -BUILD_REVISION=svn_revision -PACKAGE=$PACKAGE_NAME -VERSION=$PACKAGE_VERSION - -AC_CONFIG_SRCDIR([src/libgcrypt.vers]) -AM_INIT_AUTOMAKE($PACKAGE, $VERSION) -AM_CONFIG_HEADER(config.h) -AC_CANONICAL_HOST -AM_MAINTAINER_MODE - -AH_TOP([ -#ifndef _GCRYPT_CONFIG_H_INCLUDED -#define _GCRYPT_CONFIG_H_INCLUDED -/* need this, because some autoconf tests rely on this (e.g. stpcpy) - * and it should be used for new programs */ -#define _GNU_SOURCE 1 -]) - -AH_BOTTOM([ -#define _GCRYPT_IN_LIBGCRYPT 1 - -/* If the configure check for endianness has been disabled, get it from - OS macros. This is intended for making fat binary builds on OS X. */ -#ifdef DISABLED_ENDIAN_CHECK -# if defined(__BIG_ENDIAN__) -# define WORDS_BIGENDIAN 1 -# elif defined(__LITTLE_ENDIAN__) -# undef WORDS_BIGENDIAN -# else -# error "No endianness found" -# endif -#endif /*DISABLED_ENDIAN_CHECK*/ - -/* We basically use the original Camellia source. Make sure the symbols - properly prefixed. */ -#define CAMELLIA_EXT_SYM_PREFIX _gcry_ - -/* This error code is only available with gpg-error 1.7. Thus - we define it here with the usual gcry prefix. */ -#define GCRY_GPG_ERR_NOT_OPERATIONAL 176 - - -#endif /*_GCRYPT_CONFIG_H_INCLUDED*/ -]) - -AH_VERBATIM([_REENTRANT], -[/* To allow the use of Libgcrypt in multithreaded programs we have to use - special features from the library. */ -#ifndef _REENTRANT -# define _REENTRANT 1 -#endif -]) - - -AC_SUBST(LIBGCRYPT_LT_CURRENT) -AC_SUBST(LIBGCRYPT_LT_AGE) -AC_SUBST(LIBGCRYPT_LT_REVISION) -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package]) - - -###################### -## Basic checks. ### (we need some results later on (e.g. $GCC) -###################### - -AC_PROG_MAKE_SET -missing_dir=`cd $ac_aux_dir && pwd` -AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) -AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) -AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) -AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) -# AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) -AC_PROG_CC -AC_PROG_CPP -AM_PROG_CC_C_O -AM_PROG_AS -AC_ISC_POSIX -AC_PROG_INSTALL -AC_PROG_AWK - -AC_LIBTOOL_WIN32_DLL -AC_LIBTOOL_RC -AM_PROG_LIBTOOL - - -########################## -## General definitions. ## -########################## - -# Used by libgcrypt-config -LIBGCRYPT_CONFIG_LIBS="-lgcrypt" -LIBGCRYPT_CONFIG_CFLAGS="" - -# Definitions for symmetric ciphers. -available_ciphers="arcfour blowfish cast5 des aes twofish serpent rfc2268 seed" -available_ciphers="$available_ciphers camellia" -enabled_ciphers="" - -# Definitions for public-key ciphers. -available_pubkey_ciphers="dsa elgamal rsa ecc" -enabled_pubkey_ciphers="" - -# Definitions for message digests. -available_digests="crc md4 md5 rmd160 sha1 sha256" -available_digests_64="sha512 tiger whirlpool" -enabled_digests="" - -# Definitions for random modules. -available_random_modules="linux egd unix" -auto_random_modules="$available_random_modules" - -# Supported thread backends. -LIBGCRYPT_THREAD_MODULES="" - -# Other definitions. -print_egd_notice=no -have_w32_system=no - -# Setup some stuff depending on host. -case "${host}" in - *-*-mingw32*) - available_random_modules="w32" - ac_cv_have_dev_random=no - have_w32_system=yes - AC_DEFINE(USE_ONLY_8DOT3,1, - [set this to limit filenames to the 8.3 format]) - AC_DEFINE(HAVE_DRIVE_LETTERS,1, - [defined if we must run on a stupid file system]) - AC_DEFINE(HAVE_DOSISH_SYSTEM,1, - [defined if we run on some of the PCDOS like systems - (DOS, Windoze. OS/2) with special properties like - no file modes]) - ;; - - i?86-emx-os2 | i?86-*-os2*emx) - # OS/2 with the EMX environment - ac_cv_have_dev_random=no - AC_DEFINE(HAVE_DRIVE_LETTERS) - AC_DEFINE(HAVE_DOSISH_SYSTEM) - ;; - - i?86-*-msdosdjgpp*) - # DOS with the DJGPP environment - ac_cv_have_dev_random=no - AC_DEFINE(HAVE_DRIVE_LETTERS) - AC_DEFINE(HAVE_DOSISH_SYSTEM) - ;; - - *-*-freebsd*) - # FreeBSD - CPPFLAGS="$CPPFLAGS -I/usr/local/include" - LDFLAGS="$LDFLAGS -L/usr/local/lib" - ;; - - *-*-hpux*) - if test -z "$GCC" ; then - CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE" - fi - ;; - *-dec-osf4*) - if test -z "$GCC" ; then - # Suppress all warnings - # to get rid of the unsigned/signed char mismatch warnings. - CFLAGS="$CFLAGS -w" - fi - ;; - m68k-atari-mint) - ;; - *) - ;; -esac - -if test "$have_w32_system" = yes; then - AC_DEFINE(HAVE_W32_SYSTEM,1, [Defined if we run on a W32 API based system]) -fi -AM_CONDITIONAL(HAVE_W32_SYSTEM, test "$have_w32_system" = yes) - - - -# A printable OS Name is sometimes useful. -case "${host}" in - *-*-mingw32*) - PRINTABLE_OS_NAME="MingW32" - ;; - - i?86-emx-os2 | i?86-*-os2*emx ) - PRINTABLE_OS_NAME="OS/2" - ;; - - i?86-*-msdosdjgpp*) - PRINTABLE_OS_NAME="MSDOS/DJGPP" - ;; - - *-linux*) - PRINTABLE_OS_NAME="GNU/Linux" - ;; - - *) - PRINTABLE_OS_NAME=`uname -s || echo "Unknown"` - ;; -esac - -# -# Figure out the name of the random device -# -case "${host}" in - *-openbsd*) - NAME_OF_DEV_RANDOM="/dev/srandom" - NAME_OF_DEV_URANDOM="/dev/urandom" - ;; - - *) - NAME_OF_DEV_RANDOM="/dev/random" - NAME_OF_DEV_URANDOM="/dev/urandom" - ;; -esac - - -AC_ARG_ENABLE(endian-check, - AC_HELP_STRING([--disable-endian-check], - [disable the endian check and trust the OS provided macros]), - endiancheck=$enableval,endiancheck=yes) -if test x"$endiancheck" = xyes ; then - AC_C_BIGENDIAN -else - AC_DEFINE(DISABLED_ENDIAN_CHECK,1,[configure did not test for endianess]) -fi - -AC_CHECK_SIZEOF(unsigned short, 2) -AC_CHECK_SIZEOF(unsigned int, 4) -AC_CHECK_SIZEOF(unsigned long, 4) -AC_CHECK_SIZEOF(unsigned long long, 0) - -AC_TYPE_UINTPTR_T - -if test "$ac_cv_sizeof_unsigned_short" = "0" \ - || test "$ac_cv_sizeof_unsigned_int" = "0" \ - || test "$ac_cv_sizeof_unsigned_long" = "0"; then - AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]); -fi - -# Do we have any 64-bit data types? -if test "$ac_cv_sizeof_unsigned_int" != "8" \ - && test "$ac_cv_sizeof_unsigned_long" != "8" \ - && test "$ac_cv_sizeof_unsigned_long_long" != "8" \ - && test "$ac_cv_sizeof_uint64_t" != "8"; then - AC_MSG_WARN([No 64-bit types. Disabling TIGER/192, SHA-384, and SHA-512]) -else - available_digests="$available_digests $available_digests_64" -fi - -# If not specified otherwise, all available algorithms will be -# included. -default_ciphers="$available_ciphers" -default_pubkey_ciphers="$available_pubkey_ciphers" -default_digests="$available_digests" - -############################ -## Command line switches. ## -############################ - -# Implementation of the --enable-ciphers switch. -AC_ARG_ENABLE(ciphers, - AC_HELP_STRING([--enable-ciphers=ciphers], - [select the symmetric ciphers to include]), - [enabled_ciphers=`echo $enableval | tr ',:' ' ' | tr '[A-Z]' '[a-z]'`], - [enabled_ciphers=""]) -if test "x$enabled_ciphers" = "x" \ - -o "$enabled_ciphers" = "yes" \ - -o "$enabled_ciphers" = "no"; then - enabled_ciphers=$default_ciphers -fi -AC_MSG_CHECKING([which symmetric ciphers to include]) -for cipher in $enabled_ciphers; do - LIST_MEMBER($cipher, $available_ciphers) - if test "$found" = "0"; then - AC_MSG_ERROR([unsupported cipher "$cipher" specified]) - fi -done -AC_MSG_RESULT([$enabled_ciphers]) - -# Implementation of the --enable-pubkey-ciphers switch. -AC_ARG_ENABLE(pubkey-ciphers, - AC_HELP_STRING([--enable-pubkey-ciphers=ciphers], - [select the public-key ciphers to include]), - [enabled_pubkey_ciphers=`echo $enableval | tr ',:' ' ' | tr '[A-Z]' '[a-z]'`], - [enabled_pubkey_ciphers=""]) -if test "x$enabled_pubkey_ciphers" = "x" \ - -o "$enabled_pubkey_ciphers" = "yes" \ - -o "$enabled_pubkey_ciphers" = "no"; then - enabled_pubkey_ciphers=$default_pubkey_ciphers -fi -AC_MSG_CHECKING([which public-key ciphers to include]) -for cipher in $enabled_pubkey_ciphers; do - LIST_MEMBER($cipher, $available_pubkey_ciphers) - if test "$found" = "0"; then - AC_MSG_ERROR([unsupported public-key cipher specified]) - fi -done -AC_MSG_RESULT([$enabled_pubkey_ciphers]) - -# Implementation of the --enable-digests switch. -AC_ARG_ENABLE(digests, - AC_HELP_STRING([--enable-digests=digests], - [select the message digests to include]), - [enabled_digests=`echo $enableval | tr ',:' ' ' | tr '[A-Z]' '[a-z]'`], - [enabled_digests=""]) -if test "x$enabled_digests" = "x" \ - -o "$enabled_digests" = "yes" \ - -o "$enabled_digests" = "no"; then - enabled_digests=$default_digests -fi -AC_MSG_CHECKING([which message digests to include]) -for digest in $enabled_digests; do - LIST_MEMBER($digest, $available_digests) - if test "$found" = "0"; then - AC_MSG_ERROR([unsupported message digest specified]) - fi -done -AC_MSG_RESULT([$enabled_digests]) - -# Implementation of the --enable-random switch. -AC_ARG_ENABLE(random, - AC_HELP_STRING([--enable-random=name], - [select which random number generator to use]), - [random=`echo $enableval | tr '[A-Z]' '[a-z]'`], - []) -if test "x$random" = "x" -o "$random" = "yes" -o "$random" = "no"; then - random=default -fi -AC_MSG_CHECKING([which random module to use]) -if test "$random" != "default" -a "$random" != "auto"; then - LIST_MEMBER($random, $available_random_modules) - if test "$found" = "0"; then - AC_MSG_ERROR([unsupported random module specified]) - fi -fi -AC_MSG_RESULT($random) - -# Implementation of the --disable-dev-random switch. -AC_MSG_CHECKING([whether use of /dev/random is requested]) -AC_ARG_ENABLE(dev-random, -[ --disable-dev-random disable the use of dev random], - try_dev_random=$enableval, try_dev_random=yes) -AC_MSG_RESULT($try_dev_random) - -# Implementation of the --with-egd-socket switch. -AC_ARG_WITH(egd-socket, - [ --with-egd-socket=NAME Use NAME for the EGD socket)], - egd_socket_name="$withval", egd_socket_name="" ) -AC_DEFINE_UNQUOTED(EGD_SOCKET_NAME, "$egd_socket_name", - [Define if you don't want the default EGD socket name. - For details see cipher/rndegd.c]) - -# Implementation of the --enable-random-daemon -AC_MSG_CHECKING([whether the experimental random daemon is requested]) -AC_ARG_ENABLE([random-daemon], - AC_HELP_STRING([--enable-random-daemon], - [Build and support the experimental gcryptrnd]), - [use_random_daemon=$enableval], - [use_random_daemon=no]) -AC_MSG_RESULT($use_random_daemon) -if test x$use_random_daemon = xyes ; then - AC_DEFINE(USE_RANDOM_DAEMON,1, - [Define to support the experimental random daemon]) -fi -AM_CONDITIONAL(USE_RANDOM_DAEMON, test x$use_random_daemon = xyes) - - -# Implementation of --disable-asm. -AC_MSG_CHECKING([whether MPI assembler modules are requested]) -AC_ARG_ENABLE([asm], - AC_HELP_STRING([--disable-asm], - [Disable MPI assembler modules]), - [try_asm_modules=$enableval], - [try_asm_modules=yes]) -AC_MSG_RESULT($try_asm_modules) - -# Implementation of the --enable-m-guard switch. -AC_MSG_CHECKING([whether memory guard is requested]) -AC_ARG_ENABLE(m-guard, - AC_HELP_STRING([--enable-m-guard], - [Enable memory guard facility]), - [use_m_guard=$enableval], [use_m_guard=no]) -AC_MSG_RESULT($use_m_guard) -if test "$use_m_guard" = yes ; then - AC_DEFINE(M_GUARD,1,[Define to use the (obsolete) malloc guarding feature]) -fi - -# Implementation of the --with-capabilities switch. -# Check whether we want to use Linux capabilities -AC_MSG_CHECKING([whether use of capabilities is requested]) -AC_ARG_WITH(capabilities, - AC_HELP_STRING([--with-capabilities], - [Use linux capabilities [default=no]]), - [use_capabilities="$withval"],[use_capabilities=no]) -AC_MSG_RESULT($use_capabilities) - -# Implementation of the --enable-hmac-binary-check. -AC_MSG_CHECKING([whether a HMAC binary check is requested]) -AC_ARG_ENABLE(hmac-binary-check, - AC_HELP_STRING([--enable-hmac-binary-check], - [Enable library integrity check]), - [use_hmac_binary_check=$enableval], - [use_hmac_binary_check=no]) -AC_MSG_RESULT($use_hmac_binary_check) -if test "$use_hmac_binary_check" = yes ; then - AC_DEFINE(ENABLE_HMAC_BINARY_CHECK,1, - [Define to support an HMAC based integrity check]) -fi - - -# Implementation of the --disable-padlock-support switch. -AC_MSG_CHECKING([whether padlock support is requested]) -AC_ARG_ENABLE(padlock-support, - AC_HELP_STRING([--disable-padlock-support], - [Disable support for the PadLock Engine of VIA processors]), - padlocksupport=$enableval,padlocksupport=yes) -AC_MSG_RESULT($padlocksupport) -if test x"$padlocksupport" = xyes ; then - AC_DEFINE(ENABLE_PADLOCK_SUPPORT, 1, - [Enable support for the PadLock engine.]) -fi - -# Implementation of the --disable-O-flag-munging switch. -AC_MSG_CHECKING([whether a -O flag munging is requested]) -AC_ARG_ENABLE([O-flag-munging], - AC_HELP_STRING([--disable-O-flag-munging], - [Disable modification of the cc -O flag]), - [enable_o_flag_munging=$enableval], - [enable_o_flag_munging=yes]) -AC_MSG_RESULT($enable_o_flag_munging) -AM_CONDITIONAL(ENABLE_O_FLAG_MUNGING, test "$enable_o_flag_munging" = "yes") - - -AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME", - [A human readable text with the name of the OS]) - -# For some systems we know that we have ld_version scripts. -# Use it then as default. -have_ld_version_script=no -case "${host}" in - *-*-linux*) - have_ld_version_script=yes - ;; - *-*-gnu*) - have_ld_version_script=yes - ;; -esac -AC_ARG_ENABLE([ld-version-script], - AC_HELP_STRING([--enable-ld-version-script], - [enable/disable use of linker version script. - (default is system dependent)]), - [have_ld_version_script=$enableval], - [ : ] ) -AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes") - -AC_DEFINE_UNQUOTED(NAME_OF_DEV_RANDOM, "$NAME_OF_DEV_RANDOM", - [defined to the name of the strong random device]) -AC_DEFINE_UNQUOTED(NAME_OF_DEV_URANDOM, "$NAME_OF_DEV_URANDOM", - [defined to the name of the weaker random device]) - -############################### -#### Checks for libraries. #### -############################### - -# -# gpg-error is required. -# -AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION") -if test "x$GPG_ERROR_LIBS" = "x"; then - AC_MSG_ERROR([libgpg-error is needed. - See ftp://ftp.gnupg.org/gcrypt/libgpg-error/ .]) -fi - -AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_GCRYPT, - [The default error source for libgcrypt.]) - -# -# Check whether the GNU Pth library is available. We require this -# to build the optional gcryptrnd program. -# -AC_ARG_WITH(pth-prefix, - AC_HELP_STRING([--with-pth-prefix=PFX], - [prefix where GNU Pth is installed (optional)]), - pth_config_prefix="$withval", pth_config_prefix="") -if test x$pth_config_prefix != x ; then - PTH_CONFIG="$pth_config_prefix/bin/pth-config" -fi -if test "$use_random_daemon" = "yes"; then - AC_PATH_PROG(PTH_CONFIG, pth-config, no) - if test "$PTH_CONFIG" = "no"; then - AC_MSG_WARN([[ -*** -*** To build the Libgcrypt's random number daemon -*** we need the support of the GNU Portable Threads Library. -*** Download it from ftp://ftp.gnu.org/gnu/pth/ -*** On a Debian GNU/Linux system you might want to try -*** apt-get install libpth-dev -***]]) - else - GNUPG_PTH_VERSION_CHECK([1.3.7]) - if test $have_pth = yes; then - PTH_CFLAGS=`$PTH_CONFIG --cflags` - PTH_LIBS=`$PTH_CONFIG --ldflags` - PTH_LIBS="$PTH_LIBS `$PTH_CONFIG --libs --all`" - AC_DEFINE(USE_GNU_PTH, 1, - [Defined if the GNU Portable Thread Library should be used]) - AC_DEFINE(HAVE_PTH, 1, - [Defined if the GNU Pth is available]) - fi - fi -fi -AC_SUBST(PTH_CFLAGS) -AC_SUBST(PTH_LIBS) - - -# Solaris needs -lsocket and -lnsl. Unisys system includes -# gethostbyname in libsocket but needs libnsl for socket. -AC_SEARCH_LIBS(setsockopt, [socket], , - [AC_SEARCH_LIBS(setsockopt, [socket], , , [-lnsl])]) -AC_SEARCH_LIBS(setsockopt, [nsl]) - -################################## -#### Checks for header files. #### -################################## - -AC_HEADER_STDC -AC_CHECK_HEADERS(unistd.h sys/select.h) - -########################################## -#### Checks for typedefs, structures, #### -#### and compiler characteristics. #### -########################################## - -AC_C_CONST -AC_C_INLINE -AC_TYPE_SIZE_T -AC_TYPE_SIGNAL -AC_DECL_SYS_SIGLIST - -GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF) -GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF) -GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF) -GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF) -GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF) - -gl_TYPE_SOCKLEN_T -case "${host}" in - *-*-mingw32*) - # socklen_t may or may not be defined depending on what headers - # are included. To be safe we use int as this is the actual type. - FALLBACK_SOCKLEN_T="typedef int gcry_socklen_t;" - ;; - *) - if test ".$gl_cv_socklen_t_equiv" = "."; then - FALLBACK_SOCKLEN_T="typedef socklen_t gcry_socklen_t;" - else - FALLBACK_SOCKLEN_T="typedef ${gl_cv_socklen_t_equiv} gcry_socklen_t;" - fi -esac -AC_SUBST(FALLBACK_SOCKLEN_T) - -# -# Check for ELF visibility support. -# -AC_CACHE_CHECK(whether the visibility attribute is supported, - gcry_cv_visibility_attribute, - [gcry_cv_visibility_attribute=no - AC_LANG_CONFTEST([AC_LANG_SOURCE( - [[int foo __attribute__ ((visibility ("hidden"))) = 1; - int bar __attribute__ ((visibility ("protected"))) = 1; - ]])]) - - if ${CC-cc} -Werror -S conftest.c -o conftest.s \ - 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ; then - if grep '\.hidden.*foo' conftest.s >/dev/null 2>&1 ; then - if grep '\.protected.*bar' conftest.s >/dev/null 2>&1; then - gcry_cv_visibility_attribute=yes - fi - fi - fi - ]) -if test "$gcry_cv_visibility_attribute" = "yes"; then - AC_CACHE_CHECK(for broken visibility attribute, - gcry_cv_broken_visibility_attribute, - [gcry_cv_broken_visibility_attribute=yes - AC_LANG_CONFTEST([AC_LANG_SOURCE( - [[int foo (int x); - int bar (int x) __asm__ ("foo") - __attribute__ ((visibility ("hidden"))); - int bar (int x) { return x; } - ]])]) - - if ${CC-cc} -Werror -S conftest.c -o conftest.s \ - 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ; then - if grep '\.hidden@<:@ _@:>@foo' conftest.s >/dev/null 2>&1; - then - gcry_cv_broken_visibility_attribute=no - fi - fi - ]) -fi -if test "$gcry_cv_visibility_attribute" = "yes"; then - AC_CACHE_CHECK(for broken alias attribute, - gcry_cv_broken_alias_attribute, - [gcry_cv_broken_alias_attribute=yes - AC_LANG_CONFTEST([AC_LANG_SOURCE( - [[extern int foo (int x) __asm ("xyzzy"); - int bar (int x) { return x; } - extern __typeof (bar) foo __attribute ((weak, alias ("bar"))); - extern int dfoo; - extern __typeof (dfoo) dfoo __asm ("abccb"); - int dfoo = 1; - ]])]) - - if ${CC-cc} -Werror -S conftest.c -o conftest.s \ - 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ; then - if grep 'xyzzy' conftest.s >/dev/null 2>&1 && \ - grep 'abccb' conftest.s >/dev/null 2>&1; then - gcry_cv_broken_alias_attribute=no - fi - fi - ]) -fi -if test "$gcry_cv_visibility_attribute" = "yes"; then - AC_CACHE_CHECK(if gcc supports -fvisibility=hidden, - gcry_cv_gcc_has_f_visibility, - [gcry_cv_gcc_has_f_visibility=no - _gcc_cflags_save=$CFLAGS - CFLAGS="-fvisibility=hidden" - AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), - gcry_cv_gcc_has_f_visibility=yes) - CFLAGS=$_gcc_cflags_save; - ]) -fi -if test "$gcry_cv_visibility_attribute" = "yes" \ - && test "$gcry_cv_broken_visibility_attribute" != "yes" \ - && test "$gcry_cv_broken_alias_attribute" != "yes" \ - && test "$gcry_cv_gcc_has_f_visibility" = "yes" - then - AC_DEFINE(GCRY_USE_VISIBILITY, 1, - [Define to use the GNU C visibility attribute.]) - CFLAGS="$CFLAGS -fvisibility=hidden" -fi - - -####################################### -#### Checks for library functions. #### -####################################### - -AC_FUNC_VPRINTF -# We have replacements for these in src/missing-string.c -AC_CHECK_FUNCS(stpcpy strcasecmp) -# We have replacements for these in src/g10lib.h -AC_CHECK_FUNCS(strtoul memmove stricmp atexit raise) -# Other checks -AC_CHECK_FUNCS(strerror rand mmap getpagesize sysconf waitpid wait4) -AC_CHECK_FUNCS(gettimeofday getrusage gethrtime clock_gettime syslog) -AC_CHECK_FUNCS(fcntl ftruncate) - -GNUPG_CHECK_MLOCK - - -# -# Check wether it is necessary to link against libdl. -# -DL_LIBS="" -if test "$use_hmac_binary_check" = yes ; then - _gcry_save_libs="$LIBS" - LIBS="" - AC_SEARCH_LIBS(dlopen, c dl,,,) - DL_LIBS=$LIBS - LIBS="$_gcry_save_libs" - LIBGCRYPT_CONFIG_LIBS="${LIBGCRYPT_CONFIG_LIBS} ${DL_LIBS}" -fi -AC_SUBST(DL_LIBS) - - -# -# Check whether we can use Linux capabilities as requested. -# -if test "$use_capabilities" = "yes" ; then -use_capabilities=no -AC_CHECK_HEADERS(sys/capability.h) -if test "$ac_cv_header_sys_capability_h" = "yes" ; then - AC_CHECK_LIB(cap, cap_init, ac_need_libcap=1) - if test "$ac_cv_lib_cap_cap_init" = "yes"; then - AC_DEFINE(USE_CAPABILITIES,1, - [define if capabilities should be used]) - LIBS="$LIBS -lcap" - use_capabilities=yes - fi -fi -if test "$use_capabilities" = "no" ; then - AC_MSG_WARN([[ -*** -*** The use of capabilities on this system is not possible. -*** You need a recent Linux kernel and some patches: -*** fcaps-2.2.9-990610.patch (kernel patch for 2.2.9) -*** fcap-module-990613.tar.gz (kernel module) -*** libcap-1.92.tar.gz (user mode library and utilities) -*** And you have to configure the kernel with CONFIG_VFS_CAP_PLUGIN -*** set (filesystems menu). Be warned: This code is *really* ALPHA. -***]]) -fi -fi - -# Check whether a random device is available. -if test "$try_dev_random" = yes ; then - AC_CACHE_CHECK(for random device, ac_cv_have_dev_random, - [if test -r "$NAME_OF_DEV_RANDOM" && test -r "$NAME_OF_DEV_URANDOM" ; then - ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi]) - if test "$ac_cv_have_dev_random" = yes; then - AC_DEFINE(HAVE_DEV_RANDOM,1, - [defined if the system supports a random device] ) - fi -else - AC_MSG_CHECKING(for random device) - ac_cv_have_dev_random=no - AC_MSG_RESULT(has been disabled) -fi - -# Figure out the random modules for this configuration. -if test "$random" = "default"; then - - # Select default value. - if test "$ac_cv_have_dev_random" = yes; then - # Try Linuxish random device. - random_modules="linux" - else - case "${host}" in - *-*-mingw32*|*-*-cygwin*) - # Windows random device. - random_modules="w32" - ;; - *) - # Build everything, allow to select at runtime. - random_modules="$auto_random_modules" - ;; - esac - fi -else - if test "$random" = "auto"; then - # Build everything, allow to select at runtime. - random_modules="$auto_random_modules" - else - random_modules="$random" - fi -fi - - -# -# Setup assembler stuff. -# -GNUPG_SYS_SYMBOL_UNDERSCORE() -AC_ARG_ENABLE(mpi-path, - AC_HELP_STRING([--enable-mpi-path=EXTRA_PATH], - [prepend EXTRA_PATH to list of CPU specific optimizations]), - mpi_extra_path="$enableval",mpi_extra_path="") -AC_MSG_CHECKING(for mpi assembler functions) -if test -f $srcdir/mpi/config.links ; then - . $srcdir/mpi/config.links - AC_CONFIG_LINKS("$mpi_ln_list") - ac_cv_mpi_sflags="$mpi_sflags" - AC_MSG_RESULT(done) -else - AC_MSG_RESULT(failed) - AC_MSG_ERROR([mpi/config.links missing!]) -fi -MPI_SFLAGS="$ac_cv_mpi_sflags" -AC_SUBST(MPI_SFLAGS) - -AM_CONDITIONAL(MPI_MOD_ASM_MPIH_ADD1, test "$mpi_mod_asm_mpih_add1" = yes) -AM_CONDITIONAL(MPI_MOD_ASM_MPIH_SUB1, test "$mpi_mod_asm_mpih_sub1" = yes) -AM_CONDITIONAL(MPI_MOD_ASM_MPIH_MUL1, test "$mpi_mod_asm_mpih_mul1" = yes) -AM_CONDITIONAL(MPI_MOD_ASM_MPIH_MUL2, test "$mpi_mod_asm_mpih_mul2" = yes) -AM_CONDITIONAL(MPI_MOD_ASM_MPIH_MUL3, test "$mpi_mod_asm_mpih_mul3" = yes) -AM_CONDITIONAL(MPI_MOD_ASM_MPIH_LSHIFT, test "$mpi_mod_asm_mpih_lshift" = yes) -AM_CONDITIONAL(MPI_MOD_ASM_MPIH_RSHIFT, test "$mpi_mod_asm_mpih_rshift" = yes) -AM_CONDITIONAL(MPI_MOD_ASM_UDIV, test "$mpi_mod_asm_udiv" = yes) -AM_CONDITIONAL(MPI_MOD_ASM_UDIV_QRNND, test "$mpi_mod_asm_udiv_qrnnd" = yes) -AM_CONDITIONAL(MPI_MOD_C_MPIH_ADD1, test "$mpi_mod_c_mpih_add1" = yes) -AM_CONDITIONAL(MPI_MOD_C_MPIH_SUB1, test "$mpi_mod_c_mpih_sub1" = yes) -AM_CONDITIONAL(MPI_MOD_C_MPIH_MUL1, test "$mpi_mod_c_mpih_mul1" = yes) -AM_CONDITIONAL(MPI_MOD_C_MPIH_MUL2, test "$mpi_mod_c_mpih_mul2" = yes) -AM_CONDITIONAL(MPI_MOD_C_MPIH_MUL3, test "$mpi_mod_c_mpih_mul3" = yes) -AM_CONDITIONAL(MPI_MOD_C_MPIH_LSHIFT, test "$mpi_mod_c_mpih_lshift" = yes) -AM_CONDITIONAL(MPI_MOD_C_MPIH_RSHIFT, test "$mpi_mod_c_mpih_rshift" = yes) -AM_CONDITIONAL(MPI_MOD_C_UDIV, test "$mpi_mod_c_udiv" = yes) -AM_CONDITIONAL(MPI_MOD_C_UDIV_QRNND, test "$mpi_mod_c_udiv_qrnnd" = yes) - -if test "$is_development_version" = "yes"; then - AC_DEFINE(IS_DEVELOPMENT_VERSION,1, - [Defined if this is not a regular release]) -fi - - -AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes) - - -# This is handy for debugging so the compiler doesn't rearrange -# things and eliminate variables. -AC_ARG_ENABLE(optimization, - AC_HELP_STRING([--disable-optimization], - [disable compiler optimization]), - [if test $enableval = no ; then - CFLAGS=`echo $CFLAGS | sed 's/-O[[0-9]]//'` - fi]) - -# CFLAGS mangling when using gcc. -if test "$GCC" = yes; then - CFLAGS="$CFLAGS -Wall" - if test "$USE_MAINTAINER_MODE" = "yes"; then - CFLAGS="$CFLAGS -Wcast-align -Wshadow -Wstrict-prototypes" - CFLAGS="$CFLAGS -Wformat -Wno-format-y2k -Wformat-security" - - # If -Wno-missing-field-initializers is supported we can enable a - # a bunch of really useful warnings. - AC_MSG_CHECKING([if gcc supports -Wno-missing-field-initializers]) - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wno-missing-field-initializers" - AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),_gcc_wopt=yes,_gcc_wopt=no) - AC_MSG_RESULT($_gcc_wopt) - CFLAGS=$_gcc_cflags_save; - if test x"$_gcc_wopt" = xyes ; then - CFLAGS="$CFLAGS -W -Wextra -Wbad-function-cast" - CFLAGS="$CFLAGS -Wwrite-strings" - CFLAGS="$CFLAGS -Wdeclaration-after-statement" - CFLAGS="$CFLAGS -Wno-missing-field-initializers" - CFLAGS="$CFLAGS -Wno-sign-compare" - fi - - AC_MSG_CHECKING([if gcc supports -Wpointer-arith]) - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wpointer-arith" - AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),_gcc_wopt=yes,_gcc_wopt=no) - AC_MSG_RESULT($_gcc_wopt) - CFLAGS=$_gcc_cflags_save; - if test x"$_gcc_wopt" = xyes ; then - CFLAGS="$CFLAGS -Wpointer-arith" - fi - fi - -fi - -# Check whether as(1) supports a noeexecstack feature. This test -# includes an override option. -CL_AS_NOEXECSTACK - - -AC_SUBST(LIBGCRYPT_CONFIG_API_VERSION) -AC_SUBST(LIBGCRYPT_CONFIG_LIBS) -AC_SUBST(LIBGCRYPT_CONFIG_CFLAGS) -AC_SUBST(LIBGCRYPT_THREAD_MODULES) - -AC_CONFIG_COMMANDS([gcrypt-conf],[[ -chmod +x src/libgcrypt-config -]],[[ -prefix=$prefix -exec_prefix=$exec_prefix -libdir=$libdir -datadir=$datadir -DATADIRNAME=$DATADIRNAME -]]) - -##################### -#### Conclusion. #### -##################### - -# Define conditional sources and config.h symbols depending on the -# selected ciphers, pubkey-ciphers, digests and random modules. - -LIST_MEMBER(arcfour, $enabled_ciphers) -if test "$found" = "1"; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS arcfour.lo" - AC_DEFINE(USE_ARCFOUR, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(blowfish, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS blowfish.lo" - AC_DEFINE(USE_BLOWFISH, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(cast5, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS cast5.lo" - AC_DEFINE(USE_CAST5, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(des, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS des.lo" - AC_DEFINE(USE_DES, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(aes, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael.lo" - AC_DEFINE(USE_AES, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(twofish, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS twofish.lo" - AC_DEFINE(USE_TWOFISH, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(serpent, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS serpent.lo" - AC_DEFINE(USE_SERPENT, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(rfc2268, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS rfc2268.lo" - AC_DEFINE(USE_RFC2268, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(seed, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS seed.lo" - AC_DEFINE(USE_SEED, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(camellia, $enabled_ciphers) -if test "$found" = "1" ; then - GCRYPT_CIPHERS="$GCRYPT_CIPHERS camellia.lo camellia-glue.lo" - AC_DEFINE(USE_CAMELLIA, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(dsa, $enabled_pubkey_ciphers) -if test "$found" = "1" ; then - GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS dsa.lo" - AC_DEFINE(USE_DSA, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(rsa, $enabled_pubkey_ciphers) -if test "$found" = "1" ; then - GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS rsa.lo" - AC_DEFINE(USE_RSA, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(elgamal, $enabled_pubkey_ciphers) -if test "$found" = "1" ; then - GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS elgamal.lo" - AC_DEFINE(USE_ELGAMAL, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(ecc, $enabled_pubkey_ciphers) -if test "$found" = "1" ; then - GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS ecc.lo" - AC_DEFINE(USE_ECC, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(crc, $enabled_digests) -if test "$found" = "1" ; then - GCRYPT_DIGESTS="$GCRYPT_DIGESTS crc.lo" - AC_DEFINE(USE_CRC, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(md4, $enabled_digests) -if test "$found" = "1" ; then - GCRYPT_DIGESTS="$GCRYPT_DIGESTS md4.lo" - AC_DEFINE(USE_MD4, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(md5, $enabled_digests) -if test "$found" = "1" ; then - GCRYPT_DIGESTS="$GCRYPT_DIGESTS md5.lo" - AC_DEFINE(USE_MD5, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(sha256, $enabled_digests) -if test "$found" = "1" ; then - GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256.lo" - AC_DEFINE(USE_SHA256, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(sha512, $enabled_digests) -if test "$found" = "1" ; then - GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha512.lo" - AC_DEFINE(USE_SHA512, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(tiger, $enabled_digests) -if test "$found" = "1" ; then - GCRYPT_DIGESTS="$GCRYPT_DIGESTS tiger.lo" - AC_DEFINE(USE_TIGER, 1, [Defined if this module should be included]) -fi - -LIST_MEMBER(whirlpool, $enabled_digests) -if test "$found" = "1" ; then - GCRYPT_DIGESTS="$GCRYPT_DIGESTS whirlpool.lo" - AC_DEFINE(USE_WHIRLPOOL, 1, [Defined if this module should be included]) -fi - -# rmd160 and sha1 should be included always. -GCRYPT_DIGESTS="$GCRYPT_DIGESTS rmd160.lo sha1.lo" -AC_DEFINE(USE_RMD160, 1, [Defined if this module should be included]) -AC_DEFINE(USE_SHA1, 1, [Defined if this module should be included]) - -LIST_MEMBER(linux, $random_modules) -if test "$found" = "1" ; then - GCRYPT_RANDOM="$GCRYPT_RANDOM rndlinux.lo" - AC_DEFINE(USE_RNDLINUX, 1, [Defined if the /dev/random RNG should be used.]) -fi - -LIST_MEMBER(unix, $random_modules) -if test "$found" = "1" ; then - GCRYPT_RANDOM="$GCRYPT_RANDOM rndunix.lo" - AC_DEFINE(USE_RNDUNIX, 1, [Defined if the default Unix RNG should be used.]) - print_egd_notice=yes -fi - -LIST_MEMBER(egd, $random_modules) -if test "$found" = "1" ; then - GCRYPT_RANDOM="$GCRYPT_RANDOM rndegd.lo" - AC_DEFINE(USE_RNDEGD, 1, [Defined if the EGD based RNG should be used.]) -fi - -LIST_MEMBER(w32, $random_modules) -if test "$found" = "1" ; then - GCRYPT_RANDOM="$GCRYPT_RANDOM rndw32.lo" - AC_DEFINE(USE_RNDW32, 1, - [Defined if the Windows specific RNG should be used.]) -fi - -AC_SUBST([GCRYPT_CIPHERS]) -AC_SUBST([GCRYPT_PUBKEY_CIPHERS]) -AC_SUBST([GCRYPT_DIGESTS]) -AC_SUBST([GCRYPT_RANDOM]) - -AC_SUBST(LIBGCRYPT_CIPHERS, $enabled_ciphers) -AC_SUBST(LIBGCRYPT_PUBKEY_CIPHERS, $enabled_pubkey_ciphers) -AC_SUBST(LIBGCRYPT_DIGESTS, $enabled_digests) - -# For printing the configuration we need a colon separated list of -# algorithm names. -tmp=`echo "$enabled_ciphers" | tr ' ' : ` -AC_DEFINE_UNQUOTED(LIBGCRYPT_CIPHERS, "$tmp", - [List of available cipher algorithms]) -tmp=`echo "$enabled_pubkey_ciphers" | tr ' ' : ` -AC_DEFINE_UNQUOTED(LIBGCRYPT_PUBKEY_CIPHERS, "$tmp", - [List of available public key cipher algorithms]) -tmp=`echo "$enabled_digests" | tr ' ' : ` -AC_DEFINE_UNQUOTED(LIBGCRYPT_DIGESTS, "$tmp", - [List of available digest algorithms]) - - - -# Generate extended version information for W32. -if test "$have_w32_system" = yes; then - BUILD_TIMESTAMP=`date --iso-8601=minutes` - changequote(,)dnl - BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./;s/\./,/g'` - changequote([,])dnl - BUILD_FILEVERSION="${BUILD_FILEVERSION}${BUILD_REVISION}" -fi -AC_SUBST(BUILD_REVISION) -AC_SUBST(BUILD_TIMESTAMP) -AC_SUBST(BUILD_FILEVERSION) -AC_DEFINE_UNQUOTED(BUILD_REVISION, "$BUILD_REVISION", - [Subversion revision used to build this package]) - - - -# And create the files. -AC_CONFIG_FILES([ -Makefile -m4/Makefile -mpi/Makefile -cipher/Makefile -random/Makefile -doc/Makefile -src/Makefile -src/gcrypt.h -src/libgcrypt-config -src/versioninfo.rc -tests/Makefile -]) -AC_OUTPUT - -# Give some feedback -echo " - Libgcrypt v${VERSION} has been configured as follows: - - Platform: $PRINTABLE_OS_NAME ($host) -" - - -if test "$print_egd_notice" = "yes"; then -cat <<G10EOF - - The performance of the Unix random gatherer module (rndunix) is not - very good and it does not keep the entropy pool over multiple - invocations of Libgcrypt base applications. The suggested way to - overcome this problem is to use the - - Entropy Gathering Daemon (EGD) - - which provides a entropy source for the whole system. It is written - in Perl and available at the GnuPG FTP servers. To enable EGD you - should rerun configure with the option "--enable-static-rnd=egd". - For more information consult the GnuPG webpages: - - http://www.gnupg.org/download.html#egd - -G10EOF -fi - -if test -n "$gpl"; then - echo "Please note that you are building a version of Libgcrypt with" - echo " $gpl" - echo "included. These parts are licensed under the GPL and thus the" - echo "use of this library has to comply with the conditions of the GPL." -fi - |