socks5_connect(): Don't try to send credentials when none are configured
[privoxy.git] / configure.in
index 7d3341d..80736d2 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl Written by and Copyright (C) 2001-2020 the
+dnl Written by and Copyright (C) 2001-2021 the
 dnl Privoxy team. https://www.privoxy.org/
 dnl
 dnl Based on the Internet Junkbuster originally written
@@ -73,20 +73,19 @@ DB2HTML=$withval
 dnl =================================================================
 dnl Application version number
 dnl =================================================================
+dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
+dnl and will be used for CGI output. Increment version number and
+dnl set status to "UNRELEASED" whenever git differs from the last
+dnl release and no new release is near.
 
 VERSION_MAJOR=3
 VERSION_MINOR=0
-VERSION_POINT=29
-CODE_STATUS="UNRELEASED"
+VERSION_POINT=32
+CODE_STATUS="stable"
 
 dnl Timestamp (date +%s) used by the mtree-spec target.
 dnl Should be updated before releases but forgetting it isn't critical.
-SOURCE_DATE_EPOCH=1605695571
-
-dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
-dnl and will be used for CGI output. Increment version number and
-dnl set status to "UNRELEASED" whenever CVS differs from the last
-dnl release and no new release is near.
+SOURCE_DATE_EPOCH=1613992573
 
 dnl =================================================================
 dnl Substitute the version numbers
@@ -158,6 +157,11 @@ AC_ARG_WITH(debug,
         ]
 )
 
+AC_ARG_WITH(assertions, [  --with-assertions       Enable assertions])
+if test "x$with_assertions" != "xyes"; then
+    CFLAGS="$CFLAGS -DNDEBUG"
+fi
+
 dnl =================================================================
 dnl Check for user and group validity
 dnl =================================================================
@@ -423,7 +427,7 @@ fi])
 
 AC_ARG_ENABLE(static-linking,
 [  --enable-static-linking         Use static linking instead of dynamic linking (ie. LDFLAGS=-static)],
-[ if test $enableval = yes; then LDFLAGS="$LDFLAGS -static"; fi ])
+[ if test $enableval = yes; then LDFLAGS="$LDFLAGS -static"; use_static_pcre="yes"; fi ])
 
 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
 old_CFLAGS_nospecial=$CFLAGS
@@ -677,17 +681,6 @@ AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
 
 fi
 
-dnl =================================================================
-dnl OS/2 specific
-dnl =================================================================
-
-case "$host" in
-*-os2-emx*) SOCKET_LIB=-lsocket
-;;
-esac
-
-AC_SUBST(SOCKET_LIB)
-
 dnl =================================================================
 dnl Mac OSX specific
 dnl =================================================================
@@ -1091,13 +1084,28 @@ fi
 #
 if test $have_pcre = "yes"; then
   echo "using libpcre"
-  pcre_dyn=yes
-  AC_DEFINE(FEATURE_DYNAMIC_PCRE,1,[Define to dynamically link to pcre.])
   STATIC_PCRE_ONLY=#
   LIBS="$LIBS -lpcre -lpcreposix"
+  if test "$use_static_pcre" = "yes"; then
+    pcre_dyn=no
+    AC_DEFINE(PCRE_STATIC,1,[Define to statically link to pcre library on Windows.])
+#     see /usr/i686-w64-mingw32/sys-root/mingw/include/pcre.h line 54
+#       #if defined(_WIN32) && !defined(PCRE_STATIC)
+#       #  ifndef PCRE_EXP_DECL
+#       #    define PCRE_EXP_DECL  extern __declspec(dllimport)
+#       #  endif
+#     If you want to statically link a program against a PCRE library in the form of
+#     a non-dll .a file, you must define PCRE_STATIC before including pcre.h or
+#     pcrecpp.h, otherwise the pcre_malloc() and pcre_free() exported functions will
+#     be declared __declspec(dllimport), with unwanted results.
+  else
+    pcre_dyn=yes
+    AC_DEFINE(FEATURE_DYNAMIC_PCRE,1,[Define to dynamically link to pcre.])
+  fi
 else
   AC_MSG_WARN([You are using the static PCRE code which is out of date and scheduled for removal, for details see:
-    http://sourceforge.net/mailarchive/forum.php?thread_name=20080511195555.2dc6cfdc%40fabiankeil.de&forum_name=ijbswa-developers])
+    https://sourceforge.net/p/ijbswa/mailman/ijbswa-developers/thread/20080511195555.2dc6cfdc@fabiankeil.de/])
+  AC_MSG_WARN([The removal will likely occur before the 3.0.33 release.])
   pcre_dyn=no
   # STATIC_PCRE is a name pcre needs to statically link on Windows.
   # Privoxy itself no longer uses it.
@@ -1135,7 +1143,7 @@ AC_SUBST(STATIC_PCRS_ONLY)
 
 FEATURE_HTTPS_INSPECTION_ONLY=#
 dnl ========================================================
-dnl check for mbedTLS which is required for https inspection
+dnl check for mbedTLS which can be used for https inspection
 dnl ========================================================
 FEATURE_HTTPS_INSPECTION_ONLY_MBEDTLS=#
 OPT_MBEDTLS=no
@@ -1167,7 +1175,7 @@ fi
 AC_SUBST(FEATURE_HTTPS_INSPECTION_ONLY_MBEDTLS)
 
 dnl =================================================================
-dnl check for OpenSSL/LibreSSL which is required for https inspection
+dnl check for OpenSSL/LibreSSL which can be used for https inspection
 dnl =================================================================
 FEATURE_HTTPS_INSPECTION_ONLY_OPENSSL=#
 OPT_OPENSSL=no
@@ -1177,6 +1185,10 @@ AC_HELP_STRING([--without-openssl], [Disable OpenSSL/LibreSSL detection]),
   OPT_OPENSSL=$withval)
 
 if test X"$OPT_OPENSSL" != Xno; then
+   if test X"$OPT_MBEDTLS" != Xno; then
+      AC_MSG_ERROR([OpenSSL and mbedTLS support can't be enabled at the same time])
+   fi
+
   if test "$PORTNAME" != "win32"; then
      AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
      FOUND_SSL_LIB="no"
@@ -1201,6 +1213,7 @@ if test X"$OPT_OPENSSL" != Xno; then
 
   if test "x$FEATURE_HTTPS_INSPECTION_OPENSSL" = "xyes"; then
     AC_MSG_NOTICE([Detected OpenSSL. Enabling https inspection.])
+    AC_MSG_WARN([If you intend to redistribute Privoxy, please make sure the "special exception" from section 3 of the GPLv2 applies.])
 
     LIBS="$LIBS -lssl -lcrypto"
     old_CFLAGS_nospecial="$old_CFLAGS_nospecial"
@@ -1225,6 +1238,10 @@ AC_HELP_STRING([--without-brotli], [Disable Brotli detection]),
 if test X"$WITH_BROTLI" != Xno; then
 
   LIBS="$LIBS -lbrotlidec"
+  if test $target_type = mingw; then
+    # XXX: why does just the mingw build need this???
+    LIBS="$LIBS -lbrotlicommon -lbrotlienc"
+  fi
 
   AC_CHECK_LIB(brotlidec, BrotliDecoderDecompress)