X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=configure.in;h=147fe1e4f53288dee45f141d2a9c3673c56b0b72;hb=f165809077f7b3c48ebc6aa074b64e7364f3e1bc;hp=c1e8dbac14573772675fcf343067414f1e89a569;hpb=cff17ae123c66edd9967f0a9b56296198c3c1412;p=privoxy.git diff --git a/configure.in b/configure.in index c1e8dbac..147fe1e4 100644 --- a/configure.in +++ b/configure.in @@ -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 +VERSION_POINT=32 CODE_STATUS="UNRELEASED" 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=1545411710 - -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=1605695571 dnl ================================================================= dnl Substitute the version numbers @@ -158,12 +157,17 @@ 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 ================================================================= -if test "$EMXOS2" = yes || test "$host_os" = haiku; then +if test "$host_os" = haiku; then echo "Skipping user and group validity stuff."; else @@ -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,27 @@ 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/]) pcre_dyn=no # STATIC_PCRE is a name pcre needs to statically link on Windows. # Privoxy itself no longer uses it. @@ -1135,7 +1142,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 @@ -1166,17 +1173,21 @@ if test X"$OPT_MBEDTLS" != Xno; then fi AC_SUBST(FEATURE_HTTPS_INSPECTION_ONLY_MBEDTLS) -dnl ======================================================== -dnl check for OpenSSL which is required for https inspection -dnl ======================================================== +dnl ================================================================= +dnl check for OpenSSL/LibreSSL which can be used for https inspection +dnl ================================================================= FEATURE_HTTPS_INSPECTION_ONLY_OPENSSL=# OPT_OPENSSL=no AC_ARG_WITH(openssl,dnl -AC_HELP_STRING([--with-openssl], [Enable OpenSSL detection for https inspection.]) -AC_HELP_STRING([--without-openssl], [Disable OpenSSL detection]), +AC_HELP_STRING([--with-openssl], [Enable OpenSSL/LibreSSL detection for https inspection.]) +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 +1212,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 +1237,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)