Create bag attributes so that Mozilla will accept these files.
[gnupg.git] / configure.ac
index c1a3d77..2bb1d3f 100644 (file)
@@ -1,6 +1,6 @@
 # configure.ac - for GnuPG 1.9
 # Copyright (C) 1998, 1999, 2000, 2001, 2002,
-#               2003, 2004 Free Software Foundation, Inc.
+#               2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 # 
 # This file is part of GnuPG.
 # 
 # 
 # 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
 
 # Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.52)
 min_automake_version="1.9.3"
 
-# Version number: Remember to change it immediately *after* a release.
-#                 Add a "-cvs" prefix for non-released code.
-AC_INIT(gnupg, 1.9.17-cvs, gnupg-devel@gnupg.org)
+# 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.9.22])
+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;q}')]))
+AC_INIT([gnupg], my_version[]m4_if(my_issvn,[yes],[-svn[]svn_revision]),
+        [gnupg-devel@gnupg.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.
@@ -34,9 +43,9 @@ NEED_GPG_ERROR_VERSION=1.0
 NEED_LIBGCRYPT_API=1
 NEED_LIBGCRYPT_VERSION=1.1.94
 
-NEED_LIBASSUAN_VERSION=0.6.9
+NEED_LIBASSUAN_VERSION=0.6.10
 
-NEED_KSBA_VERSION=0.9.11
+NEED_KSBA_VERSION=0.9.13
 
 
 PACKAGE=$PACKAGE_NAME
@@ -139,6 +148,16 @@ AC_ARG_ENABLE(agent-only,
     build_agent_only=$enableval)
 
 
+# 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])
@@ -216,6 +235,34 @@ if test "$use_exec" = yes ; then
     AC_MSG_RESULT($enableval)
   fi
 
+
+dnl
+dnl Check for the key/uid cache size.  This can't be zero, but can be
+dnl pretty small on embedded systems.
+dnl
+AC_MSG_CHECKING([for the size of the key and uid cache])
+AC_ARG_ENABLE(key-cache,
+       AC_HELP_STRING([--enable-key-cache=SIZE],[Set key cache to SIZE (default 4096)]),,enableval=4096)
+
+if test "$enableval" = "no"; then
+   enableval=5
+elif test "$enableval" = "yes" || test "$enableval" = ""; then
+   enableval=4096
+fi
+
+changequote(,)dnl
+key_cache_size=`echo "$enableval" | sed 's/[A-Za-z]//g'`
+changequote([,])dnl
+
+if test "$enableval" != "$key_cache_size" || test "$key_cache_size" -lt 5; then
+   AC_MSG_ERROR([invalid key-cache size])
+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
@@ -426,6 +473,8 @@ if test "$have_w32_system" = yes; then
 fi
 AM_CONDITIONAL(HAVE_W32_SYSTEM, test "$have_w32_system" = yes)
 
+# These need to go after AC_PROG_CC so that $EXEEXT is defined
+AC_DEFINE_UNQUOTED(EXEEXT,"$EXEEXT",[The executable file extension, if any])
 
 
 #
@@ -463,6 +512,11 @@ AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_VERSION",
 # 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.
@@ -528,9 +582,11 @@ if test "$have_w32_system" = no; then
   if test $have_pth = yes; then      
      PTH_CFLAGS=`$PTH_CONFIG --cflags`
      PTH_LIBS=`$PTH_CONFIG --ldflags`
-     PTH_LIBS="$PTH_LIBS `$PTH_CONFIG --libs`"
+     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 
@@ -538,6 +594,7 @@ else
  PTH_CFLAGS=""
  PTH_LIBS=""
  AC_DEFINE(USE_GNU_PTH, 1)
+ AC_DEFINE(HAVE_PTH, 1)
 fi
 AC_SUBST(PTH_CFLAGS)
 AC_SUBST(PTH_LIBS)
@@ -664,6 +721,20 @@ fi
 AC_SUBST(GPGKEYS_LDAP)
 AC_SUBST(LDAPLIBS)
 
+
+# Check for curl.  We fake the curl API if libcurl isn't installed.
+
+# 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
+
+if test x"$try_generic" = xyes ; then
+   AC_SUBST(GPGKEYS_CURL,"gpgkeys_curl$EXEEXT")
+fi
+
 dnl This isn't necessarily sendmail itself, but anything that gives a
 dnl sendmail-ish interface to the outside world.  That includes qmail,
 dnl postfix, etc.  Basically, anything that can handle "sendmail -t".
@@ -930,11 +1001,13 @@ else
   AC_DEFINE(DISABLE_REGEX,1,[ Define to disable regular expression support ])
 fi
 
-dnl Do we have zlib? Must do it here because Solaris failed
-dnl when compiling a conftest (due to the "-lz" from LIBS).
+#
+# 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
@@ -945,10 +1018,43 @@ AC_ARG_WITH(zlib,
 
 AC_CHECK_HEADER(zlib.h,
       AC_CHECK_LIB(z, deflateInit2_,
-       LIBS="$LIBS -lz",
+       ZLIBS="-lz",
        CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
        CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags})
+
+#
+# Check whether we can support bzip2
+# 
+if test "$use_bzip2" = yes ; then
+  _cppflags="${CPPFLAGS}"
+  _ldflags="${LDFLAGS}"
+  AC_ARG_WITH(bzip2,
+     AC_HELP_STRING([--with-bzip2=DIR],[look for bzip2 in DIR]),
+      [
+      if test -d "$withval" ; then
+        CPPFLAGS="${CPPFLAGS} -I$withval/include"
+        LDFLAGS="${LDFLAGS} -L$withval/lib"
+      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.
+  if test "$withval" != no ; then
+     AC_CHECK_HEADER(bzlib.h,
+        AC_CHECK_LIB(bz2,BZ2_bzCompressInit,
+         [
+         have_bz2=yes
+         ZLIBS="$ZLIBS -lbz2"
+         AC_DEFINE(HAVE_BZIP2,1,
+                 [Defined if the bz2 compression library is available])
+         ],
+         CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}),
+         CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags},[#include <stdio.h>])
+  fi
+fi
+AM_CONDITIONAL(ENABLE_BZIP2_SUPPORT,test x"$have_bz2" = "xyes")
+AC_SUBST(ZLIBS)
 
 
 # See wether we want to run the long test suite.
@@ -994,6 +1100,20 @@ if test "$GCC" = yes; then
     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])
+
+
+
+
 AC_SUBST(NETLIBS)
 AC_SUBST(W32LIBS)
 
@@ -1130,6 +1250,7 @@ jnlib/Makefile
 common/Makefile
 kbx/Makefile
 g10/Makefile
+keyserver/Makefile
 sm/Makefile
 agent/Makefile
 scd/Makefile