* exec.c (expand_args): Remove loop left over from earlier implementation.
[gnupg.git] / configure.ac
index 5468590..c052e16 100644 (file)
@@ -25,10 +25,10 @@ AC_PREREQ(2.52)
 # Please enter the version number here and 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.
-AC_INIT(gnupg, 1.1.91, bug-gnupg@gnu.org)
+AC_INIT(gnupg, 1.1.92, bug-gnupg@gnu.org)
 development_version=yes
 
-ALL_LINGUAS="cs da de eo el es et fr gl id it ja nl pl pt_BR pt sv tr"
+ALL_LINGUAS="ca cs da de eo el es et fr gl id it ja nl pl pt_BR pt sv tr"
 
 PACKAGE=$PACKAGE_NAME
 VERSION=$PACKAGE_VERSION
@@ -50,7 +50,7 @@ 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|none]  ],
+    [  --enable-static-rnd=[egd|unix|linux|auto]  ],
 [use_static_rnd=$enableval], [use_static_rnd=default] )
 
 if test "$use_static_rnd" = no; then
@@ -61,6 +61,9 @@ 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)
@@ -89,11 +92,32 @@ dnl
 dnl  Check other options
 dnl
 
-AC_MSG_CHECKING([whether use of extensions is requested])
-AC_ARG_ENABLE(dynload,
-[  --disable-dynload       disable use of extensions],
-    try_dynload=$enableval, try_dynload=yes)
-AC_MSG_RESULT($try_dynload)
+# 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_MSG_CHECKING(for extra cipher modules)
+tmp=""
+if test -f $srcdir/cipher/idea.c; then 
+   IDEA_O=idea.o
+   tmp=idea
+else
+   IDEA_O=idea-stub.o
+   tmp=no
+fi
+AC_SUBST(IDEA_O)
+AC_MSG_RESULT($tmp)
+
+# if the static idea is present, disable dynload.
+if test "$IDEA_O" = idea-stub.o ; then
+  AC_MSG_CHECKING([whether use of extensions is requested])
+  AC_ARG_ENABLE(dynload,
+  [  --disable-dynload       disable use of extensions],
+      try_dynload=$enableval, try_dynload=yes)
+  AC_MSG_RESULT($try_dynload)
+else
+  try_dynload=no
+fi
 
 AC_MSG_CHECKING([whether assembler modules are requested])
 AC_ARG_ENABLE(asm,
@@ -110,6 +134,16 @@ 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 to enable experimental TIGER digest support])
+AC_ARG_ENABLE(tiger,
+    [  --enable-tiger          enable experimental TIGER digest support],
+    use_tiger=$enableval, use_tiger=no)
+AC_MSG_RESULT($use_tiger)
+if test "$use_tiger" = yes ; then
+    AC_SUBST(TIGER_O,tiger.o)
+    AC_DEFINE(USE_TIGER,1,[Define to include experimental TIGER digest support])
+fi
+
 AC_MSG_CHECKING([whether to enable external program execution])
 AC_ARG_ENABLE(exec,
     [  --disable-exec          disable all external program execution],
@@ -177,7 +211,7 @@ if test "$use_exec" = yes ; then
     AC_MSG_RESULT($try_mailto)
     fi
 
-    AC_MSG_CHECKING([whether to disable keyserver exec-path])
+    AC_MSG_CHECKING([whether keyserver exec-path is enabled])
     AC_ARG_ENABLE(keyserver-path,
         [  --disable-keyserver-path disable the exec-path option for keyserver helpers],
         [if test "$enableval" = no ; then
@@ -321,11 +355,11 @@ AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt,
        [NETLIBS="-lsocket $NETLIBS"]))
 
 # Try and link a LDAP test program to weed out unusable LDAP
-# libraries.  -lldap -llber -lresolv is for OpenLDAP.  -lldapssl41 is
-# for Mozilla LDAP.
+# libraries.  -lldap -llber [-lresolv] is for OpenLDAP.  -lldapssl41
+# is for Mozilla LDAP.
 
 if test "$try_ldap" = yes ; then
-  for LDAPLIBS in "-lldap -llber -lresolv" "-lldapssl41"; do
+  for LDAPLIBS in "-lldap -llber -lresolv" "-lldap -llber" "-lldapssl41"; do
     _ldap_save_libs=$LIBS
     LIBS="$LDAPLIBS $NETLIBS $LIBS"
 
@@ -473,6 +507,7 @@ dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_C_INLINE
 AC_TYPE_SIZE_T
+AC_TYPE_MODE_T
 AC_TYPE_SIGNAL
 AC_DECL_SYS_SIGLIST
 
@@ -604,83 +639,64 @@ fi
 dnl
 dnl Figure out the default random module.
 dnl
-static_random_module=""
+random_modules=""
 if test "$use_static_rnd" = default; then
-  if test "$ac_cv_have_dev_random" = yes; then
-      static_random_module="rndlinux"
+     if test "$ac_cv_have_dev_random" = yes; then
+        random_modules="rndlinux"
+     else
+         case "${target}" 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="rndunix"
+                ;;
+         esac
+     fi
+else
+  if test "$use_static_rnd" = auto; then
+     random_modules="rndlinux rndegd rndunix"
+     AC_DEFINE(USE_ALL_RANDOM_MODULES, 1, 
+                  [Allow to select random modules at runtime.])
   else
-      case "${target}" in
-          *-*-mingw32*|*-*-cygwin*)
-              static_random_module="rndw32"
-              ;;
-          i?86-emx-os2|i?86-*-os2*emx)
-              static_random_module="rndos2"
-              ;;
-          m68k-atari-mint)
-              static_random_module="rndatari"
-              ;;
-          i?86-*-msdosdjgpp*)
-              :
-              ;;
-          *)
-              static_random_module="rndunix"
-             ;;
-      esac
+     random_modules="rnd$use_static_rnd";
   fi
 fi
-case "$static_random_module" in
-  rndlinux)
-      AC_DEFINE(USE_RNDLINUX,1, 
-                  [Defined if the /dev/random based RNG shoudl be used.])
-        ;;
-  rndunix)
-       AC_DEFINE(USE_RNDUNIX,1, 
+
+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.])
+         ;;
+    rndunix)
+         AC_DEFINE(USE_RNDUNIX,1, 
                   [Defined if the default Unix RNG should be used.])
-       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=egd to use it.
-***]])
-        ;;
-  rndegd)
-       AC_DEFINE(USE_RNDEGD,1, 
-                  [Defined if the EGD based RNG shoudl be used.])
-        ;;
-  rndw32)
-       AC_DEFINE(USE_RNDW32,1, 
+         print_egd_warning=yes
+          ;;
+    rndegd)
+         AC_DEFINE(USE_RNDEGD,1, 
+                  [Defined if the EGD based RNG should be used.])
+         ;;
+    rndw32)
+         AC_DEFINE(USE_RNDW32,1, 
                   [Defined if the Windows specific RNG should be used.])
         ;;
-   *)
-       AC_MSG_ERROR(no random module available)
-        ;;
-esac
-
-# 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_MSG_CHECKING(for extra cipher modules)
-tmp=""
-if test -f $srcdir/cipher/idea.c; then 
-   IDEA_O=idea.o
-   tmp=idea
-else
-   IDEA_O=idea-stub.o
-fi
-AC_SUBST(IDEA_O)
-AC_MSG_RESULT($tmp)
-
+   esac
+done
 
 dnl setup assembler stuff
 AC_MSG_CHECKING(for mpi assembler functions)
@@ -784,6 +800,28 @@ fi
 
 AC_SUBST(NETLIBS)
 
+
+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)
+***
+*** 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=egd to use it.
+***]])
+fi
+
+
+
 # Note the \\\\ for backslashes.  Autoconf eats one layer, leaving \\
 
 AC_SUBST(GNUPG_LIBEXECDIR,"${libexecdir}/gnupg")