aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac1474
1 files changed, 676 insertions, 798 deletions
diff --git a/configure.ac b/configure.ac
index 4b54751bc..e93fcb8aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,278 +1,166 @@
-dnl configure.ac script for GnuPG
-dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-dnl 2006 Free Software Foundation, Inc.
-dnl
-dnl This file is part of GnuPG.
-dnl
-dnl GnuPG is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl GnuPG is distributed in the hope that it will be useful,g
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-dnl MA 02110-1301, USA
-dnl
-dnl (Process this file with autoconf to produce a configure script.)
+# configure.ac - for GnuPG 1.9
+# Copyright (C) 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is part of GnuPG.
+#
+# GnuPG is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GnuPG 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
-AC_PREREQ(2.59)
+# Process this file with autoconf to produce a configure script.
+AC_PREREQ(2.52)
min_automake_version="1.9.3"
# 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.5])
-m4_define([my_issvn], [no])
+m4_define([my_version], [1.9.23])
+m4_define([my_issvn], [yes])
+
m4_define([svn_revision], m4_esyscmd([echo -n $((svn info 2>/dev/null \
- || echo 'Revision: 0')|sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)]))
+ || echo 'Revision: 0')|sed -n '/^Revision:/ {s/[^0-9]//gp;q}')]))
AC_INIT([gnupg], my_version[]m4_if(my_issvn,[yes],[-svn[]svn_revision]),
# Set development_version to yes if the minor number is odd or you
# feel that the default check for a development version is not
# sufficient.
-development_version=no
-
-AC_CONFIG_AUX_DIR(scripts)
-AC_CONFIG_SRCDIR(g10/gpg.c)
-AC_CANONICAL_HOST
-AM_INIT_AUTOMAKE([std-options])
-AM_CONFIG_HEADER(config.h)
-
-AC_GNU_SOURCE
-
-dnl
-dnl Check for random module options
-dnl
-AC_MSG_CHECKING([which random module to use])
-AC_ARG_ENABLE(static-rnd,
- [ --enable-static-rnd=[egd|unix|linux|auto] ],
-[use_static_rnd=$enableval], [use_static_rnd=default] )
-
-if test "$use_static_rnd" = no; then
- use_static_rnd=default
-fi
-
-case "$use_static_rnd" in
- egd | linux | unix | default )
- AC_MSG_RESULT($use_static_rnd)
- ;;
- auto )
- AC_MSG_RESULT(automagically selected at runtime)
- ;;
- * )
- AC_MSG_RESULT(invalid argument)
- AC_MSG_ERROR(there is no random module rnd$use_static_rnd)
- ;;
-esac
-
-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])
-
-
-dnl
-dnl See whether the user wants to disable checking for /dev/random
-
-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)
+development_version=yes
+NEED_GPG_ERROR_VERSION=1.0
+NEED_LIBGCRYPT_API=1
+NEED_LIBGCRYPT_VERSION=1.1.94
-dnl
-dnl Check other options
-dnl
+NEED_LIBASSUAN_VERSION=0.6.10
-AC_MSG_CHECKING([whether assembler modules are requested])
-AC_ARG_ENABLE(asm,
-[ --disable-asm do not use assembler modules],
- try_asm_modules=$enableval, try_asm_modules=yes)
-AC_MSG_RESULT($try_asm_modules)
+NEED_KSBA_VERSION=0.9.13
-dnl AC_MSG_CHECKING([whether memory guard is requested])
-dnl AC_ARG_ENABLE(m-guard,
-dnl [ --enable-m-guard enable memory guard facility],
-dnl use_m_guard=$enableval, use_m_guard=no)
-dnl AC_MSG_RESULT($use_m_guard)
-dnl if test "$use_m_guard" = yes ; then
-dnl AC_DEFINE(M_GUARD,1,[Define to use the (obsolete) malloc guarding feature])
-dnl fi
-# SELinux support includes tracking of sensitive files to avoid
-# leaking their contents through processing these files by gpg itself
-AC_MSG_CHECKING([whether SELinux support is requested])
-AC_ARG_ENABLE(selinux-support,
- AC_HELP_STRING([--enable-selinux-support],
- [enable SELinux support]),
- selinux_support=$enableval, selinux_support=no)
-AC_MSG_RESULT($selinux_support)
+PACKAGE=$PACKAGE_NAME
+PACKAGE_GT=${PACKAGE_NAME}2
+VERSION=$PACKAGE_VERSION
+AC_CONFIG_AUX_DIR(scripts)
+AC_CONFIG_SRCDIR(sm/gpgsm.c)
+AM_CONFIG_HEADER(config.h)
+AC_CANONICAL_TARGET()
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AB_INIT
-AC_MSG_CHECKING([whether the new iconv based code is requested])
-AC_ARG_ENABLE(gnupg-iconv,
- AC_HELP_STRING([--disable-gnupg-iconv],
- [disable the new iconv code]),
- gnupg_use_iconv=$enableval, gnupg_use_iconv=yes)
-AC_MSG_RESULT($gnupg_use_iconv)
+AC_GNU_SOURCE
-dnl See if we are disabling any algorithms or features for a smaller
-dnl binary
+# Some status variables to give feedback at the end of a configure run
+have_gpg_error=no
+have_libgcrypt=no
+have_libassuan=no
+have_ksba=no
+have_pth=no
-try_extensions=no
+GNUPG_BUILD_PROGRAM(gpg, no)
+GNUPG_BUILD_PROGRAM(gpgsm, yes)
+GNUPG_BUILD_PROGRAM(agent, yes)
+GNUPG_BUILD_PROGRAM(scdaemon, yes)
+GNUPG_BUILD_PROGRAM(symcryptrun, no)
-use_rsa=yes
-use_idea=yes
-use_cast5=yes
-use_blowfish=yes
-use_aes=yes
-use_twofish=yes
-use_sha256=yes
-use_sha512=yes
-use_bzip2=yes
-use_exec=yes
-card_support=yes
-agent_support=yes
-disable_keyserver_path=no
-AC_ARG_ENABLE(minimal,
- AC_HELP_STRING([--enable-minimal],[build the smallest gpg binary possible]),
- use_rsa=no
- use_idea=no
- use_cast5=no
- use_blowfish=no
- use_aes=no
- use_twofish=no
- use_sha256=no
- use_sha512=no
- use_bzip2=no
- use_exec=no
- card_support=no
- agent_support=no)
+AC_SUBST(PACKAGE)
+AC_SUBST(PACKAGE_GT)
+AC_SUBST(VERSION)
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package])
+AC_DEFINE_UNQUOTED(PACKAGE_GT, "$PACKAGE_GT",
+ [Name of this package for gettext])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package])
+AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT, "$PACKAGE_BUGREPORT",
+ [Bug report address])
+AC_DEFINE_UNQUOTED(NEED_LIBGCRYPT_VERSION, "$NEED_LIBGCRYPT_VERSION",
+ [Required version of Libgcrypt])
+AC_DEFINE_UNQUOTED(NEED_KSBA_VERSION, "$NEED_KSBA_VERSION",
+ [Required version of Libksba])
-AC_MSG_CHECKING([whether OpenPGP card support is requested])
-AC_ARG_ENABLE(card-support,
- AC_HELP_STRING([--disable-card-support],
- [disable OpenPGP card support]),
- card_support=$enableval)
-AC_MSG_RESULT($card_support)
+# The default is to use the modules from this package and the few
+# other packages in a standard place; i.e where this package gets
+# installed. With these options it is possible to override these
+# ${prefix} depended values with fixed paths, which can't be replaced
+# at make time. See also am/cmacros.am and the defaults in AH_BOTTOM.
+AC_ARG_WITH(agent-pgm,
+ [ --with-agent-pgm=PATH Use PATH as the default for the agent)],
+ GNUPG_AGENT_PGM="$withval", GNUPG_AGENT_PGM="" )
+AC_SUBST(GNUPG_AGENT_PGM)
+AM_CONDITIONAL(GNUPG_AGENT_PGM, test -n "$GNUPG_AGENT_PGM")
+show_gnupg_agent_pgm="(default)"
+test -n "$GNUPG_AGENT_PGM" && show_gnupg_agent_pgm="$GNUPG_AGENT_PGM"
-# Note that we may later disable the agent support based on the platform.
-AC_MSG_CHECKING([whether gpg-agent support is requested])
-AC_ARG_ENABLE(agent-support,
- AC_HELP_STRING([--disable-agent-support],
- [disable gpg-agent support]),
- agent_support=$enableval)
-AC_MSG_RESULT($agent_support)
+AC_ARG_WITH(pinentry-pgm,
+ [ --with-pinentry-pgm=PATH Use PATH as the default for the pinentry)],
+ GNUPG_PINENTRY_PGM="$withval", GNUPG_PINENTRY_PGM="" )
+AC_SUBST(GNUPG_PINENTRY_PGM)
+AM_CONDITIONAL(GNUPG_PINENTRY_PGM, test -n "$GNUPG_PINENTRY_PGM")
+show_gnupg_pinentry_pgm="(default)"
+test -n "$GNUPG_PINENTRY_PGM" && show_gnupg_pinentry_pgm="$GNUPG_PINENTRY_PGM"
-AC_MSG_CHECKING([whether to enable the RSA public key algorithm])
-AC_ARG_ENABLE(rsa,
- AC_HELP_STRING([--disable-rsa],[disable the RSA public key algorithm]),
- use_rsa=$enableval)
-AC_MSG_RESULT($use_rsa)
-if test x"$use_rsa" = xyes ; then
- AC_DEFINE(USE_RSA,1,[Define to include the RSA public key algorithm])
-fi
+AC_ARG_WITH(scdaemon-pgm,
+ [ --with-scdaemon-pgm=PATH Use PATH as the default for the scdaemon)],
+ GNUPG_SCDAEMON_PGM="$withval", GNUPG_SCDAEMON_PGM="" )
+AC_SUBST(GNUPG_SCDAEMON_PGM)
+AM_CONDITIONAL(GNUPG_SCDAEMON_PGM, test -n "$GNUPG_SCDAEMON_PGM")
+show_gnupg_scdaemon_pgm="(default)"
+test -n "$GNUPG_SCDAEMON_PGM" && show_gnupg_scdaemon_pgm="$GNUPG_SCDAEMON_PGM"
-AC_MSG_CHECKING([whether to enable the IDEA cipher])
-AC_ARG_ENABLE(idea,
- AC_HELP_STRING([--disable-idea],[disable the IDEA cipher]),
- use_idea=$enableval)
-AC_MSG_RESULT($use_idea)
-if test x"$use_idea" = xyes ; then
- AC_DEFINE(USE_IDEA,1,[Define to include the IDEA cipher])
-# We don't need idea but some people claim that they need it for
-# research etc., so we allow to place an idea source code into the
-# cipher directory and statically link it if available, otherwise we
-# link to a stub. We don't use AC_CHECK_FILE to avoid caching.
+AC_ARG_WITH(dirmngr-pgm,
+ [ --with-dirmngr-pgm=PATH Use PATH as the default for the dirmngr)],
+ GNUPG_DIRMNGR_PGM="$withval", GNUPG_DIRMNGR_PGM="" )
+AC_SUBST(GNUPG_DIRMNGR_PGM)
+AM_CONDITIONAL(GNUPG_DIRMNGR_PGM, test -n "$GNUPG_DIRMNGR_PGM")
+show_gnupg_dirmngr_pgm="(default)"
+test -n "$GNUPG_DIRMNGR_PGM" && show_gnupg_dirmngr_pgm="$GNUPG_DIRMNGR_PGM"
- AC_MSG_CHECKING([for idea cipher module])
- tmp=""
- if test -f $srcdir/cipher/idea.c; then
- IDEA_O=idea.o
- tmp=idea
- else
- IDEA_O=idea-stub.o
- tmp=no
- try_extensions=yes
- fi
- AC_SUBST(IDEA_O)
- AC_MSG_RESULT($tmp)
-fi
+AC_ARG_WITH(protect-tool-pgm,
+ [ --with-protect-tool-pgm=PATH Use PATH as the default for the protect-tool)],
+ GNUPG_PROTECT_TOOL_PGM="$withval", GNUPG_PROTECT_TOOL_PGM="" )
+AC_SUBST(GNUPG_PROTECT_TOOL_PGM)
+AM_CONDITIONAL(GNUPG_PROTECT_TOOL_PGM, test -n "$GNUPG_PROTECT_TOOL_PGM")
+show_gnupg_protect_tool_pgm="(default)"
+test -n "$GNUPG_PROTECT_TOOL_PGM" \
+ && show_gnupg_protect_tool_pgm="$GNUPG_PROTECT_TOOL_PGM"
-AC_MSG_CHECKING([whether to enable the CAST5 cipher])
-AC_ARG_ENABLE(cast5,
- AC_HELP_STRING([--disable-cast5],[disable the CAST5 cipher]),
- use_cast5=$enableval)
-AC_MSG_RESULT($use_cast5)
-if test x"$use_cast5" = xyes ; then
- AC_DEFINE(USE_CAST5,1,[Define to include the CAST5 cipher])
-fi
-AC_MSG_CHECKING([whether to enable the BLOWFISH cipher])
-AC_ARG_ENABLE(blowfish,
- AC_HELP_STRING([--disable-blowfish],[disable the BLOWFISH cipher]),
- use_blowfish=$enableval)
-AC_MSG_RESULT($use_blowfish)
-if test x"$use_blowfish" = xyes ; then
- AC_DEFINE(USE_BLOWFISH,1,[Define to include the BLOWFISH cipher])
-fi
-AC_MSG_CHECKING([whether to enable the AES ciphers])
-AC_ARG_ENABLE(aes,
- AC_HELP_STRING([--disable-aes],[disable the AES, AES192, and AES256 ciphers]),
- use_aes=$enableval)
-AC_MSG_RESULT($use_aes)
-if test x"$use_aes" = xyes ; then
- AC_DEFINE(USE_AES,1,[Define to include the AES, AES192, and AES256 ciphers])
-fi
+# Some folks want to use only the agent form this packet. Make it
+# easier for them by providing the configure option
+# --enable-only-agent.
+AC_ARG_ENABLE(agent-only,
+ AC_HELP_STRING([--enable-agent-only],[build only the gpg-agent]),
+ build_agent_only=$enableval)
-AC_MSG_CHECKING([whether to enable the TWOFISH cipher])
-AC_ARG_ENABLE(twofish,
- AC_HELP_STRING([--disable-twofish],[disable the TWOFISH cipher]),
- use_twofish=$enableval)
-AC_MSG_RESULT($use_twofish)
-if test x"$use_twofish" = xyes ; then
- AC_DEFINE(USE_TWOFISH,1,[Define to include the TWOFISH cipher])
-fi
-
-AC_MSG_CHECKING([whether to enable the SHA-256 digest])
-AC_ARG_ENABLE(sha256,
- AC_HELP_STRING([--disable-sha256],[disable the SHA-224 and SHA-256 digests]),
- use_sha256=$enableval)
-AC_MSG_RESULT($use_sha256)
-if test x"$use_sha256" = xyes ; then
- AC_DEFINE(USE_SHA256,1,[Define to include the SHA-224 and SHA-256 digests])
-fi
-dnl SHA512 is defined only after we confirm 64-bit support later
-AC_MSG_CHECKING([whether to enable the SHA-384 and SHA-512 digests])
-AC_ARG_ENABLE(sha512,
- AC_HELP_STRING([--disable-sha512],[disable the SHA-384 and SHA-512 digests]),
- use_sha512=$enableval)
-AC_MSG_RESULT($use_sha512)
-
-dnl BZLIB is defined only after we confirm the library is available later
+# Allow disabling of bzib2 support.
+# It is defined only after we confirm the library is available later
+use_bzip2=yes
AC_MSG_CHECKING([whether to enable the BZIP2 compression algorithm])
AC_ARG_ENABLE(bzip2,
AC_HELP_STRING([--disable-bzip2],[disable the BZIP2 compression algorithm]),
use_bzip2=$enableval)
AC_MSG_RESULT($use_bzip2)
+
+# Configure option to allow or disallow execution of external
+# programs, like a photo viewer.
AC_MSG_CHECKING([whether to enable external program execution])
AC_ARG_ENABLE(exec,
AC_HELP_STRING([--disable-exec],[disable all external program execution]),
@@ -316,56 +204,38 @@ if test "$use_exec" = yes ; then
AC_MSG_RESULT($enableval)
if test "$gnupg_cv_enable_keyserver_helpers" = yes ; then
-dnl LDAP is defined only after we confirm the library is available later
AC_MSG_CHECKING([whether LDAP keyserver support is requested])
AC_ARG_ENABLE(ldap,
- AC_HELP_STRING([--disable-ldap],[disable LDAP keyserver interface only]),
- try_ldap=$enableval, try_ldap=yes)
+ [ --disable-ldap disable LDAP keyserver interface],
+ try_ldap=$enableval, try_ldap=yes)
AC_MSG_RESULT($try_ldap)
AC_MSG_CHECKING([whether HKP keyserver support is requested])
AC_ARG_ENABLE(hkp,
- AC_HELP_STRING([--disable-hkp],[disable HKP keyserver interface only]),
- try_hkp=$enableval, try_hkp=yes)
+ [ --disable-hkp disable HKP keyserver interface],
+ try_hkp=$enableval, try_hkp=yes)
AC_MSG_RESULT($try_hkp)
- AC_MSG_CHECKING([whether finger key fetching support is requested])
- AC_ARG_ENABLE(finger,
- AC_HELP_STRING([--disable-finger],
- [disable finger key fetching interface only]),
- try_finger=$enableval, try_finger=yes)
- AC_MSG_RESULT($try_finger)
-
- AC_MSG_CHECKING([whether generic object key fetching support is requested])
- AC_ARG_ENABLE(generic,
- AC_HELP_STRING([--disable-generic],
- [disable generic object key fetching interface only]),
- try_generic=$enableval, try_generic=yes)
- AC_MSG_RESULT($try_generic)
+ if test "$try_hkp" = yes ; then
+ AC_SUBST(GPGKEYS_HKP,"gpgkeys_hkp$EXEEXT")
+ fi
AC_MSG_CHECKING([whether email keyserver support is requested])
AC_ARG_ENABLE(mailto,
- AC_HELP_STRING([--enable-mailto],
- [enable email keyserver interface only]),
- try_mailto=$enableval, try_mailto=no)
+ [ --disable-mailto disable email keyserver interface],
+ try_mailto=$enableval, try_mailto=yes)
AC_MSG_RESULT($try_mailto)
fi
AC_MSG_CHECKING([whether keyserver exec-path is enabled])
AC_ARG_ENABLE(keyserver-path,
- AC_HELP_STRING([--disable-keyserver-path],
- [disable the exec-path option for keyserver helpers]),
- [if test "$enableval" = no ; then
- disable_keyserver_path=yes
- fi],enableval=yes)
+ [ --disable-keyserver-path disable the exec-path option for keyserver helpers],
+ [if test "$enableval" = no ; then
+ AC_DEFINE(DISABLE_KEYSERVER_PATH,1,[define to disable exec-path for keyserver helpers])
+ fi],enableval=yes)
AC_MSG_RESULT($enableval)
fi
-AC_MSG_CHECKING([whether the included zlib is requested])
-AC_ARG_WITH(included-zlib,
- [ --with-included-zlib use the zlib code included here],
-[g10_force_zlib="$withval"], [g10_force_zlib=no] )
-AC_MSG_RESULT($g10_force_zlib)
dnl
dnl Check for the key/uid cache size. This can't be zero, but can be
@@ -392,6 +262,8 @@ fi
AC_MSG_RESULT($key_cache_size)
AC_DEFINE_UNQUOTED(PK_UID_CACHE_SIZE,$key_cache_size,[Size of the key and UID caches])
+
+
dnl
dnl Check whether we want to use Linux capabilities
dnl
@@ -401,43 +273,100 @@ AC_ARG_WITH(capabilities,
[use_capabilities="$withval"],[use_capabilities=no])
AC_MSG_RESULT($use_capabilities)
-# To avoid double inclusion of config.h which might happen at some
-# places, we add the usual double inclusion protection.
-AH_TOP([
-#ifndef GNUPG_CONFIG_H_INCLUDED
-#define GNUPG_CONFIG_H_INCLUDED
-])
AH_BOTTOM([
-/* We didn't define endianness above, so get it from OS macros. This
-is intended for making fat binary builds on OS X. */
-#if !defined(BIG_ENDIAN_HOST) && !defined(LITTLE_ENDIAN_HOST)
-#if defined(__BIG_ENDIAN__)
-#define BIG_ENDIAN_HOST 1
-#elif defined(__LITTLE_ENDIAN__)
-#define LITTLE_ENDIAN_HOST 1
+/* Some global constants. */
+#ifdef HAVE_DRIVE_LETTERS
+#define GNUPG_DEFAULT_HOMEDIR "c:/gnupg"
+#elif defined(__VMS)
+#define GNUPG_DEFAULT_HOMEDIR "/SYS\$LOGIN/gnupg"
#else
-#error "No endianness found"
+#define GNUPG_DEFAULT_HOMEDIR "~/.gnupg"
+#endif
+#define GNUPG_PRIVATE_KEYS_DIR "private-keys-v1.d"
+
+/* Tell libgcrypt not to use its own libgpg-error implementation. */
+#define USE_LIBGPG_ERROR 1
+
+/* This is the major version number of GnuPG so that
+ source included files can test for this. Note, that\
+ we use 2 here even for GnuPG 1.9.x. */
+#define GNUPG_MAJOR_VERSION 2
+
+/* Now to separate file name parts.
+ Please note that the string version must not contain more
+ than one character because the code assumes strlen()==1 */
+#ifdef HAVE_DOSISH_SYSTEM
+#define DIRSEP_C '\\'
+#define DIRSEP_S "\\"
+#define EXTSEP_C '.'
+#define EXTSEP_S "."
+#define PATHSEP_C ';'
+#define PATHSEP_S ";"
+#define EXEEXT_S ".exe"
+#else
+#define DIRSEP_C '/'
+#define DIRSEP_S "/"
+#define EXTSEP_C '.'
+#define EXTSEP_S "."
+#define PATHSEP_C ':'
+#define PATHSEP_S ":"
+#define EXEEXT_S ""
#endif
+
+/* This is the same as VERSION, but should be overridden if the
+ platform cannot handle things like dots '.' in filenames. Set
+ SAFE_VERSION_DOT and SAFE_VERSION_DASH to whatever SAFE_VERSION
+ uses for dots and dashes. */
+#define SAFE_VERSION VERSION
+#define SAFE_VERSION_DOT '.'
+#define SAFE_VERSION_DASH '-'
+
+/* For some systems (DOS currently), we hardcode the path here. For
+ POSIX systems the values are constructed by the Makefiles, so that
+ the values may be overridden by the make invocations; this is to
+ comply with the GNU coding standards. */
+#ifdef HAVE_DRIVE_LETTERS
+#define GNUPG_BINDIR "c:\\gnupg"
+#define GNUPG_LIBEXECDIR "c:\\gnupg"
+#define GNUPG_LIBDIR "c:\\gnupg"
+#define GNUPG_DATADIR "c:\\gnupg"
+#endif
+
+/* Setup the hardwired names of modules. */
+#ifndef GNUPG_DEFAULT_AGENT
+#define GNUPG_DEFAULT_AGENT ( GNUPG_BINDIR DIRSEP_S "gpg-agent" EXEEXT_S )
#endif
+#ifndef GNUPG_DEFAULT_PINENTRY
+#define GNUPG_DEFAULT_PINENTRY ( GNUPG_BINDIR DIRSEP_S "pinentry" EXEEXT_S )
+#endif
+#ifndef GNUPG_DEFAULT_SCDAEMON
+#define GNUPG_DEFAULT_SCDAEMON ( GNUPG_BINDIR DIRSEP_S "scdaemon" EXEEXT_S )
+#endif
+#ifndef GNUPG_DEFAULT_DIRMNGR
+#define GNUPG_DEFAULT_DIRMNGR ( GNUPG_BINDIR DIRSEP_S "dirmngr" EXEEXT_S )
+#endif
+#ifndef GNUPG_DEFAULT_PROTECT_TOOL
+#define GNUPG_DEFAULT_PROTECT_TOOL \
+ ( GNUPG_LIBEXECDIR DIRSEP_S "gpg-protect-tool" EXEEXT_S )
+#endif
+
+/* Derive some other constants. */
#if !(defined(HAVE_FORK) && defined(HAVE_PIPE) && defined(HAVE_WAITPID))
#define EXEC_TEMPFILE_ONLY
#endif
-/* This is the major version number of GnuPG so that
- source included files can test for this. */
-#define GNUPG_MAJOR_VERSION 1
-
-#include "g10defs.h"
+/* Temporary hacks to avoid requring a libgpg-error update. */
+#if !HAVE_DECL_GPG_ERR_LOCKED
+#define GPG_ERR_LOCKED 173
+#endif
-#endif /*GNUPG_CONFIG_H_INCLUDED*/
])
AM_MAINTAINER_MODE
-dnl Checks for programs.
-
+# Checks for programs.
AC_PROG_MAKE_SET
AM_SANITY_CHECK
missing_dir=`cd $ac_aux_dir && pwd`
@@ -446,26 +375,27 @@ 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_AWK
AC_PROG_CC
AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
AC_PROG_RANLIB
AC_CHECK_TOOL(AR, ar, :)
AC_PATH_PROG(PERL,"perl")
AC_ISC_POSIX
+gl_EARLY
AC_SYS_LARGEFILE
-AC_PROG_INSTALL
-AC_PROG_AWK
AC_CHECK_PROG(DOCBOOK_TO_MAN, docbook-to-man, yes, no)
AM_CONDITIONAL(HAVE_DOCBOOK_TO_MAN, test "$ac_cv_prog_DOCBOOK_TO_MAN" = yes)
GNUPG_CHECK_FAQPROG
GNUPG_CHECK_DOCBOOK_TO_TEXI
-GNUPG_CHECK_USTAR
-MPI_OPT_FLAGS=""
try_gettext=yes
have_dosish_system=no
-need_dlopen=yes
+have_w32_system=no
case "${host}" in
*-mingw32*)
# special stuff for Windoze NT
@@ -478,15 +408,9 @@ case "${host}" in
[because the Unix gettext has too much overhead on
MingW32 systems and these systems lack Posix functions,
we use a simplified version of gettext])
- AC_DEFINE(HAVE_W32_SYSTEM,1,
- [Defined if we run on a W32 API based system])
- disable_keyserver_path=yes
have_dosish_system=yes
- need_dlopen=no
+ have_w32_system=yes
try_gettext="no"
- agent_support=no
- use_simple_gettext=yes
- have_w32_system=yes
;;
i?86-emx-os2 | i?86-*-os2*emx )
# OS/2 with the EMX environment
@@ -494,7 +418,6 @@ case "${host}" in
AC_DEFINE(HAVE_DRIVE_LETTERS)
have_dosish_system=yes
try_gettext="no"
- agent_support=no
;;
i?86-*-msdosdjgpp*)
@@ -503,9 +426,14 @@ case "${host}" in
AC_DEFINE(HAVE_DRIVE_LETTERS)
have_dosish_system=yes
try_gettext="no"
- agent_support=no
;;
+ *-*-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"
@@ -520,11 +448,11 @@ case "${host}" in
;;
*-dec-osf5*)
if test -z "$GCC" ; then
- # Use the newer compiler `-msg_disable ptrmismatch1' to
+ # Use the newer compiler `-msg_disable ptrmismatch' to
# get rid of the unsigned/signed char mismatch warnings.
# Using this may hide other pointer mismatch warnings, but
# it at least lets other warning classes through
- CFLAGS="$CFLAGS -msg_disable ptrmismatch1"
+ CFLAGS="$CFLAGS -msg_disable ptrmismatch"
fi
;;
m68k-atari-mint)
@@ -535,34 +463,143 @@ esac
if test "$have_dosish_system" = yes; then
AC_DEFINE(HAVE_DOSISH_SYSTEM,1,
- [defined if we run on some of the PCDOS like systems
+ [Defined if we run on some of the PCDOS like systems
(DOS, Windoze. OS/2) with special properties like
no file modes])
fi
AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes)
-AM_CONDITIONAL(USE_SIMPLE_GETTEXT, test x"$use_simple_gettext" = xyes)
-AM_CONDITIONAL(HAVE_W32_SYSTEM, test x"$have_w32_system" = xyes)
-
-if test "$disable_keyserver_path" = yes; then
- AC_DEFINE(DISABLE_KEYSERVER_PATH,1,
- [define to disable exec-path for keyserver helpers])
+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)
-AC_SUBST(MPI_OPT_FLAGS)
-GNUPG_SYS_SYMBOL_UNDERSCORE
+# These need to go after AC_PROG_CC so that $EXEEXT is defined
+AC_DEFINE_UNQUOTED(EXEEXT,"$EXEEXT",[The executable file extension, if any])
-dnl These need to go after AC_PROG_CC so that $EXEEXT is defined
-AC_DEFINE_UNQUOTED(EXEEXT,"$EXEEXT",[The executable file extension, if any])
+#
+# Checks for libraries.
+#
+
+
+#
+# libgpg-error is a library with error codes shared between GnuPG
+# related projects.
+#
+AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION",
+ have_gpg_error=yes,have_gpg_error=no)
+_tmp_gpg_error_save_cflags="$CFLAGS"
+CFLAGS="$CFLAGS $GPG_ERROR_CFLAGS"
+AC_CHECK_DECLS(GPG_ERR_LOCKED,,,[#include <gpg-error.h>])
+CFLAGS="${_tmp_gpg_error_save_cflags}"
-if test x"$try_hkp" = xyes ; then
- AC_SUBST(GPGKEYS_HKP,"gpgkeys_hkp$EXEEXT")
-fi
-if test x"$try_finger" = xyes ; then
- AC_SUBST(GPGKEYS_FINGER,"gpgkeys_finger$EXEEXT")
+#
+# Libgcrypt is our generic crypto library
+#
+AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION",
+ have_libgcrypt=yes,have_libgcrypt=no)
+
+
+#
+# libassuan is used for IPC
+#
+AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_VERSION",
+ have_libassuan=yes,have_libassuan=no)
+
+
+#
+# libksba is our X.509 support library
+#
+AM_PATH_KSBA("$NEED_KSBA_VERSION",have_ksba=yes,have_ksba=no)
+# fixme: Remove the following test and require newer libksba instead.
+_ksba_save_libs=$LIBS
+LIBS=$KSBA_LIBS
+AC_CHECK_FUNCS(ksba_dn_teststr)
+LIBS=$_ksba_save_libs
+
+#
+# libusb allows us to use the integrated CCID smartcard reader driver.
+#
+AC_CHECK_LIB(usb, usb_bulk_write,
+ [ LIBUSB_LIBS="$LIBUSB_LIBS -lusb"
+ AC_DEFINE(HAVE_LIBUSB,1,
+ [defined if libusb is available])
+ ])
+AC_SUBST(LIBUSB_LIBS)
+AC_CHECK_FUNCS(usb_create_match)
+
+#
+# Check wether it is necessary to link against libdl.
+#
+LIBS=""
+AC_SEARCH_LIBS(dlopen, c dl,,,)
+DL_LIBS=$LIBS
+AC_SUBST(DL_LIBS)
+
+#
+# Checks for symcryptrun:
+#
+
+# libutil has openpty() and login_tty().
+AC_CHECK_LIB(util, openpty,
+ [ LIBUTIL_LIBS="$LIBUTIL_LIBS -lutil"
+ AC_DEFINE(HAVE_LIBUTIL,1,
+ [defined if libutil is available])
+ ])
+AC_SUBST(LIBUTIL_LIBS)
+
+# shred is used to clean temporary plain text files.
+AC_PATH_PROG(SHRED, shred, /usr/bin/shred)
+AC_DEFINE_UNQUOTED(SHRED,
+ "${SHRED}", [defines the filename of the shred program])
+
+
+#
+# Check whether the (highly desirable) GNU Pth library is available
+# Note, that we include a Pth emulation for W32.
+#
+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
+AC_PATH_PROG(PTH_CONFIG, pth-config, no)
+if test "$have_w32_system" = no; then
+ if test "$PTH_CONFIG" = "no"; then
+ AC_MSG_WARN([[
+***
+*** To support concurrent access to the gpg-agent and the SCdaemon
+*** 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
+else
+ have_pth=yes
+ PTH_CFLAGS=""
+ PTH_LIBS=""
+ AC_DEFINE(USE_GNU_PTH, 1)
+ AC_DEFINE(HAVE_PTH, 1)
fi
+AC_SUBST(PTH_CFLAGS)
+AC_SUBST(PTH_LIBS)
+
dnl Must check for network library requirements before doing link tests
dnl for ldap, for example. If ldap libs are static (or dynamic and without
@@ -574,107 +611,124 @@ AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname,
AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt,
[NETLIBS="-lsocket $NETLIBS"]))
-dnl Now try for the resolver functions so we can use DNS for SRV, PKA,
-dnl and CERT.
-
-if test x"$try_hkp" = xyes || test x"$try_http" = xyes ; then
- AC_ARG_ENABLE(dns-srv,
- AC_HELP_STRING([--disable-dns-srv],
- [disable the use of DNS SRV in HKP and HTTP]),
- use_dns_srv=$enableval,use_dns_srv=yes)
-fi
+dnl Now try for the resolver functions so we can use DNS SRV
-AC_ARG_ENABLE(dns-pka,
- AC_HELP_STRING([--disable-dns-pka],
- [disable the use of PKA records in DNS]),
- use_dns_pka=$enableval,use_dns_pka=yes)
+AC_ARG_ENABLE(dns-srv,
+ AC_HELP_STRING([--disable-dns-srv],[disable the use of DNS SRV in HKP]),
+ use_dns_srv=$enableval,use_dns_srv=yes)
-AC_ARG_ENABLE(dns-cert,
- AC_HELP_STRING([--disable-dns-cert],
- [disable the use of CERT records in DNS]),
- use_dns_cert=$enableval,use_dns_cert=yes)
-
-if test x"$use_dns_pka" = xyes || test x"$use_dns_srv" = xyes || test x"$use_dns_cert" = xyes; then
- _dns_save_libs=$LIBS
+if test x"$try_hkp" = xyes && test x"$use_dns_srv" = xyes ; then
+ _srv_save_libs=$LIBS
LIBS=""
# the double underscore thing is a glibc-ism?
AC_SEARCH_LIBS(res_query,resolv bind,,
- AC_SEARCH_LIBS(__res_query,resolv bind,,have_resolver=no))
+ AC_SEARCH_LIBS(__res_query,resolv bind,,use_dns_srv=no))
AC_SEARCH_LIBS(dn_expand,resolv bind,,
- AC_SEARCH_LIBS(__dn_expand,resolv bind,,have_resolver=no))
+ AC_SEARCH_LIBS(__dn_expand,resolv bind,,use_dns_srv=no))
AC_SEARCH_LIBS(dn_skipname,resolv bind,,
- AC_SEARCH_LIBS(__dn_skipname,resolv bind,,have_resolver=no))
+ AC_SEARCH_LIBS(__dn_skipname,resolv bind,,use_dns_srv=no))
- if test x"$have_resolver" != xno ; then
+ if test x"$use_dns_srv" = xyes ; then
+ AC_DEFINE(USE_DNS_SRV,1,[define to use DNS SRV])
+ SRVLIBS=$LIBS
+ else
+ AC_MSG_WARN([Resolver functions not found. Disabling DNS SRV.])
+ fi
+ LIBS=$_srv_save_libs
+fi
- # Make sure that the BIND 4 resolver interface is workable before
- # enabling any code that calls it. At some point I'll rewrite the
- # code to use the BIND 8 resolver API.
+AC_SUBST(SRVLIBS)
- AC_MSG_CHECKING([whether the resolver is usable])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>],
-[[unsigned char answer[PACKETSZ]; res_query("foo.bar",C_IN,T_A,answer,PACKETSZ); dn_skipname(0,0); dn_expand(0,0,0,0,0);]])],have_resolver=yes,have_resolver=no)
- AC_MSG_RESULT($have_resolver)
+# Try and link a LDAP test program to weed out unusable LDAP
+# libraries. -lldap [-llber [-lresolv]] is for OpenLDAP. OpenLDAP in
+# general is terrible with creating weird dependencies. If all else
+# fails, the user can play guess-the-dependency by using something
+# like ./configure LDAPLIBS="-Lfoo -lbar"
- # This is Apple-specific and somewhat bizarre as they changed the
- # define in bind 8 for some reason.
+if test "$try_ldap" = yes ; then
+ for MY_LDAPLIBS in ${LDAPLIBS+"$LDAPLIBS"} "-lldap" "-lldap -llber" "-lldap -llber -lresolv"; do
+ _ldap_save_libs=$LIBS
+ LIBS="$MY_LDAPLIBS $NETLIBS $LIBS"
- if test x"$have_resolver" != xyes ; then
- AC_MSG_CHECKING([whether I can make the resolver usable with BIND_8_COMPAT])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([#define BIND_8_COMPAT
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>],
-[[unsigned char answer[PACKETSZ]; res_query("foo.bar",C_IN,T_A,answer,PACKETSZ); dn_skipname(0,0); dn_expand(0,0,0,0,0);]])],[have_resolver=yes ; need_compat=yes])
- AC_MSG_RESULT($have_resolver)
+ AC_MSG_CHECKING([whether LDAP via \"$MY_LDAPLIBS\" is present and sane])
+ AC_TRY_LINK([#include <ldap.h>],[ldap_open("foobar",1234);],
+ [gnupg_cv_func_ldap_init=yes],[gnupg_cv_func_ldap_init=no])
+ AC_MSG_RESULT([$gnupg_cv_func_ldap_init])
+
+ if test $gnupg_cv_func_ldap_init = no; then
+ AC_MSG_CHECKING([whether I can make LDAP be sane with lber.h])
+ AC_TRY_LINK([#include <lber.h>
+#include <ldap.h>],[ldap_open("foobar",1234);],
+ [gnupg_cv_func_ldaplber_init=yes],[gnupg_cv_func_ldaplber_init=no])
+ AC_MSG_RESULT([$gnupg_cv_func_ldaplber_init])
fi
- fi
- if test x"$have_resolver" = xyes ; then
- DNSLIBS=$LIBS
+ if test "$gnupg_cv_func_ldaplber_init" = yes ; then
+ AC_DEFINE(NEED_LBER_H,1,[Define if the LDAP library requires including lber.h before ldap.h])
+ fi
- if test x"$use_dns_srv" = xyes ; then
- AC_DEFINE(USE_DNS_SRV,1,[define to use DNS SRV])
- fi
+ if test "$gnupg_cv_func_ldap_init" = yes || \
+ test "$gnupg_cv_func_ldaplber_init" = yes ; then
+ LDAPLIBS=$MY_LDAPLIBS
+ GPGKEYS_LDAP="gpgkeys_ldap$EXEEXT"
- if test x"$use_dns_pka" = xyes ; then
- AC_DEFINE(USE_DNS_PKA,1,[define to use our experimental DNS PKA])
- fi
+ AC_MSG_CHECKING([whether LDAP supports ldap_get_option])
- if test x"$use_dns_cert" = xyes ; then
- AC_DEFINE(USE_DNS_CERT,1,[define to use DNS CERT])
- fi
+ if test "$gnupg_cv_func_ldap_init" = yes ; then
+ AC_TRY_LINK([#include <ldap.h>],
+ [ldap_get_option((void *)0,0,(void *)0);],
+ [gnupg_cv_func_ldap_get_option=yes],
+ [gnupg_cv_func_ldap_get_option=no])
+ else
+ AC_TRY_LINK([#include <lber.h>
+#include <ldap.h>],[ldap_get_option((void *)0,0,(void *)0);],
+ [gnupg_cv_func_ldap_get_option=yes],
+ [gnupg_cv_func_ldap_get_option=no])
+ fi
- if test x"$need_compat" = xyes ; then
- AC_DEFINE(BIND_8_COMPAT,1,[an Apple OSXism])
- fi
- else
- use_dns_srv=no
- use_dns_pka=no
- use_dns_cert=no
- fi
+ AC_MSG_RESULT([$gnupg_cv_func_ldap_get_option])
- LIBS=$_dns_save_libs
-fi
+ if test "$gnupg_cv_func_ldap_get_option" = yes ; then
+ AC_DEFINE(HAVE_LDAP_GET_OPTION,1,[Define if the LDAP library has ldap_get_option])
+ else
+ AC_MSG_CHECKING([whether LDAP supports ld_errno])
-AC_SUBST(DNSLIBS)
+ if test "$gnupg_cv_func_ldap_init" = yes ; then
+ AC_TRY_COMPILE([#include <ldap.h>],
+ [LDAP *ldap; ldap->ld_errno;],
+ [gnupg_cv_func_ldap_ld_errno=yes],
+ [gnupg_cv_func_ldap_ld_errno=no])
+ else
+ AC_TRY_LINK([#include <lber.h>
+#include <ldap.h>],[LDAP *ldap; ldap->ld_errno;],
+ [gnupg_cv_func_ldap_ld_errno=yes],
+ [gnupg_cv_func_ldap_ld_errno=no])
+ fi
-AM_CONDITIONAL(USE_DNS_SRV, test x"$use_dns_srv" = xyes)
+ AC_MSG_RESULT([$gnupg_cv_func_ldap_ld_errno])
-# Check for LDAP
+ if test "$gnupg_cv_func_ldap_ld_errno" = yes ; then
+ AC_DEFINE(HAVE_LDAP_LD_ERRNO,1,[Define if the LDAP library supports ld_errno])
+ fi
+ fi
+ fi
-if test "$try_ldap" = yes ; then
- GNUPG_CHECK_LDAP($NETLIBS)
+ LIBS=$_ldap_save_libs
+
+ if test "$GPGKEYS_LDAP" != "" ; then break; fi
+ done
fi
+AC_SUBST(GPGKEYS_LDAP)
+AC_SUBST(LDAPLIBS)
+
+
# Check for curl. We fake the curl API if libcurl isn't installed.
-LIBCURL_CHECK_CONFIG([yes],,,[fake_curl=yes])
-AM_CONDITIONAL(FAKE_CURL,test x"$fake_curl" = xyes)
+# fixme: need to add this
+#LIBCURL_CHECK_CONFIG([yes],,,[fake_curl=yes])
+#AM_CONDITIONAL(FAKE_CURL,test x"$fake_curl" = xyes)
+AM_CONDITIONAL(FAKE_CURL,1)
# Generic, for us, means curl
@@ -716,7 +770,7 @@ case "${host}" in
;;
i?86-*-msdosdjgpp*)
PRINTABLE_OS_NAME="MSDOS/DJGPP"
- try_extensions=no
+ try_dynload=no
;;
*-linux*)
PRINTABLE_OS_NAME="GNU/Linux"
@@ -729,26 +783,6 @@ AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
[A human readable text with the name of the OS])
-#
-# 1. Set names of random devices
-#
-NAME_OF_DEV_RANDOM="/dev/random"
-NAME_OF_DEV_URANDOM="/dev/urandom"
-case "${host}" in
- *-openbsd*)
- NAME_OF_DEV_RANDOM="/dev/srandom"
- NAME_OF_DEV_URANDOM="/dev/urandom"
- ;;
-esac
-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])
-AC_SUBST(MPI_OPT_FLAGS)
-
-
-dnl Checks for libraries.
-
AM_GNU_GETTEXT_VERSION(0.14.1)
if test "$try_gettext" = yes; then
AM_GNU_GETTEXT(,[need-ngettext])
@@ -765,83 +799,20 @@ else
AC_SUBST(USE_NLS)
AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(BUILD_INCLUDED_LIBINTL)
- AM_PO_SUBDIRS
fi
-if test "$try_extensions" = yes || test x"$card_support" = xyes ; then
- if test "$need_dlopen" = yes; then
- _dl_save_libs=$LIBS
- LIBS=""
- AC_SEARCH_LIBS(dlopen,dl,found_dlopen=yes)
- if test x"$found_dlopen" = "xyes" ; then
- AC_DEFINE(HAVE_DL_DLOPEN,1,
- [Defined when the dlopen function family is available])
- DLLIBS=$LIBS
- else
- if test "$try_extensions" = yes ; then
- AC_MSG_NOTICE([dlopen not found. Disabling extensions.])
- try_extensions=no
- fi
-
- if test "$card_support" = yes ; then
- AC_MSG_WARN([dlopen not found. Disabling OpenPGP card support.])
- card_support=no
- fi
- fi
- LIBS=$_dl_save_libs
- fi
-fi
-
-AC_SUBST(DLLIBS)
-
-if test "$card_support" = yes ; then
- AC_DEFINE(ENABLE_CARD_SUPPORT,1,[Define to include OpenPGP card support])
-fi
-
-if test "$agent_support" = yes ; then
- AC_DEFINE(ENABLE_AGENT_SUPPORT,1,[Define to include gpg-agent support])
-fi
-
-if test "$try_extensions" = yes ; then
- AC_DEFINE(USE_DYNAMIC_LINKING,1,[Define to enable the use of extensions])
-fi
-
-if test "$selinux_support" = yes ; then
- AC_DEFINE(ENABLE_SELINUX_HACKS,1,[Define to enable SELinux support])
-fi
-
-if test "$gnupg_use_iconv" = yes ; then
- AC_DEFINE(USE_GNUPG_ICONV,1,[Define to use the new iconv based code])
-fi
-
-AM_CONDITIONAL(ENABLE_CARD_SUPPORT, test "$card_support" = yes)
-AM_CONDITIONAL(ENABLE_AGENT_SUPPORT, test "$agent_support" = yes)
-
-dnl Checks for header files.
+# Checks for header files.
AC_HEADER_STDC
-AC_CHECK_HEADERS([unistd.h langinfo.h termio.h locale.h getopt.h pwd.h])
-
-# Note that we do not check for iconv here because this is done anyway
-# by the gettext checks and thus it allows us to disable the use of
-# iconv by using --disable-nls.
+AC_CHECK_HEADERS(string.h unistd.h langinfo.h termio.h locale.h)
-dnl Checks for typedefs, structures, and compiler characteristics.
+# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
-AC_C_VOLATILE
AC_TYPE_SIZE_T
-AC_TYPE_MODE_T
AC_TYPE_SIGNAL
AC_DECL_SYS_SIGLIST
-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
- GNUPG_CHECK_ENDIAN
-fi
+GNUPG_CHECK_ENDIAN
GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
@@ -853,16 +824,17 @@ AC_CHECK_SIZEOF(unsigned short)
AC_CHECK_SIZEOF(unsigned int)
AC_CHECK_SIZEOF(unsigned long)
AC_CHECK_SIZEOF(unsigned long long)
-
# Ensure that we have UINT64_C before we bother to check for uint64_t
-AC_CHECK_HEADERS([inttypes.h])
-AC_CACHE_CHECK([for UINT64_C], [gnupg_cv_uint64_c_works],
- AC_LINK_IFELSE(AC_LANG_PROGRAM([#include <inttypes.h>],[
+# fixme: really needed in gnupg? I think it is only useful in libcgrypt.
+AC_CACHE_CHECK([for UINT64_C],[gnupg_cv_uint64_c_works],
+ AC_COMPILE_IFELSE(AC_LANG_PROGRAM([#include <inttypes.h>
uint64_t foo=UINT64_C(42);]),gnupg_cv_uint64_c_works=yes,gnupg_cv_uint64_c_works=no))
-
if test "$gnupg_cv_uint64_c_works" = "yes" ; then
AC_CHECK_SIZEOF(uint64_t)
fi
+
+
+
if test "$ac_cv_sizeof_unsigned_short" = "0" \
|| test "$ac_cv_sizeof_unsigned_int" = "0" \
@@ -871,47 +843,53 @@ if test "$ac_cv_sizeof_unsigned_short" = "0" \
fi
dnl Do we have any 64-bit data types?
-if test x"$use_sha512" = xyes \
- && test "$ac_cv_sizeof_unsigned_int" != "8" \
+if test "$ac_cv_sizeof_unsigned_int" != "8" \
&& test "$ac_cv_sizeof_unsigned_long" != "8" \
&& test "$ac_cv_sizeof_unsigned_long_long" != "8" \
- && test x"$ac_cv_sizeof_uint64_t" != "x8"; then
- AC_MSG_NOTICE([No 64-bit types. Disabling SHA-384 and SHA-512.])
- use_sha512=no
-fi
-
-if test x"$use_sha512" = xyes ; then
- AC_DEFINE(USE_SHA512,1,[Define to include the SHA-384 and SHA-512 digests])
+ && test "$ac_cv_sizeof_uint64_t" != "8"; then
+ AC_MSG_WARN([No 64-bit types. Disabling SHA-384, and SHA-512])
+else
+ if test x"$use_sha512" = xyes ; then
+ AC_SUBST(SHA512_O,sha512.o)
+ AC_DEFINE(USE_SHA512,1,[Define to include the SHA-384 and SHA-512 digests])
+ fi
fi
-AM_CONDITIONAL(USE_SHA512, test x"$use_sha512" = xyes)
+# fixme: do we really need this - it should be encapsulated in libassuan
+GNUPG_SYS_SO_PEERCRED
-dnl Checks for library functions.
-AC_CHECK_DECLS(getpagesize)
+# Checks for library functions.
AC_FUNC_FSEEKO
AC_FUNC_VPRINTF
AC_FUNC_FORK
AC_CHECK_FUNCS(strerror stpcpy strsep strlwr tcgetattr strtoul mmap)
-AC_CHECK_FUNCS(strcasecmp strncasecmp ctermid times unsetenv getpwnam getpwuid)
+AC_CHECK_FUNCS(strcasecmp strncasecmp ctermid times gmtime_r)
AC_CHECK_FUNCS(memmove gettimeofday getrusage setrlimit clock_gettime)
AC_CHECK_FUNCS(atexit raise getpagesize strftime nl_langinfo setlocale)
AC_CHECK_FUNCS(waitpid wait4 sigaction sigprocmask rand pipe stat getaddrinfo)
-AC_CHECK_FUNCS(fcntl ftruncate)
-AC_REPLACE_FUNCS(mkdtemp timegm isascii memrchr)
+AC_CHECK_FUNCS(fseeko ftello ttyname isascii)
AC_CHECK_TYPES([struct sigaction, sigset_t],,,[#include <signal.h>])
-# See if getopt is in libiberty. This is of course not optimal since
-# it might be somewhere other than libiberty, but does cover the
-# mingw32 case.
+# gnulib checks
+gl_SOURCE_BASE(gl)
+gl_M4_BASE(gl/m4)
+gl_MODULES(setenv strsep mkdtemp vasprintf xsize)
+gl_INIT
+
+# These are needed by libjnlib - fixme: we should have macros for them
+AC_CHECK_FUNCS(memicmp stpcpy strlwr strtoul memmove stricmp strtol)
+AC_CHECK_FUNCS(getrusage setrlimit stat setlocale)
+AC_CHECK_FUNCS(flockfile funlockfile fopencookie funopen)
-AC_CHECK_FUNC(getopt,,AC_CHECK_LIB(iberty,getopt,AC_SUBST(GETOPT,"-liberty")))
#
# check for gethrtime and run a testprogram to see whether
# it is broken. It has been reported that some Solaris and HP UX systems
# raise an SIGILL
#
+# fixme: Do we need this - iirc, this is only used by libgcrypt.
+#
AC_CACHE_CHECK([for gethrtime],
[gnupg_cv_func_gethrtime],
[AC_TRY_LINK([#include <sys/times.h>],[
@@ -950,13 +928,9 @@ GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
dnl
dnl Check whether we can use Linux capabilities as requested
dnl
+# fixme: Still required?
+#
if test "$use_capabilities" = "yes" ; then
-
-AC_MSG_WARN([[
-***
-*** WARNING: using capabilities with GnuPG is experimental code!
-***]])
-
use_capabilities=no
AC_CHECK_HEADERS(sys/capability.h)
if test "$ac_cv_header_sys_capability_h" = "yes" ; then
@@ -983,134 +957,12 @@ fi
fi
-GNUPG_CHECK_IPC
-if test "$ac_cv_header_sys_shm_h" = "yes"; then
- AC_DEFINE(USE_SHM_COPROCESSING,1,
- [define if the shared memory interface should be made available])
-fi
-
-dnl
-dnl check whether we have a random device
-dnl
-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
-
-
-dnl
-dnl Figure out the default random module.
-dnl
-random_modules=""
-if test "$use_static_rnd" = default; then
- if test "$ac_cv_have_dev_random" = yes; then
- random_modules="rndlinux"
- else
- case "${host}" in
- *-mingw32*|*-*-cygwin*)
- random_modules="rndw32"
- ;;
- i?86-emx-os2|i?86-*-os2*emx)
- random_modules="rndos2"
- ;;
- m68k-atari-mint)
- random_modules="rndatari"
- ;;
- i?86-*-msdosdjgpp*)
- :
- ;;
- *)
- random_modules="rndlinux rndegd rndunix"
- AC_DEFINE(USE_ALL_RANDOM_MODULES, 1,
- [Allow to select random modules at runtime.])
- ;;
- esac
- fi
-else
- if test "$use_static_rnd" = auto; then
- random_modules="rndlinux rndegd rndunix"
- AC_DEFINE(USE_ALL_RANDOM_MODULES, 1)
- else
- random_modules="rnd$use_static_rnd";
- fi
-fi
-
-if test -z "$random_modules"; then
- AC_MSG_ERROR(no random module available)
-fi
-print_egd_warning=no
-for rndmod in $random_modules "" ; do
- case "$rndmod" in
- rndlinux)
- AC_DEFINE(USE_RNDLINUX,1,
- [Defined if the /dev/random based RNG should be used.])
- use_rndlinux=yes
- ;;
- rndunix)
- AC_DEFINE(USE_RNDUNIX,1,
- [Defined if the default Unix RNG should be used.])
- print_egd_warning=yes
- use_rndunix=yes
- ;;
- rndegd)
- AC_DEFINE(USE_RNDEGD,1,
- [Defined if the EGD based RNG should be used.])
- use_rndegd=yes
- ;;
- rndw32)
- AC_DEFINE(USE_RNDW32,1,
- [Defined if the Windows specific RNG should be used.])
- use_rndw32=yes
- ;;
- esac
-done
-
-AM_CONDITIONAL(USE_RNDLINUX, test "$use_rndlinux" = yes)
-AM_CONDITIONAL(USE_RNDUNIX, test "$use_rndunix" = yes)
-AM_CONDITIONAL(USE_RNDEGD, test "$use_rndegd" = yes)
-AM_CONDITIONAL(USE_RNDW32, test "$use_rndw32" = yes)
-
-dnl setup assembler stuff
-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_extra_asm_modules="$mpi_extra_modules"
- ac_cv_mpi_sflags="$mpi_sflags"
- ac_cv_mpi_config_done="yes"
- AC_MSG_RESULT(done)
-else
- AC_MSG_RESULT(failed)
- AC_MSG_ERROR([mpi/config.links missing!])
-fi
-MPI_EXTRA_ASM_OBJS=""
-show_extraasm=""
-if test "$ac_cv_mpi_extra_asm_modules" != ""; then
-for i in $ac_cv_mpi_extra_asm_modules; do
- show_extraasm="$show_extraasm $i"
- MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o"
-done
-fi
-AC_SUBST(MPI_EXTRA_ASM_OBJS)
-MPI_SFLAGS="$ac_cv_mpi_sflags"
-AC_SUBST(MPI_SFLAGS)
-
# Sanity check regex. Tests adapted from mutt.
AC_MSG_CHECKING([whether regular expression support is requested])
AC_ARG_ENABLE(regex,
- AC_HELP_STRING([--disable-regex],
- [do not handle regular expressions in trust signatures]),
- use_regex=$enableval, use_regex=yes)
+[ --disable-regex do not handle regular expressions in trust sigs],
+ use_regex=$enableval, use_regex=yes)
AC_MSG_RESULT($use_regex)
if test "$use_regex" = yes ; then
@@ -1142,24 +994,22 @@ main() { regex_t blah ; regmatch_t p; p.rm_eo = p.rm_eo; return regcomp(&blah, "
fi
if test $gnupg_cv_included_regex = yes; then
- AC_DEFINE(USE_INTERNAL_REGEX,1,[ Define if you want to use the included regex lib ])
+ AC_DEFINE(USE_GNU_REGEX,1,[ Define if you want to use the included regex lib ])
+ AC_SUBST(REGEX_O,regex.o)
fi
else
+
AC_DEFINE(DISABLE_REGEX,1,[ Define to disable regular expression support ])
fi
-AM_CONDITIONAL(USE_INTERNAL_REGEX, test x"$gnupg_cv_included_regex" = xyes)
-
-dnl Do we have zlib? Must do it here because Solaris failed
-dnl when compiling a conftest (due to the "-lz" from LIBS).
-use_local_zlib=yes
-if test "$g10_force_zlib" = "yes"; then
- :
-else
- _cppflags="${CPPFLAGS}"
- _ldflags="${LDFLAGS}"
-
- AC_ARG_WITH(zlib,
+#
+# Do we have zlib? Must do it here because Solaris failed
+# when compiling a conftest (due to the "-lz" from LIBS).
+# Note that we combine zlib and bzlib2 in ZLIBS.
+#
+_cppflags="${CPPFLAGS}"
+_ldflags="${LDFLAGS}"
+AC_ARG_WITH(zlib,
[ --with-zlib=DIR use libz in DIR],[
if test -d "$withval"; then
CPPFLAGS="${CPPFLAGS} -I$withval/include"
@@ -1167,22 +1017,15 @@ else
fi
])
- AC_CHECK_HEADER(zlib.h,
+AC_CHECK_HEADER(zlib.h,
AC_CHECK_LIB(z, deflateInit2_,
- use_local_zlib=no
ZLIBS="-lz",
CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags})
-fi
-
-if test "$use_local_zlib" = yes ; then
- AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
- AC_CONFIG_LINKS(zlib.h:zlib/zlib.h zconf.h:zlib/zconf.h )
- ZLIBS="../zlib/libzlib.a"
-else
- AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, false)
-fi
+#
+# Check whether we can support bzip2
+#
if test "$use_bzip2" = yes ; then
_cppflags="${CPPFLAGS}"
_ldflags="${LDFLAGS}"
@@ -1195,10 +1038,9 @@ if test "$use_bzip2" = yes ; then
fi
],withval="")
-# Checking alongside stdio.h as an early version of bzip2 (1.0)
-# required stdio.h to be included before bzlib.h, and Solaris 9 is
-# woefully out of date.
-
+ # Checking alongside stdio.h as an early version of bzip2 (1.0)
+ # required stdio.h to be included before bzlib.h, and Solaris 9 is
+ # woefully out of date.
if test "$withval" != no ; then
AC_CHECK_HEADER(bzlib.h,
AC_CHECK_LIB(bz2,BZ2_bzCompressInit,
@@ -1212,15 +1054,16 @@ if test "$use_bzip2" = yes ; then
CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags},[#include <stdio.h>])
fi
fi
-
AM_CONDITIONAL(ENABLE_BZIP2_SUPPORT,test x"$have_bz2" = "xyes")
AC_SUBST(ZLIBS)
-# libusb allows us to use the integrated CCID smartcard reader driver.
-GNUPG_CHECK_LIBUSB
-# Check for readline support
-GNUPG_CHECK_READLINE
+# See wether we want to run the long test suite.
+AC_ARG_WITH(pkits-tests,
+ AC_HELP_STRING([--with-pkits-tests],[run the PKITS based tests]),
+ [run_pkits_tests=$withval], [run_pkits_tests=no])
+AM_CONDITIONAL(RUN_PKITS_TESTS, test "$run_pkits_tests" = "yes")
+
# Allow users to append something to the version string without
# flagging it as development version. The user version parts is
@@ -1240,170 +1083,205 @@ fi
AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
+GNUPG_CHECK_GNUMAKE
-# add some extra libs here so that previous tests don't fail for
+# Add some extra libs here so that previous tests don't fail for
# mysterious reasons - the final link step should bail out.
-case "${host}" in
- *-mingw32*)
-dnl NETLIBS="$NETLIBS -lwsock32"
- W32LIBS="-lwsock32"
- ;;
- *)
- ;;
-esac
+if test "$have_w32_system" = yes; then
+ W32LIBS="-lwsock32"
+fi
-AC_SUBST(NETLIBS)
-AC_SUBST(W32LIBS)
-# Special options used with gcc.
if test "$GCC" = yes; then
- # Note that it is okay to use CFLAGS here because this are just
- # warning options and the user should have a chance of overriding
- #them.
if test "$USE_MAINTAINER_MODE" = "yes"; then
CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
- CFLAGS="$CFLAGS -Wformat-nonliteral"
+ CFLAGS="$CFLAGS -Wno-format-y2k -Wformat-security"
else
CFLAGS="$CFLAGS -Wall"
fi
+fi
- # 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])
+#
+# 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])
- AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
- _gcc_cflags_save=$CFLAGS
- CFLAGS="-Wno-pointer-sign"
- AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),_gcc_psign=yes,_gcc_psign=no)
- AC_MSG_RESULT($_gcc_psign)
- CFLAGS=$_gcc_cflags_save;
+AC_SUBST(NETLIBS)
+AC_SUBST(W32LIBS)
- if test x"$_gcc_psign" = xyes ; then
- CFLAGS="$CFLAGS -Wno-pointer-sign"
- fi
+
+# We use jnlib, so tell other modules about it
+AC_DEFINE(HAVE_JNLIB_LOGGING, 1,
+ [Defined if jnlib style logging functions are available])
+
+# For W32 we need to use our Pth emulation code
+if test "$have_w32_system" = yes; then
+ AC_CONFIG_LINKS(pth.h:jnlib/w32-pth.h)
fi
-CL_AS_NOEXECSTACK
-if test "$print_egd_warning" = yes; then
- AC_MSG_WARN([[
-***
-*** The performance of the UNIX random gatherer module is not very good
-*** and it does not keep the entropy pool over multiple invocations of
-*** GnuPG. The suggested way to overcome this problem is to use the
-***
-*** Entropy Gathering Daemon (EGD)
+#
+# Decide what to build
+#
+missing_pth=no
+if test $have_ksba = no; then
+ build_gpgsm=no
+ build_scdaemon=no
+fi
+
+build_agent_threaded=""
+if test "$build_agent" = "yes"; then
+ if test $have_pth = no; then
+ build_agent_threaded="(not multi-threaded)"
+ missing_pth=yes
+ fi
+fi
+
+build_scdaemon_extra=""
+if test "$build_scdaemon" = "yes"; then
+ tmp=""
+ if test $have_pth = no; then
+ build_scdaemon_extra="not multi-threaded"
+ tmp=", "
+ missing_pth=yes
+ fi
+ if test -n "$build_scdaemon_extra"; then
+ build_scdaemon_extra="(${build_scdaemon_extra})"
+ fi
+fi
+
+
+if test "$build_agent_only" = "yes" ; then
+ build_gpg=no
+ build_gpgsm=no
+ build_scdaemon=no
+fi
+
+
+AM_CONDITIONAL(BUILD_GPG, test "$build_gpg" = "yes")
+AM_CONDITIONAL(BUILD_GPGSM, test "$build_gpgsm" = "yes")
+AM_CONDITIONAL(BUILD_AGENT, test "$build_agent" = "yes")
+AM_CONDITIONAL(BUILD_SCDAEMON, test "$build_scdaemon" = "yes")
+AM_CONDITIONAL(BUILD_SYMCRYPTRUN, test "$build_symcryptrun" = "yes")
+
+
+
+#
+# Print errors here so that they are visible all
+# together and the user can acquire them all together.
+#
+die=no
+if test "$have_gpg_error" = "no"; then
+ die=yes
+ AC_MSG_NOTICE([[
+***
+*** You need libgpg-error to build this program.
+** This library is for example available at
+*** ftp://ftp.gnupg.org/gcrypt/libgpg-error
+*** (at least version $NEED_GPG_ERROR_VERSION is required.)
+***]])
+fi
+if test "$have_libgcrypt" = "no"; then
+ die=yes
+ AC_MSG_NOTICE([[
+***
+*** You need libgcrypt to build this program.
+** This library is for example available at
+*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/
+*** (at least version $NEED_LIBGCRYPT_VERSION using API $NEED_LIBGCRYPT_API) is required.)
+***]])
+fi
+if test "$have_libassuan" = "no"; then
+ die=yes
+ AC_MSG_NOTICE([[
***
-*** which provides a entropy source for the whole system. It is written
-*** in Perl and available at the GnuPG FTP servers. For more information
-*** consult the GnuPG webpages:
+*** You need libassuan to build this program.
+*** This library is for example available at
+*** ftp://ftp.gnupg.org/gcrypt/alpha/libassuan/
+*** (at least version $NEED_LIBASSUAN_VERSION is required).
+***]])
+fi
+if test "$have_ksba" = "no"; then
+ AC_MSG_NOTICE([[
***
-*** http://www.gnupg.org/download/#EGD
+*** You need libksba to build this program.
+*** This library is for example available at
+*** ftp://ftp.gnupg.org/gcrypt/alpha/libksba/
+*** (at least version $NEED_KSBA_VERSION is required).
+***]])
+fi
+if test "$missing_pth" = "yes"; then
+ AC_MSG_NOTICE([[
***
-*** You may want to run ./configure with --enable-static-rnd=egd or
-*** --enable-static-rnd=auto to use it.
+*** It is now required to build with support for the
+*** GNU Portable Threads Library (Pth). Please install this
+*** library first. The library is for example available at
+*** ftp://ftp.gnu.org/gnu/pth/
+*** On a Debian GNU/Linux system you can install it using
+*** apt-get install libpth-dev
***]])
+ die=yes
fi
-# Note the \\\\ for backslashes. Autoconf eats one layer, leaving \\
-
-AC_CONFIG_COMMANDS(g10defs.h,[[
-cat >g10defs.tmp <<G10EOF
-/* Generated automatically by configure */
-#ifdef HAVE_DRIVE_LETTERS
-#define G10_LOCALEDIR "c:\\\\lib\\\\gnupg\\\\locale"
-#define GNUPG_LIBDIR "c:\\\\lib\\\\gnupg"
-#define GNUPG_LIBEXECDIR "c:\\\\lib\\\\gnupg"
-#define GNUPG_DATADIR "c:\\\\lib\\\\gnupg"
-#define GNUPG_HOMEDIR "c:\\\\gnupg"
-#else
-#define G10_LOCALEDIR "${datadir}/locale"
-#define GNUPG_LIBDIR "${libdir}/gnupg"
-#define GNUPG_DATADIR "${datadir}/gnupg"
-#ifdef __VMS
-#define GNUPG_HOMEDIR "/SYS\$LOGIN/gnupg"
-#else
-#define GNUPG_HOMEDIR "~/.gnupg"
-#endif
-#endif
-/* those are here to be redefined by handcrafted g10defs.h.
- Please note that the string version must not contain more
- than one character because the using code assumes strlen()==1 */
-#ifdef HAVE_DOSISH_SYSTEM
-#define DIRSEP_C '\\\\'
-#define EXTSEP_C '.'
-#define DIRSEP_S "\\\\"
-#define EXTSEP_S "."
-#define PATHSEP_C ';'
-#define PATHSEP_S ";"
-#else
-#define DIRSEP_C '/'
-#define EXTSEP_C '.'
-#define DIRSEP_S "/"
-#define EXTSEP_S "."
-#define PATHSEP_C ':'
-#define PATHSEP_S ":"
-#endif
-/* This is the same as VERSION, but should be overridden if the
- platform cannot handle things like dots'.' in filenames. Set
- SAFE_VERSION_DOT and SAFE_VERSION_DASH to whatever SAFE_VERSION
- uses for dots and dashes. */
-#define SAFE_VERSION VERSION
-#define SAFE_VERSION_DOT '.'
-#define SAFE_VERSION_DASH '-'
-G10EOF
-cat mpi/mpi-asm-defs.h >>g10defs.tmp
-if cmp -s g10defs.h g10defs.tmp 2>/dev/null; then
- echo "g10defs.h is unchanged"
- rm -f g10defs.tmp
-else
- rm -f g10defs.h
- mv g10defs.tmp g10defs.h
- echo "g10defs.h created"
+if test "$die" = "yes"; then
+ AC_MSG_ERROR([[
+***
+*** Required libraries not found. Please consult the above messages
+*** and install them before running configure again.
+***]])
fi
-]],[[
-prefix=$prefix
-exec_prefix=$exec_prefix
-libdir=$libdir
-libexecdir=$libexecdir
-datadir=$datadir
-DATADIRNAME=$DATADIRNAME
-]])
-AC_CONFIG_FILES([
+
+AC_CONFIG_FILES([ m4/Makefile
Makefile
-m4/Makefile
-intl/Makefile
po/Makefile.in
-util/Makefile
-mpi/Makefile
-cipher/Makefile
+intl/Makefile
+gl/Makefile
+jnlib/Makefile
+common/Makefile
+kbx/Makefile
g10/Makefile
-keyserver/Makefile
-keyserver/gpgkeys_mailto
-keyserver/gpgkeys_test
-doc/Makefile
+sm/Makefile
+agent/Makefile
+scd/Makefile
tools/Makefile
-tools/gpg-zip
-zlib/Makefile
-checks/Makefile
+doc/Makefile
+tests/Makefile
])
AC_OUTPUT
-# Give some feedback
-echo
-echo " Version info: $PACKAGE_STRING"
-echo " Configured for: $PRINTABLE_OS_NAME ($host)"
-if test -n "$show_extraasm"; then
- echo " Extra cpu specific functions:$show_extraasm"
-fi
-echo
+#./autogen keyserver/Makefile
+#tests/pkits/Makefile
+
+
+
+
+echo "
+ GnuPG v${VERSION} has been configured as follows:
+
+ Platform: $PRINTABLE_OS_NAME ($host)
+
+ OpenPGP: $build_gpg
+ S/MIME: $build_gpgsm
+ Agent: $build_agent $build_agent_threaded
+ Smartcard: $build_scdaemon $build_scdaemon_extra
+
+ Protect tool: $show_gnupg_protect_tool_pgm
+ Default agent: $show_gnupg_agent_pgm
+ Default pinentry: $show_gnupg_pinentry_pgm
+ Default scdaemon: $show_gnupg_scdaemon_pgm
+ Default dirmngr: $show_gnupg_dirmngr_pgm
+
+ PKITS based tests: $run_pkits_tests
+"
+