* w32installer.nsi: Allow including of WINPT source. Include
[gnupg.git] / configure.ac
index 4d728bd..7c91ddc 100644 (file)
@@ -26,7 +26,7 @@ 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.1-cvs, bug-gnupg@gnu.org)
+AC_INIT(gnupg, 1.4.2-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.
@@ -102,6 +102,18 @@ 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
+# it.
+AC_MSG_CHECKING([whether non excutable stack support is requested])
+AC_ARG_ENABLE(noexecstack,
+              AC_HELP_STRING([--enable-noexecstack],
+                             [enable non executable stack support (gcc only)]),
+              noexecstack_support=$enableval, noexecstack_support=no)
+AC_MSG_RESULT($noexecstack_support)
+
+# SELinux support includes tracking of sensitive files to avoid
+# leaking their contents through processing these files by gpg itself
 AC_MSG_CHECKING([whether SELinux support is requested])
 AC_ARG_ENABLE(selinux-support,
               AC_HELP_STRING([--enable-selinux-support],
@@ -109,6 +121,7 @@ AC_ARG_ENABLE(selinux-support,
               selinux_support=$enableval, selinux_support=no)
 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],
@@ -332,9 +345,9 @@ dnl LDAP is defined only after we confirm the library is available later
 
     AC_MSG_CHECKING([whether email keyserver support is requested])
     AC_ARG_ENABLE(mailto,
-      AC_HELP_STRING([--disable-mailto],
-       [disable email keyserver interface only]),
-      try_mailto=$enableval, try_mailto=yes)
+      AC_HELP_STRING([--enable-mailto],
+       [enable email keyserver interface only]),
+      try_mailto=$enableval, try_mailto=no)
     AC_MSG_RESULT($try_mailto)
     fi
 
@@ -351,7 +364,7 @@ dnl LDAP is defined only after we confirm the library is available later
 AC_MSG_CHECKING([whether the included zlib is requested])
 AC_ARG_WITH(included-zlib,
     [  --with-included-zlib    use the zlib code included here],
-[g10_force_zlib=yes], [g10_force_zlib=no] )
+[g10_force_zlib="$withval"], [g10_force_zlib=no] )
 AC_MSG_RESULT($g10_force_zlib)
 
 dnl
@@ -430,7 +443,6 @@ 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)
@@ -439,7 +451,6 @@ GNUPG_CHECK_DOCBOOK_TO_TEXI
 
 MPI_OPT_FLAGS=""
 
-
 try_gettext=yes
 have_dosish_system=no
 need_dlopen=yes
@@ -455,6 +466,8 @@ case "${host}" in
                   [because the Unix gettext has too much overhead on
                    MingW32 systems and these systems lack Posix functions,
                    we use a simplified version of gettext])
+        AC_DEFINE(HAVE_W32_SYSTEM,1,
+                  [Defined if we run on a W32 API based system])
         have_dosish_system=yes
         need_dlopen=no
         try_gettext="no"
@@ -579,75 +592,27 @@ 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"
+# Check for LDAP
 
 if test "$try_ldap" = yes ; then
-
-  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
+   GNUPG_CHECK_LDAP($NETLIBS)
 fi
 
-AC_SUBST(GPGKEYS_LDAP)
-AC_SUBST(LDAPLIBS)
-AM_CONDITIONAL(GPGKEYS_LDAP, test "$GPGKEYS_LDAP" != "")
+# Special hack to test curl
+
+AC_ARG_ENABLE(fake-curl,
+   AC_HELP_STRING([--enable-fake-curl],[enable EXPERIMENTAL no-curl HTTP code]),fake_curl=$enableval,fake_curl=no)
 
-# If we have neither FTP or HTTP defined, then don't bother to check
-# for curl.
+AM_CONDITIONAL(FAKE_CURL,test x"$fake_curl" = xyes)
 
-if test "$try_ftp" = yes || test "$try_http" = yes ; then
-   LIBCURL_CHECK_CONFIG([no],,[have_libcurl=yes])
+if test x"$fake_curl" = xyes ; then
+   libcurl_protocol_HTTP=yes
+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?
@@ -656,6 +621,9 @@ 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
@@ -664,8 +632,11 @@ fi
 # Are we doing FTP?  We only do FTP if we have libcurl.
 
 if test x"$try_ftp" = xyes && test x$libcurl_protocol_FTP = xyes ; then
-   AC_DEFINE(FTP_VIA_LIBCURL,1,[Define if FTP is handled via libcurl])
    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
 fi
 
 dnl This isn't necessarily sendmail itself, but anything that gives a
@@ -1080,7 +1051,7 @@ if test "$use_regex" = yes ; then
   AC_MSG_CHECKING([whether the included regex lib is requested])
   AC_ARG_WITH(included-regex,
       [  --with-included-regex   use the included GNU regex library],
-      [gnupg_cv_included_regex=yes],[gnupg_cv_included_regex=no])
+      [gnupg_cv_included_regex="$withval"],[gnupg_cv_included_regex=no])
   AC_MSG_RESULT($gnupg_cv_included_regex)
 
   if test $gnupg_cv_included_regex = no ; then
@@ -1203,7 +1174,6 @@ fi
 
 AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes)
 
-GNUPG_CHECK_GNUMAKE
 
 # add some extra libs here so that previous tests don't fail for
 # mysterious reasons - the final link step should bail out. 
@@ -1219,14 +1189,26 @@ esac
 AC_SUBST(NETLIBS)
 AC_SUBST(W32LIBS)
 
+# Special options used fith 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
+    #them.
     if test "$USE_MAINTAINER_MODE" = "yes"; then
         CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
         CFLAGS="$CFLAGS -Wformat-nonliteral"
     else
         CFLAGS="$CFLAGS -Wall"
     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.
+    if test "$noexecstack_support" = yes; then
+        NOEXECSTACK_FLAGS="-Wa,--noexecstack"
+    fi
 fi
+AC_SUBST(NOEXECSTACK_FLAGS)
 
 
 if test "$print_egd_warning" = yes; then