* g10.c (main): Enhance the version-specific config file code to try for
[gnupg.git] / configure.ac
index c8fe36a..c8d3229 100644 (file)
@@ -21,18 +21,16 @@ dnl
 dnl (Process this file with autoconf to produce a configure script.)
 dnlAC_REVISION($Revision$)dnl
 
-AC_PREREQ(2.52)
+AC_PREREQ(2.57)
 
 # 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.3.3-cvs, bug-gnupg@gnu.org)
+AC_INIT(gnupg, 1.3.4-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=yes
 
-ALL_LINGUAS="de"
-
 AC_CONFIG_AUX_DIR(scripts)
 AC_CONFIG_SRCDIR(g10/g10.c)
 AC_CANONICAL_TARGET()
@@ -103,18 +101,22 @@ if test "$use_m_guard" = yes ; then
     AC_DEFINE(M_GUARD,1,[Define to use the (obsolete) malloc guarding feature])
 fi
 
+AC_MSG_CHECKING([whether OpenPGP card support is requested])
+AC_ARG_ENABLE(card-support,
+    [  --enable-card-support   enable OpenPGP card support],
+    card_support=$enableval, card_support=no)
+AC_MSG_RESULT($card_support)
+
 dnl See if we are disabling any algorithms or features for a smaller
 dnl binary
 
-try_dynload=no
+try_extensions=no
 
 use_idea=yes
 use_cast5=yes
 use_blowfish=yes
 use_aes=yes
 use_twofish=yes
-use_tiger192=no
-use_old_tiger192=no
 use_sha256=yes
 use_sha512=yes
 use_exec=yes
@@ -151,7 +153,7 @@ if test x"$use_idea" = xyes ; then
    else
       IDEA_O=idea-stub.o
       tmp=no
-      try_dynload=yes
+      try_extensions=yes
    fi
    AC_SUBST(IDEA_O)
    AC_MSG_RESULT($tmp)
@@ -193,34 +195,6 @@ if test x"$use_twofish" = xyes ; then
    AC_DEFINE(USE_TWOFISH,1,[Define to include the TWOFISH cipher])
 fi
 
-dnl this is because the stable branch calls it just "tiger".
-AC_ARG_ENABLE(tiger,,use_tiger192=$enableval)
-AC_ARG_ENABLE(old-tiger,,use_old_tiger192=$enableval)
-
-dnl TIGER192 is actually defined only after we confirm 64-bit support
-dnl later
-AC_MSG_CHECKING([whether to enable the nonstandard TIGER/192 digest])
-AC_ARG_ENABLE(tiger192,
-   AC_HELP_STRING([--enable-tiger192],[enable the nonstandard TIGER/192 digest]),
-   use_tiger192=$enableval)
-AC_MSG_RESULT($use_tiger192)
-
-AC_MSG_CHECKING([whether to enable old-style nonstandard TIGER/192 digest support])
-AC_ARG_ENABLE(old-tiger192,
-   AC_HELP_STRING([--enable-old-tiger192],[enable old-style nonstandard TIGER/192 digest support]),
-   use_old_tiger=$enableval)
-AC_MSG_RESULT($use_old_tiger192)
-
-if test x"$use_tiger192" = xyes || test x"$use_old_tiger192" = xyes ; then
-   AC_MSG_WARN([[
-***
-*** The TIGER/192 digest is in the process of being removed from the
-*** OpenPGP standard.  While it hasn't been removed from GnuPG yet, it
-*** will be removed in a future version.  For the sake of future
-*** compatibility, please do not use this digest.
-***]])
-fi
-
 AC_MSG_CHECKING([whether to enable the SHA-256 digest])
 AC_ARG_ENABLE(sha256,
    AC_HELP_STRING([--disable-sha256],[disable the SHA-256 digest]),
@@ -329,6 +303,10 @@ AH_BOTTOM([
 #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"
 ])
 
@@ -364,6 +342,7 @@ MPI_OPT_FLAGS=""
 
 try_gettext=yes
 have_dosish_system=no
+need_dlopen=yes
 case "${target}" in
     *-*-mingw32*)
         # special stuff for Windoze NT
@@ -377,6 +356,7 @@ case "${target}" in
                    MingW32 systems and these systems lack Posix functions,
                    we use a simplified version of gettext])
         have_dosish_system=yes
+        need_dlopen=no
         try_gettext="no"
         ;;
     i?86-emx-os2 | i?86-*-os2*emx )
@@ -599,15 +579,11 @@ case "${target}" in
         ;;
     i?86-*-msdosdjgpp*)
         PRINTABLE_OS_NAME="MSDOS/DJGPP"
-        try_dynload=no
+        try_extensions=no
         ;;
     *-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"`
         ;;
@@ -653,19 +629,41 @@ else
   AC_SUBST(BUILD_INCLUDED_LIBINTL)
 fi
 
-if test "$try_dynload" = yes ; then
-  AC_CHECK_FUNC(dlopen,,AC_CHECK_LIB(dl,dlopen,found_dlopen=yes))
-  if test x"$found_dlopen" = "xyes" ; then
-    AC_DEFINE(USE_DYNAMIC_LINKING,1,[define to enable the use of extensions])
-    AC_DEFINE(HAVE_DL_DLOPEN,1,
-              [Defined when the dlopen function family is available])
-    AC_SUBST(DLLIBS,"-ldl")
+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_WARN([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
-else
-  AC_MSG_CHECKING(for dynamic loading)
-  AC_MSG_RESULT(has been disabled)
 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 "$try_extensions" = yes ; then
+  AC_DEFINE(USE_DYNAMIC_LINKING,1,[Define to enable the use of extensions])
+fi
+
+AM_CONDITIONAL(ENABLE_CARD_SUPPORT, test "$card_support" = yes)
 
 dnl Checks for header files.
 AC_HEADER_STDC
@@ -692,7 +690,15 @@ AC_CHECK_SIZEOF(unsigned short)
 AC_CHECK_SIZEOF(unsigned int)
 AC_CHECK_SIZEOF(unsigned long)
 AC_CHECK_SIZEOF(unsigned long long)
-AC_CHECK_SIZEOF(uint64_t)
+
+# Ensure that we have UINT64_C before we bother to check for uint64_t
+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" \
@@ -704,20 +710,9 @@ dnl Do we have any 64-bit data types?
 if test "$ac_cv_sizeof_unsigned_int" != "8" \
    && test "$ac_cv_sizeof_unsigned_long" != "8" \
    && test "$ac_cv_sizeof_unsigned_long_long" != "8" \
-   && test "$ac_cv_sizeof_uint64_t" != "8"; then
-    AC_MSG_WARN([No 64-bit types.  Disabling TIGER/192, SHA-384, and SHA-512])
+   && test x"$ac_cv_sizeof_uint64_t" != "x8"; then
+    AC_MSG_WARN([No 64-bit types.  Disabling SHA-384 and SHA-512])
 else
-  if test x"$use_tiger192" = xyes ; then
-     AC_SUBST(TIGER_O,tiger.o)
-     AC_DEFINE(USE_TIGER192,1,[Define to include the TIGER/192 digest])
-  fi
-
-  if test "$use_old_tiger192" = yes ; then
-     AC_SUBST(TIGER_O,tiger.o)
-     AC_DEFINE(USE_TIGER192,1,[Define to include the TIGER/192 digest])
-     AC_DEFINE(USE_OLD_TIGER,1,[Define to use the old fake OID for TIGER/192 digest support])
-  fi
-
   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])
@@ -1004,6 +999,23 @@ fi
 AC_SUBST(ZLIBS)
 
 
+#
+# libusb allows us to use the integrated CCID smartcard reader driver.
+#
+# Note, that we need the CVS (unstable) version. 
+#
+LIBUSB_LIBS=""
+if test "$card_support" = yes; then
+    AC_CHECK_LIB(usb, usb_find_device,
+                 [ LIBUSB_LIBS="$LIBUSB_LIBS -lusb"
+                   AC_DEFINE(HAVE_LIBUSB,1,
+                   [defined if libusb is available])
+                 ])
+fi
+AC_SUBST(LIBUSB_LIBS)
+
+
+
 # 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. 
@@ -1127,6 +1139,7 @@ DATADIRNAME=$DATADIRNAME
 
 AC_CONFIG_FILES([
 Makefile
+m4/Makefile
 intl/Makefile
 po/Makefile.in
 util/Makefile