See ChangeLog: Mon Jul 31 10:04:47 CEST 2000 Werner Koch
[libgcrypt.git] / configure.in
index 5eb68ea..9cc324f 100644 (file)
@@ -8,22 +8,20 @@ dnl Must reset CDPATH so that bash's cd does not print to stdout
 CDPATH=
 
 AC_PREREQ(2.13)
 CDPATH=
 
 AC_PREREQ(2.13)
-AC_INIT(g10/g10.c)
+AC_INIT(g10/gpg.c)
 AC_CONFIG_AUX_DIR(scripts)
 AM_CONFIG_HEADER(config.h)
 AC_CONFIG_AUX_DIR(scripts)
 AM_CONFIG_HEADER(config.h)
+AC_CANONICAL_SYSTEM
+AM_INIT_AUTOMAKE(gnupg,`cat $srcdir/VERSION`)
 
 
-
-VERSION=`cat $srcdir/VERSION`
-PACKAGE=gnupg
-ALL_LINGUAS="de es_ES fr it pl pt_BR ru"
+ALL_LINGUAS="da de eo es_ES fr id it ja nl pl pt_BR pt_PT ru sv"
 static_modules="sha1 md5 rmd160"
 static_modules="sha1 md5 rmd160"
-AC_SUBST(VERSION)
-AC_SUBST(PACKAGE)
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+static_random_module=""
+
+AC_PROG_AWK
 
 
-MODULES_IN_CIPHER=`awk '/# MODULES: / { for(i=3;i<=NF;i++) print $i}' \
-                                                $srcdir/cipher/Makefile.am`
+MODULES_IN_CIPHER=`$AWK '/^EXTRA_PROGRAMS/ { for(i=3;i<=NF;i++) print $i}' \
+                                              $srcdir/cipher/Makefile.am`
 
 dnl
 dnl  Check for random module options
 
 dnl
 dnl  Check for random module options
@@ -50,6 +48,8 @@ case "$use_static_rnd" in
       ;;
 esac
 
       ;;
 esac
 
+
+
 dnl
 dnl See whether the user wants to disable checking for /dev/random
 
 dnl
 dnl See whether the user wants to disable checking for /dev/random
 
@@ -107,15 +107,48 @@ dnl Check wether we want to compile libgcrypt
 dnl
 AC_MSG_CHECKING([whether compilation of libgcrypt is requested])
 AC_ARG_ENABLE(libgcrypt,
 dnl
 AC_MSG_CHECKING([whether compilation of libgcrypt is requested])
 AC_ARG_ENABLE(libgcrypt,
-    [  --enable-libgcrypt      compile the libgcrypt [default=no]],
+    [  --enable-libgcrypt      compile the libgcrypt [default=yes]],
 [compile_libgcrypt="$enableval"],[compile_libgcrypt=no])
 [compile_libgcrypt="$enableval"],[compile_libgcrypt=no])
-AM_CONDITIONAL(COMPILE_LIBGCRYPT, test x$compile_libgcrypt = xyes)
 AC_MSG_RESULT($compile_libgcrypt)
 AC_MSG_RESULT($compile_libgcrypt)
+AM_CONDITIONAL(COMPILE_LIBGCRYPT, test x$compile_libgcrypt = xyes)
+
+
+dnl
+dnl Check whether we want to use Linux capabilities
+dnl
+AC_MSG_CHECKING([whether use of capabilities is requested])
+AC_ARG_WITH(capabilities,
+    [  --with-capabilities     use linux capabilities [default=no]],
+[use_capabilities="$withval"],[use_capabilities=no])
+AC_MSG_RESULT($use_capabilities)
 
 
 
 
+
+
+
+AM_MAINTAINER_MODE
+
 dnl Checks for programs.
 
 dnl Checks for programs.
 
-AC_CANONICAL_SYSTEM
+dnl
+dnl Setup some stuff depending on host/target.
+dnl
+case "${target}" in
+    *-*-mingw32*)
+        # special stuff for Windoze NT
+        # Do we need to set cross_compiling here or is it sufficient
+        # to rely on AC_PROG_CC which is called later?
+        cross_compiling=yes
+        CC="${target}-gcc"
+        CPP="${target}-gcc -E"
+        RANLIB="${target}-ranlib"
+        disallowed_modules="rndunix rndlinux rndegd"
+        ;;
+    *)
+        disallowed_modules="rndw32"
+       ;;
+esac
+
 AC_ARG_PROGRAM
 AC_PROG_MAKE_SET
 AM_SANITY_CHECK
 AC_ARG_PROGRAM
 AC_PROG_MAKE_SET
 AM_SANITY_CHECK
@@ -129,42 +162,35 @@ AC_PROG_CC
 AC_PROG_CPP
 AC_ISC_POSIX
 AC_PROG_INSTALL
 AC_PROG_CPP
 AC_ISC_POSIX
 AC_PROG_INSTALL
-AC_PROG_RANLIB
-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)
+AC_PROG_AWK
+GPH_PROG_DOCBOOK
 
 
 
 
-
-if test x$compile_libgcrypt = xyes; then
-   dnl Don't default to build shared libs
-   AM_DISABLE_SHARED
-   AM_PROG_LIBTOOL
-fi
+dnl
+dnl Build shared libraries only when compilation of libgcrypt
+dnl has been requested
+dnl
+AM_DISABLE_STATIC
+AM_PROG_LIBTOOL
 
 
 MPI_OPT_FLAGS=""
 
 
 MPI_OPT_FLAGS=""
-if test "$GCC" = yes; then
-    CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
-fi
 
 
 try_gettext=yes
 try_gdbm=yes
 case "${target}" in
 
 
 try_gettext=yes
 try_gdbm=yes
 case "${target}" in
-    i386--mingw32)
+    *-*-mingw32*)
         # special stuff for Windoze NT
         # special stuff for Windoze NT
-        cross_compiling=yes
-        CC="i386--mingw32-gcc"
-        CPP="i386--mingw32-gcc -E"
-        RANLIB="i386--mingw32-ranlib"
         ac_cv_have_dev_random=no
         AC_DEFINE(USE_ONLY_8DOT3)
         AC_DEFINE(HAVE_DRIVE_LETTERS)
         AC_DEFINE(HAVE_DOSISH_SYSTEM)
         ac_cv_have_dev_random=no
         AC_DEFINE(USE_ONLY_8DOT3)
         AC_DEFINE(HAVE_DRIVE_LETTERS)
         AC_DEFINE(HAVE_DOSISH_SYSTEM)
+        AC_DEFINE(USE_SIMPLE_GETTEXT)
         try_gettext="no"
         try_gdbm="no"
         ;;
         try_gettext="no"
         try_gdbm="no"
         ;;
-    i386-emx-os2 | i[3456]86-pc-os2emx )
+    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)
         # OS/2 with the EMX environment
         ac_cv_have_dev_random=no
         AC_DEFINE(HAVE_DRIVE_LETTERS)
@@ -172,6 +198,22 @@ case "${target}" in
         try_gettext="no"
         try_gdbm="no"
         ;;
         try_gettext="no"
         try_gdbm="no"
         ;;
+
+    i?86-*-msdosdjgpp*)
+        # DOS with the DJGPP environment
+        ac_cv_have_dev_random=no
+        AC_DEFINE(HAVE_DRIVE_LETTERS)
+        AC_DEFINE(HAVE_DOSISH_SYSTEM)
+        try_gettext="no"
+        try_gdbm="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"
     *-*-hpux*)
         if test -z "$GCC" ; then
             CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE"
@@ -193,22 +235,30 @@ esac
 AC_SUBST(MPI_OPT_FLAGS)
 GNUPG_SYS_SYMBOL_UNDERSCORE
 GNUPG_CHECK_PIC
 AC_SUBST(MPI_OPT_FLAGS)
 GNUPG_SYS_SYMBOL_UNDERSCORE
 GNUPG_CHECK_PIC
-GNUPG_CHECK_RDYNAMIC
+GNUPG_CHECK_EXPORTDYNAMIC
 if test "$NO_PIC" = yes; then
     try_dynload=no
 fi
 
 
 case "${target}" in
 if test "$NO_PIC" = yes; then
     try_dynload=no
 fi
 
 
 case "${target}" in
-    i386--mingw32)
+    *-*-mingw32*)
         PRINTABLE_OS_NAME="MingW32"
         ;;
         PRINTABLE_OS_NAME="MingW32"
         ;;
-    i386-emx-os2 | i[3456]86-pc-os2emx)
+    i?86-emx-os2 | i?86-*-os2*emx )
         PRINTABLE_OS_NAME="OS/2"
         ;;
         PRINTABLE_OS_NAME="OS/2"
         ;;
+    i?86-*-msdosdjgpp*)
+        PRINTABLE_OS_NAME="MSDOS/DJGPP"
+        try_dynload=no
+        ;;
     *-linux*)
         PRINTABLE_OS_NAME="GNU/Linux"
         ;;
     *-linux*)
         PRINTABLE_OS_NAME="GNU/Linux"
         ;;
+dnl let that after linux to avoid gnu-linux problems
+    *-gnu*)
+        PRINTABLE_OS_NAME="GNU/Hurd"
+        ;;
     *)
         PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
         ;;
     *)
         PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
         ;;
@@ -223,6 +273,13 @@ case "${target}" in
         NAME_OF_DEV_URANDOM="/dev/urandom"
         DYNLINK_MOD_CFLAGS="-shared -rdynamic -fpic -Wl,-Bshareable -Wl,-x"
         ;;
         NAME_OF_DEV_URANDOM="/dev/urandom"
         DYNLINK_MOD_CFLAGS="-shared -rdynamic -fpic -Wl,-Bshareable -Wl,-x"
         ;;
+
+    *-netbsd*)
+        NAME_OF_DEV_RANDOM="/dev/random"
+        NAME_OF_DEV_URANDOM="/dev/urandom"
+        DYNLINK_MOD_CFLAGS="-shared -rdynamic -fpic -Wl,-Bshareable -Wl,-x"
+        ;;
+
     *)
         NAME_OF_DEV_RANDOM="/dev/random"
         NAME_OF_DEV_URANDOM="/dev/urandom"
     *)
         NAME_OF_DEV_RANDOM="/dev/random"
         NAME_OF_DEV_URANDOM="/dev/urandom"
@@ -278,21 +335,21 @@ if test "$try_dynload" = yes ; then
   if test "$ac_cv_lib_dl_dlopen" = "yes"; then
     AC_DEFINE(USE_DYNAMIC_LINKING)
     AC_DEFINE(HAVE_DL_DLOPEN)
   if test "$ac_cv_lib_dl_dlopen" = "yes"; then
     AC_DEFINE(USE_DYNAMIC_LINKING)
     AC_DEFINE(HAVE_DL_DLOPEN)
-    DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
+    DYNLINK_LDFLAGS="$CFLAGS_EXPORTDYNAMIC"
     use_gnupg_extensions=yes
   else
     use_gnupg_extensions=yes
   else
-    AC_CHECK_LIB(c,dlopen)
-    if test "$ac_cv_lib_c_dlopen" = "yes"; then
+    AC_CHECK_FUNCS(dlopen)
+    if test "$ac_cv_func_dlopen" = "yes"; then
       AC_DEFINE(USE_DYNAMIC_LINKING)
       AC_DEFINE(HAVE_DL_DLOPEN)
       AC_DEFINE(USE_DYNAMIC_LINKING)
       AC_DEFINE(HAVE_DL_DLOPEN)
-      DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
+      DYNLINK_LDFLAGS="$CFLAGS_EXPORTDYNAMIC"
       use_gnupg_extensions=yes
     else
       AC_CHECK_LIB(dld,shl_load)
       if test "$ac_cv_lib_dld_shl_load" = "yes"; then
         AC_DEFINE(USE_DYNAMIC_LINKING)
         AC_DEFINE(HAVE_DL_SHL_LOAD)
       use_gnupg_extensions=yes
     else
       AC_CHECK_LIB(dld,shl_load)
       if test "$ac_cv_lib_dld_shl_load" = "yes"; then
         AC_DEFINE(USE_DYNAMIC_LINKING)
         AC_DEFINE(HAVE_DL_SHL_LOAD)
-        DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
+        DYNLINK_LDFLAGS="$CFLAGS_EXPORTDYNAMIC"
         use_gnupg_extensions=yes
 dnl -----------------
 dnl  DLD is not ready for use. So I better disable this test
         use_gnupg_extensions=yes
 dnl -----------------
 dnl  DLD is not ready for use. So I better disable this test
@@ -301,7 +358,7 @@ dnl    AC_CHECK_LIB(dld,dld_link)
 dnl    if test "$ac_cv_lib_dld_dld_link" = "yes"; then
 dnl      AC_DEFINE(USE_DYNAMIC_LINKING)
 dnl      AC_DEFINE(HAVE_DLD_DLD_LINK)
 dnl    if test "$ac_cv_lib_dld_dld_link" = "yes"; then
 dnl      AC_DEFINE(USE_DYNAMIC_LINKING)
 dnl      AC_DEFINE(HAVE_DLD_DLD_LINK)
-dnl      DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
+dnl      DYNLINK_LDFLAGS="$CFLAGS_EXPORTDYNAMIC"
 dnl      use_gnupg_extensions=yes
 dnl ---------------
       fi
 dnl      use_gnupg_extensions=yes
 dnl ---------------
       fi
@@ -322,7 +379,7 @@ AC_SUBST(DYNLINK_MOD_CFLAGS)
 
 dnl Checks for header files.
 AC_HEADER_STDC
 
 dnl Checks for header files.
 AC_HEADER_STDC
-AC_CHECK_HEADERS(unistd.h langinfo.h)
+AC_CHECK_HEADERS(unistd.h langinfo.h termio.h)
 
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 
 
 dnl Checks for typedefs, structures, and compiler characteristics.
@@ -344,6 +401,7 @@ GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
 AC_CHECK_SIZEOF(unsigned short, 2)
 AC_CHECK_SIZEOF(unsigned int, 4)
 AC_CHECK_SIZEOF(unsigned long, 4)
 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)
 
 if test "$ac_cv_sizeof_unsigned_short" = "0" \
    || test "$ac_cv_sizeof_unsigned_int" = "0" \
 
 if test "$ac_cv_sizeof_unsigned_short" = "0" \
    || test "$ac_cv_sizeof_unsigned_int" = "0" \
@@ -355,11 +413,42 @@ fi
 
 dnl Checks for library functions.
 AC_FUNC_VPRINTF
 
 dnl Checks for library functions.
 AC_FUNC_VPRINTF
-AC_CHECK_FUNCS(strerror stpcpy strlwr tcgetattr rand strtoul mmap)
-AC_CHECK_FUNCS(memmove gettimeofday getrusage gethrtime setrlimit)
+AC_CHECK_FUNCS(strerror stpcpy strlwr stricmp tcgetattr rand strtoul mmap)
+AC_CHECK_FUNCS(memmove gettimeofday getrusage gethrtime setrlimit clock_gettime)
 AC_CHECK_FUNCS(memicmp atexit raise getpagesize strftime nl_langinfo)
 AC_CHECK_FUNCS(memicmp atexit raise getpagesize strftime nl_langinfo)
+AC_CHECK_FUNCS(waitpid wait4 sigaction sigprocmask)
 
 GNUPG_CHECK_MLOCK
 
 GNUPG_CHECK_MLOCK
+GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
+
+dnl
+dnl Check whether we can use Linux capabilities as requested
+dnl
+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)
+     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
+
 
 GNUPG_CHECK_IPC
 if test "$ac_cv_header_sys_shm_h" = "yes"; then
 
 GNUPG_CHECK_IPC
 if test "$ac_cv_header_sys_shm_h" = "yes"; then
@@ -404,24 +493,28 @@ fi
 dnl
 dnl Figure out the default linkage mode for cipher modules
 dnl
 dnl
 dnl Figure out the default linkage mode for cipher modules
 dnl
-dnl (We always need a static rmd160)
-static_modules="$static_modules rmd160"
+print_egd_notice=no
 if test "$use_static_rnd" = default; then
   if test "$ac_cv_have_dev_random" = yes; then
 if test "$use_static_rnd" = default; then
   if test "$ac_cv_have_dev_random" = yes; then
-      static_modules="$static_modules rndlinux"
+      static_random_module="rndlinux"
   else
       case "${target}" in
   else
       case "${target}" in
-          i386--mingw32)
-              static_modules="$static_modules rndw32"
+          *-*-mingw32*)
+              static_random_module="rndw32"
+              AC_DEFINE(USE_STATIC_RNDW32)
               ;;
               ;;
-          i386-emx-os2|i[3456]86-pc-os2emx)
-              static_modules="$static_modules rndos2"
+          i?86-emx-os2|i?86-*-os2*emx)
+              static_random_module="rndos2"
               ;;
           m68k-atari-mint)
               ;;
           m68k-atari-mint)
-              static_modules="$static_modules rndatari"
+              static_random_module="rndatari"
+              ;;
+          i?86-*-msdosdjgpp*)
+              :
               ;;
           *)
               ;;
           *)
-              static_modules="$static_modules rndunix"
+              static_random_module="rndunix"
+              print_egd_notice=yes
              ;;
       esac
   fi
              ;;
       esac
   fi
@@ -429,31 +522,64 @@ else
   if test "$use_static_rnd" = none; then
     :
   else
   if test "$use_static_rnd" = none; then
     :
   else
-    static_modules="$static_modules rnd$use_static_rnd"
+    static_random_module="rnd$use_static_rnd"
+    if test "$use_static_rnd" = "unix"; then
+        print_egd_notice=yes
+    fi
   fi
 fi
 
   fi
 fi
 
+
+if test "$print_egd_notice" = "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)
+***
+*** 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:
+***
+***           http://www.gnupg.org/download.html#egd
+***
+*** You may want to run ./configure with --enable-static-rnd=none to be
+*** able to load the EGD client code dynamically; this way you can choose
+*** between RNDUNIX and RNDEGD without recompilation.
+***]])
+fi
+
 dnl
 dnl Parse the modules list and build the list
 dnl of static and dymically linked modules
 dnl
 dnl
 dnl Parse the modules list and build the list
 dnl of static and dymically linked modules
 dnl
+dnl (We always need a static rmd160)
+static_modules="$static_modules rmd160 $static_random_module"
 STATIC_CIPHER_NAMES=""
 STATIC_CIPHER_OBJS=""
 DYNAMIC_CIPHER_MODS=""
 GNUPG_MSG_PRINT([dynamically linked cipher modules:])
 for name in $MODULES_IN_CIPHER; do
 STATIC_CIPHER_NAMES=""
 STATIC_CIPHER_OBJS=""
 DYNAMIC_CIPHER_MODS=""
 GNUPG_MSG_PRINT([dynamically linked cipher modules:])
 for name in $MODULES_IN_CIPHER; do
-    x="no"
-    for i in $static_modules; do
-        if test "$name" = "$i" ; then
-            x="yes"
-        fi
+    x="yes"
+    for i in $disallowed_modules; do
+        if test "$name" = "$i" ; then x="no" ; fi
     done;
     if test $x = yes; then
     done;
     if test $x = yes; then
-        STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
-        STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.o"
-    else
-        DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
-        GNUPG_MSG_PRINT([$name])
+        x="no"
+        for i in $static_modules; do
+            if test "$name" = "$i" ; then
+                x="yes"
+            fi
+        done;
+        if test $x = yes; then
+            STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
+            STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo"
+        else
+            DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
+            GNUPG_MSG_PRINT([$name])
+        fi
     fi
 done
 AC_MSG_RESULT()
     fi
 done
 AC_MSG_RESULT()
@@ -520,7 +646,7 @@ if test "$ac_cv_mpi_extra_asm_modules" != ""; then
 GNUPG_MSG_PRINT([mpi extra asm functions:])
 for i in $ac_cv_mpi_extra_asm_modules; do
     GNUPG_MSG_PRINT([$i])
 GNUPG_MSG_PRINT([mpi extra asm functions:])
 for i in $ac_cv_mpi_extra_asm_modules; do
     GNUPG_MSG_PRINT([$i])
-    MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o"
+    MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.lo"
 done
 AC_MSG_RESULT()
 fi
 done
 AC_MSG_RESULT()
 fi
@@ -540,7 +666,7 @@ else
   fi
 fi
 
   fi
 fi
 
-if test "use_local_zlib" = yes ; then
+if test "$use_local_zlib" = yes ; then
     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
     GNUPG_LINK_FILES(zlib/zlib.h, zlib.h )
     GNUPG_LINK_FILES(zlib/zconf.h, zconf.h )
     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
     GNUPG_LINK_FILES(zlib/zlib.h, zlib.h )
     GNUPG_LINK_FILES(zlib/zconf.h, zconf.h )
@@ -553,36 +679,67 @@ fi
 AC_SUBST(ZLIBS)
 
 
 AC_SUBST(ZLIBS)
 
 
+# Allow users to append something to the version string without
+# flagging it as development version.  The user version parts is
+# considered everything after a dash.
 changequote(,)dnl
 tmp_pat='[a-zA-Z]'
 changequote([,])dnl
 changequote(,)dnl
 tmp_pat='[a-zA-Z]'
 changequote([,])dnl
-if echo "$VERSION" | grep $tmp_pat >/dev/null ; then
+if echo "$VERSION" | sed 's/-.*//' | grep "$tmp_pat" >/dev/null ; then
     AC_DEFINE(IS_DEVELOPMENT_VERSION)
 fi
 
     AC_DEFINE(IS_DEVELOPMENT_VERSION)
 fi
 
+dnl Temp workarounds:
+GNUPG_LINK_FILES(gcrypt/gcrypt.h, gcrypt.h )
+GNUPG_LINK_FILES(include/types.h, gcrypt/types.h )
+
+AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
+
 GNUPG_DO_LINK_FILES
 
 GNUPG_DO_LINK_FILES
 
+GNUPG_CHECK_GNUMAKE
+
+if test "$GCC" = yes; then
+    if test "$MAINTAINER_MODE" = "yes"; then
+        CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
+    else
+        CFLAGS="$CFLAGS -Wall"
+    fi
+fi
+
+dnl
+dnl Make the version number in gcrypt/gcrypt.h the same as the one here.
+dnl (this is easier than to have a .in file just for one substitution)
+dnl
+GNUPG_FIX_HDR_VERSION(gcrypt/gcrypt.h, GCRYPT_VERSION)
+
+GCRYPT_LIBS="-L${libdir} -lgcrypt"
+GCRYPT_CFLAGS=""
+AC_SUBST(GCRYPT_LIBS)
+AC_SUBST(GCRYPT_CFLAGS)
 
 AC_OUTPUT_COMMANDS([
 
 AC_OUTPUT_COMMANDS([
-cat >g10defs.tmp <<G10EOF
+chmod +x scripts/db2html
+chmod +x gcrypt/gcrypt-config
+cat >gnupg-defs.tmp <<G10EOF
 /* Generated automatically by configure */
 #ifdef HAVE_DRIVE_LETTERS
 /* Generated automatically by configure */
 #ifdef HAVE_DRIVE_LETTERS
-  #define G10_LOCALEDIR "c:/lib/gnupg/locale"
+  #define GNUPG_LOCALEDIR "c:/lib/gnupg/locale"
   #define GNUPG_LIBDIR  "c:/lib/gnupg"
   #define GNUPG_DATADIR "c:/lib/gnupg"
 #else
   #define GNUPG_LIBDIR  "c:/lib/gnupg"
   #define GNUPG_DATADIR "c:/lib/gnupg"
 #else
-  #define G10_LOCALEDIR "${prefix}/${DATADIRNAME}/locale"
+  #define GNUPG_LOCALEDIR "${prefix}/${DATADIRNAME}/locale"
   #define GNUPG_LIBDIR  "${libdir}/gnupg"
   #define GNUPG_DATADIR "${datadir}/gnupg"
 #endif
 G10EOF
   #define GNUPG_LIBDIR  "${libdir}/gnupg"
   #define GNUPG_DATADIR "${datadir}/gnupg"
 #endif
 G10EOF
-if cmp -s g10defs.h g10defs.tmp 2>/dev/null; then
-    echo "g10defs.h is unchanged"
-    rm -f g10defs.tmp
+if cmp -s gnupg-defs.h gnupg-defs.tmp 2>/dev/null; then
+    echo "gnupg-defs.h is unchanged"
+    rm -f gnupg-defs.tmp
 else
 else
-    rm -f g10defs.h
-    mv g10defs.tmp g10defs.h
-    echo "g10defs.h created"
+    rm -f gnupg-defs.h
+    mv gnupg-defs.tmp gnupg-defs.h
+    echo "gnupg-defs.h created"
 fi
 ],[
 prefix=$prefix
 fi
 ],[
 prefix=$prefix
@@ -595,17 +752,21 @@ DATADIRNAME=$DATADIRNAME
 
 AC_OUTPUT([
 Makefile
 
 AC_OUTPUT([
 Makefile
+scripts/db2html
 intl/Makefile
 po/Makefile.in
 intl/Makefile
 po/Makefile.in
+jnlib/Makefile
 util/Makefile
 mpi/Makefile
 cipher/Makefile
 g10/Makefile
 doc/Makefile
 util/Makefile
 mpi/Makefile
 cipher/Makefile
 g10/Makefile
 doc/Makefile
+doc/version.sgml
 tools/Makefile
 zlib/Makefile
 checks/Makefile
 gcrypt/Makefile
 tools/Makefile
 zlib/Makefile
 checks/Makefile
 gcrypt/Makefile
+gcrypt/gcrypt-config
 ])
 
 dnl *-*wedit:notab*-*  Please keep this as the last line.
 ])
 
 dnl *-*wedit:notab*-*  Please keep this as the last line.