* gpg.sgml: Rename backsigs to cross-certification (backsigs is just
[gnupg.git] / configure.ac
index d6ef7c8..6a8d6da 100644 (file)
@@ -1,6 +1,6 @@
 dnl configure.ac script for GnuPG
 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-dnl               2005 Free Software Foundation, Inc.
+dnl               2005, 2006 Free Software Foundation, Inc.
 dnl
 dnl This file is part of GnuPG.
 dnl
@@ -16,24 +16,24 @@ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+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.)
-dnlAC_REVISION($Revision$)dnl
 
 AC_PREREQ(2.59)
 min_automake_version="1.9.3"
 
 # Remember to change the version number immediately *after* a release
 # and remove the "-cvs" or "rc" suffix immediately *before* a release.
-AC_INIT(gnupg, 1.4.2-cvs, bug-gnupg@gnu.org)
+AC_INIT(gnupg, 1.4.3-cvs, bug-gnupg@gnu.org)
 # 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/g10.c)
+AC_CONFIG_SRCDIR(g10/gpg.c)
 AC_CANONICAL_HOST
 AM_INIT_AUTOMAKE([std-options])
 AM_CONFIG_HEADER(config.h)
@@ -102,8 +102,8 @@ if test "$use_m_guard" = yes ; then
     AC_DEFINE(M_GUARD,1,[Define to use the (obsolete) malloc guarding feature])
 fi
 
-# We don't have a test to check whetyer as(1) knows about the
-# non executable stackioption.  Thus we provide an option to enable
+# We don't have a test to check whether as(1) knows about the
+# non executable stack option.  Thus we provide an option to enable
 # it.
 AC_MSG_CHECKING([whether non excutable stack support is requested])
 AC_ARG_ENABLE(noexecstack,
@@ -122,13 +122,6 @@ AC_ARG_ENABLE(selinux-support,
 AC_MSG_RESULT($selinux_support)
 
 
-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, card_support=yes)
-AC_MSG_RESULT($card_support)
-
 AC_MSG_CHECKING([whether the new iconv based code is requested])
 AC_ARG_ENABLE(gnupg-iconv,
               AC_HELP_STRING([--disable-gnupg-iconv],
@@ -136,13 +129,6 @@ AC_ARG_ENABLE(gnupg-iconv,
               gnupg_use_iconv=$enableval, gnupg_use_iconv=yes)
 AC_MSG_RESULT($gnupg_use_iconv)
 
-AC_MSG_CHECKING([whether to enable the experimental backsigs code])
-AC_ARG_ENABLE(backsigs,
-              AC_HELP_STRING([--enable-backsigs],
-                             [enable the experimental backsigs code]),
-              do_backsigs=$enableval, do_backsigs=no)
-AC_MSG_RESULT($do_backsigs)
-
 dnl See if we are disabling any algorithms or features for a smaller
 dnl binary
 
@@ -158,6 +144,9 @@ 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]),
@@ -170,7 +159,27 @@ AC_ARG_ENABLE(minimal,
    use_sha256=no
    use_sha512=no
    use_bzip2=no
-   use_exec=no)
+   use_exec=no
+   card_support=no
+   agent_support=no)
+
+
+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)
+
+
+# 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_MSG_CHECKING([whether to enable the RSA public key algorithm])
 AC_ARG_ENABLE(rsa,
@@ -323,12 +332,6 @@ dnl LDAP is defined only after we confirm the library is available later
       try_hkp=$enableval, try_hkp=yes)
     AC_MSG_RESULT($try_hkp)
 
-    AC_MSG_CHECKING([whether HTTP key fetching support is requested])
-    AC_ARG_ENABLE(http,
-      AC_HELP_STRING([--disable-http],[disable HTTP key fetching interface]),
-      try_http=$enableval, try_http=yes)
-    AC_MSG_RESULT($try_http)
-
     AC_MSG_CHECKING([whether finger key fetching support is requested])
     AC_ARG_ENABLE(finger,
       AC_HELP_STRING([--disable-finger],
@@ -336,13 +339,6 @@ dnl LDAP is defined only after we confirm the library is available later
       try_finger=$enableval, try_finger=yes)
     AC_MSG_RESULT($try_finger)
 
-    AC_MSG_CHECKING([whether ftp key fetching support is requested])
-    AC_ARG_ENABLE(ftp,
-      AC_HELP_STRING([--disable-ftp],
-        [disable ftp key fetching interface only]),
-      try_ftp=$enableval, try_ftp=yes)
-    AC_MSG_RESULT($try_ftp)
-
     AC_MSG_CHECKING([whether email keyserver support is requested])
     AC_ARG_ENABLE(mailto,
       AC_HELP_STRING([--enable-mailto],
@@ -356,7 +352,7 @@ dnl LDAP is defined only after we confirm the library is available later
       AC_HELP_STRING([--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])
+         disable_keyserver_path=yes
       fi],enableval=yes)
     AC_MSG_RESULT($enableval)
   fi
@@ -422,7 +418,6 @@ AH_BOTTOM([
 #endif /*GNUPG_CONFIG_H_INCLUDED*/
 ])
 
-
 AM_MAINTAINER_MODE
 
 dnl Checks for programs.
@@ -443,16 +438,15 @@ AC_PATH_PROG(PERL,"perl")
 AC_ISC_POSIX
 AC_SYS_LARGEFILE
 AC_PROG_INSTALL
-AC_PROG_LN_S
 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
@@ -470,9 +464,13 @@ case "${host}" in
                    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
         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
@@ -480,6 +478,7 @@ case "${host}" in
         AC_DEFINE(HAVE_DRIVE_LETTERS)
         have_dosish_system=yes
         try_gettext="no"
+        agent_support=no
         ;;
 
     i?86-*-msdosdjgpp*)
@@ -488,14 +487,9 @@ 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"
@@ -531,10 +525,21 @@ if test "$have_dosish_system" = yes; then
 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])
+fi
+
 AC_SUBST(MPI_OPT_FLAGS)
 GNUPG_SYS_SYMBOL_UNDERSCORE
 
 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])
+
 if test x"$try_hkp" = xyes ; then
   AC_SUBST(GPGKEYS_HKP,"gpgkeys_hkp$EXEEXT")
 fi
@@ -553,14 +558,27 @@ 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 SRV
+dnl Now try for the resolver functions so we can use DNS for SRV, PKA,
+dnl and CERT.
 
-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)
+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
+
+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-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"$try_hkp" = xyes || test x"$try_http" = xyes) && test x"$use_dns_srv" = xyes ; then
+if test x"$use_dns_pka" = xyes || test x"$use_dns_srv" = xyes || test x"$use_dns_cert" = xyes; then
   _srv_save_libs=$LIBS
   LIBS=""
   # the double underscore thing is a glibc-ism?
@@ -571,22 +589,34 @@ if (test x"$try_hkp" = xyes || test x"$try_http" = xyes) && test x"$use_dns_srv"
   AC_SEARCH_LIBS(dn_skipname,resolv bind,,
                  AC_SEARCH_LIBS(__dn_skipname,resolv bind,,use_dns_srv=no))
 
-  if test x"$use_dns_srv" = xyes ; then
+  # 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.
 
-    # Make sure that the BIND 4 resolver interface is workable before
-    # enabling SRVs.  At some point I'll rewrite the code to use the
-    # BIND 8 resolver API.
-
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
+  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);]])],,use_dns_srv=no)
-  fi
+[[unsigned char answer[PACKETSZ]; res_query("foo.bar",C_IN,T_A,answer,PACKETSZ);]])],have_resolver=yes)
 
-  if test x"$use_dns_srv" = xyes ; then
-     AC_DEFINE(USE_DNS_SRV,1,[define to use DNS SRV])
+  if test x"$have_resolver" = xyes ; then
      SRVLIBS=$LIBS
+
+     if test x"$use_dns_srv" = xyes ; then
+        AC_DEFINE(USE_DNS_SRV,1,[define to use DNS SRV])
+     fi
+
+     if test x"$use_dns_pka" = xyes ; then
+        AC_DEFINE(USE_DNS_PKA,1,[define to use our experimental DNS PKA])
+     fi
+
+     if test x"$use_dns_cert" = xyes ; then
+        AC_DEFINE(USE_DNS_CERT,1,[define to use DNS CERT])
+     fi
+  else
+     use_dns_srv=no
+     use_dns_pka=no
+     use_dns_cert=no
   fi
 
   LIBS=$_srv_save_libs
@@ -594,107 +624,31 @@ fi
 
 AC_SUBST(SRVLIBS)
 
-# Try and link a LDAP test program to weed out unusable LDAP
-# libraries.  -lldap [-llber [-lresolv]] is for older OpenLDAPs.
-# OpenLDAP, circa 1999, was terrible with creating weird dependencies.
-# This seems to have all been resolved, so I'm simplifying this code
-# significantly.  If all else fails, the user can play
-# guess-the-dependency by using something like ./configure
-# LDAPLIBS="-Lfoo -lbar"
+AM_CONDITIONAL(USE_DNS_SRV, test x"$use_dns_srv" = xyes)
 
-if test "$try_ldap" = yes ; then
+# Check for LDAP
 
-  AC_ARG_WITH(ldap,
-     AC_HELP_STRING([--with-ldap=DIR],[look for the LDAP library in DIR]),
-     [
-     if test -d "$withval" ; then
-        CPPFLAGS="${CPPFLAGS} -I$withval/include"
-        LDFLAGS="${LDFLAGS} -L$withval/lib"
-     fi
-     ])
-
-  for MY_LDAPLIBS in ${LDAPLIBS+"$LDAPLIBS"} "-lldap" "-lldap -llber" "-lldap -llber -lresolv" "-lwldap32"; do
-    _ldap_save_libs=$LIBS
-    LIBS="$MY_LDAPLIBS $NETLIBS $LIBS"
-
-    AC_MSG_CHECKING([whether LDAP via \"$MY_LDAPLIBS\" is present and sane])
-    AC_TRY_LINK([
-#ifdef _WIN32
-#include <winsock2.h>
-#include <winldap.h>
-#else
-#include <ldap.h>
-#endif
-],[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" = yes ; then
-       LDAPLIBS=$MY_LDAPLIBS
-       GPGKEYS_LDAP="gpgkeys_ldap$EXEEXT"
-
-       AC_CHECK_FUNCS(ldap_get_option ldap_set_option ldap_start_tls_s)
-
-       if test "$ac_cv_func_ldap_get_option" != yes ; then
-          AC_MSG_CHECKING([whether LDAP supports ld_errno])
-         AC_TRY_LINK([#include <ldap.h>],[LDAP *ldap; ldap->ld_errno;],
-            [gnupg_cv_func_ldap_ld_errno=yes],
-            [gnupg_cv_func_ldap_ld_errno=no])
-          AC_MSG_RESULT([$gnupg_cv_func_ldap_ld_errno])
-
-         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
-
-    LIBS=$_ldap_save_libs
-
-    if test "$GPGKEYS_LDAP" != "" ; then break; fi
-  done
+if test "$try_ldap" = yes ; then
+   GNUPG_CHECK_LDAP($NETLIBS)
 fi
 
-AC_SUBST(GPGKEYS_LDAP)
-AC_SUBST(LDAPLIBS)
-AM_CONDITIONAL(GPGKEYS_LDAP, test "$GPGKEYS_LDAP" != "")
+# Which keyserver helpers are we building?
 
-AC_ARG_ENABLE(fake-curl,
-   AC_HELP_STRING([--enable-fake-curl],[enable EXPERIMENTAL no-curl HTTP code]),fake_curl=$enableval,fake_curl=no)
-
-AM_CONDITIONAL(FAKE_CURL,test x"$fake_curl" = xyes)
+AC_ARG_ENABLE(old-keyserver-helpers,
+   AC_HELP_STRING([--enable-old-keyserver-helpers],[enable old keyserver helpers]),old_ks=$enableval,old_ks=no)
 
-if test x"$fake_curl" = xyes ; then
-   libcurl_protocol_HTTP=yes
+if test "$old_ks" = yes ; then
+   AC_SUBST(GPGKEYS_HTTP,"gpgkeys_http$EXEEXT")
 else
-   # If we have neither FTP or HTTP defined, then don't bother to check
-   # for curl.
-   if test x"$try_ftp" = xyes || test x"$try_http" = xyes ; then
-      LIBCURL_CHECK_CONFIG([no])
-   fi
-fi
-
-# Are we doing HTTP?
-
-if test x"$try_http" = xyes ; then
-   if test x$libcurl_protocol_HTTP = xyes ; then
-      AC_SUBST(GPGKEYS_CURL,"gpgkeys_curl$EXEEXT")
-      AC_DEFINE(HTTP_VIA_LIBCURL,1,[Define if HTTP is handled via libcurl])
-      if test x$libcurl_protocol_HTTPS = xyes ; then
-         AC_DEFINE(HTTPS_VIA_LIBCURL,1,[Define if HTTPS is handled via libcurl])
-      fi
-   else
-      AC_SUBST(GPGKEYS_HTTP,"gpgkeys_http$EXEEXT")
-   fi
+   LIBCURL_CHECK_CONFIG([yes],,[with_curl=yes],[fake_curl=yes])
+   AC_SUBST(GPGKEYS_CURL,"gpgkeys_curl$EXEEXT")
 fi
 
-# Are we doing FTP?  We only do FTP if we have libcurl.
+AM_CONDITIONAL(FAKE_CURL,test x"$fake_curl" = xyes)
+AM_CONDITIONAL(WITH_CURL,test x"$with_curl" = xyes || test x"$fake_curl" = xyes)
 
-if test x"$try_ftp" = xyes && test x$libcurl_protocol_FTP = xyes ; then
-   AC_SUBST(GPGKEYS_CURL,"gpgkeys_curl$EXEEXT")
-   AC_DEFINE(FTP_VIA_LIBCURL,1,[Define if FTP is handled via libcurl])
-   if test x$libcurl_protocol_FTPS = xyes ; then
-      AC_DEFINE(FTPS_VIA_LIBCURL,1,[Define if FTPS is handled via libcurl])
-   fi
+if test x"$fake_curl" = xyes ; then
+   AC_DEFINE(FAKE_CURL,1,[define to fake the libcurl API internally])
 fi
 
 dnl This isn't necessarily sendmail itself, but anything that gives a
@@ -780,6 +734,7 @@ 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
@@ -812,6 +767,10 @@ 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
@@ -824,15 +783,12 @@ if test "$gnupg_use_iconv" = yes ; then
   AC_DEFINE(USE_GNUPG_ICONV,1,[Define to use the new iconv based code])
 fi
 
-if test "$do_backsigs" = yes ; then
-  AC_DEFINE(DO_BACKSIGS,1,[Define to enable the experimental backsigs 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.
 AC_HEADER_STDC
-AC_CHECK_HEADERS([unistd.h langinfo.h termio.h locale.h getopt.h])
+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
@@ -861,9 +817,9 @@ 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
-gt_HEADER_INTTYPES_H
+AC_CHECK_HEADERS([inttypes.h])
 AC_CACHE_CHECK([for UINT64_C], [gnupg_cv_uint64_c_works],
-               AC_COMPILE_IFELSE(AC_LANG_PROGRAM([
+               AC_LINK_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
@@ -877,28 +833,33 @@ if test "$ac_cv_sizeof_unsigned_short" = "0" \
 fi
 
 dnl Do we have any 64-bit data types?
-if test "$ac_cv_sizeof_unsigned_int" != "8" \
+if test x"$use_sha512" = xyes \
+   && 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.])
-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
+    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])
 fi
 
+AM_CONDITIONAL(USE_SHA512, test x"$use_sha512" = xyes)
+
 dnl Checks for library functions.
+AC_CHECK_DECLS(getpagesize)
 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)
+AC_CHECK_FUNCS(strcasecmp strncasecmp ctermid times unsetenv getpwnam getpwuid)
 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_REPLACE_FUNCS(mkdtemp timegm)
+AC_CHECK_FUNCS(fcntl ftruncate)
+AC_REPLACE_FUNCS(mkdtemp timegm isascii memrchr)
 
 AC_CHECK_TYPES([struct sigaction, sigset_t],,,[#include <signal.h>])
 
@@ -1054,23 +1015,32 @@ for rndmod in $random_modules "" ; do
     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
@@ -1134,14 +1104,14 @@ 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_GNU_REGEX,1,[ Define if you want to use the included regex lib ])
-     AC_SUBST(REGEX_O,regex.o)
+     AC_DEFINE(USE_INTERNAL_REGEX,1,[ Define if you want to use the included regex lib ])
   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
@@ -1247,7 +1217,7 @@ esac
 AC_SUBST(NETLIBS)
 AC_SUBST(W32LIBS)
 
-# Special options used fith gcc.
+# 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
@@ -1259,6 +1229,20 @@ if test "$GCC" = yes; then
         CFLAGS="$CFLAGS -Wall"
     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;
+
+    if test x"$_gcc_psign" = xyes ; then
+       CFLAGS="$CFLAGS -Wno-pointer-sign"
+    fi
+
     # Non exec stack hack.  Fixme: Write a test to check whether as
     # can cope with it and use the enable-noexecstack option only to
     # disable it in case it is required on sime platforms.
@@ -1318,11 +1302,15 @@ cat >g10defs.tmp <<G10EOF
 #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
@@ -1365,6 +1353,7 @@ keyserver/gpgkeys_mailto
 keyserver/gpgkeys_test
 doc/Makefile
 tools/Makefile
+tools/gpg-zip
 zlib/Makefile
 checks/Makefile
 ])