X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=configure.in;h=b75d90adce93c0935b696fe4e4c16856cffe6a53;hp=ea648d7a4a9f69c2b435eec23dfc456b49594513;hb=eec2fd6d6ffddf4ae8b0ece49d7d52a48b460bb2;hpb=3c22d2b373f7aee67e46b86facb435f32f82f82c diff --git a/configure.in b/configure.in index ea648d7a..b75d90ad 100644 --- a/configure.in +++ b/configure.in @@ -1,9 +1,9 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl $Id: configure.in,v 1.187 2014/11/28 14:13:02 fabiankeil Exp $ +dnl $Id: configure.in,v 1.213 2017/05/25 11:17:11 fabiankeil Exp $ dnl -dnl Written by and Copyright (C) 2001-2014 the -dnl Privoxy team. http://www.privoxy.org/ +dnl Written by and Copyright (C) 2001-2017 the +dnl Privoxy team. https://www.privoxy.org/ dnl dnl Based on the Internet Junkbuster originally written dnl by and Copyright (C) 1997 Anonymous Coders and @@ -32,7 +32,7 @@ dnl ================================================================= dnl AutoConf Initialization dnl ================================================================= -AC_REVISION($Revision: 1.187 $) +AC_REVISION($Revision: 1.213 $) AC_INIT(jcc.c) if test ! -f config.h.in; then @@ -78,8 +78,12 @@ dnl ================================================================= VERSION_MAJOR=3 VERSION_MINOR=0 -VERSION_POINT=23 -CODE_STATUS="stable" +VERSION_POINT=27 +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=1494070262 dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED", dnl and will be used for CGI output. Increment version number and @@ -94,6 +98,7 @@ AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_POINT) AC_SUBST(CODE_STATUS) +AC_SUBST(SOURCE_DATE_EPOCH) dnl AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR}) @@ -282,7 +287,7 @@ if test $dodk = auto; then dodk=no if test $target_type = unix; then case "$host_os" in - linux* | gnu*) + linux* | gnu* | *bsd*) dodk=yes ;; esac @@ -302,8 +307,8 @@ fi]) if test $target_type = mingw; then WIN_ONLY= CFLAGS="$CFLAGS -DWINVER=0x501" - SPECIAL_CFLAGS="-mwindows -mno-cygwin" - PTHREAD_LIB=-lpthreadGC + SPECIAL_CFLAGS="-mwindows" + PTHREAD_LIB=-lpthread echo "Using mingw32 (Win32 GUI)" else WIN_ONLY=# @@ -383,6 +388,7 @@ dnl echo -n "checking for $i/html/docbook.dsl..." for i in /usr/share/sgml/CATALOG.docbk30 \ /usr/share/sgml/CATALOG.docbk31 \ /usr/share/sgml/CATALOG.docbk31 \ + /usr/local/share/sgml/docbook/2.4.1/docbook.cat \ /usr/local/share/sgml/docbook/3.0/docbook.cat \ /usr/local/share/sgml/docbook/3.1/docbook.cat \ /usr/share/sgml/docbook/dtd/3.1/docbook.cat \ @@ -408,6 +414,10 @@ AC_ARG_ENABLE(large-file-support, CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1" 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 ]) + dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS old_CFLAGS_nospecial=$CFLAGS CFLAGS="$CFLAGS $SPECIAL_CFLAGS" @@ -464,6 +474,27 @@ fi AC_SUBST(PTHREAD_ONLY) +dnl ================================================================= +dnl On most platforms select() does not support fd numbers above +dnl FD_SETSIZE, as a result Privoxy can't handle more than +dnl approximately FD_SETSIZE/2 client connections. +dnl On some platforms the value can be changed at compile time, +dnl on others it's hardcoded and requires recompilation of the OS. +dnl Only relevant if select() is actually being used. +dnl ================================================================= +AC_ARG_WITH(fdsetsize, + [ --with-fdsetsize=n Optimistically redefine FD_SETSIZE with the intend to change the number of connections Privoxy can handle. Dangerous if the platform doesn't support this. Pointless if Privoxy can use poll() instead of select().], + [ + if test "x$withval" != "xyes"; then + AC_DEFINE_UNQUOTED(FD_SETSIZE,$with_fdsetsize,[Relevant for select(). Not honoured by all OS.]) + echo "Redefining FD_SETSIZE to $with_fdsetsize." + AC_MSG_WARN(On platforms that don't support FD_SETSIZE redefinition it may cause memory corruption.) + else + AC_MSG_ERROR(--with-fdsetsize used without value) + fi + ] +) + dnl ================================================================= dnl Support for thread-safe versions of gethostbyaddr, gethostbyname, dnl gmtime and localtime @@ -628,12 +659,16 @@ dnl ================================================================= dnl Solaris problem, and others perhaps (socklen_t is undefined) dnl ================================================================= +if test $target_type != mingw; then +# i686-w64-mingw32-gcc gets socklen_t define from ws2tcpip.h + AC_MSG_CHECKING([for socklen_t]) AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]), AC_MSG_RESULT([no]) AC_DEFINE(socklen_t,int, [ Define to 'int' if doesn't have it. ])) +fi dnl ================================================================= dnl OS/2 specific @@ -715,6 +750,7 @@ AC_CHECK_SIZEOF(char *, 4) AC_CHECK_SIZEOF(long, 4) AC_CHECK_SIZEOF(long long, 8) AC_CHECK_SIZEOF(size_t, 4) +AC_CHECK_SIZEOF(time_t, 8) dnl Checks for header files. AC_CHECK_HEADERS([ \ @@ -744,7 +780,9 @@ AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL AC_CHECK_FUNCS([ \ access \ + arc4random \ atexit \ + calloc \ getcwd \ gethostbyaddr \ gethostbyaddr_r \ @@ -792,6 +830,7 @@ elif test $target_type = mingw; then AC_MSG_CHECKING(getaddrinfo in ws2_32) AC_TRY_LINK( [ + #include #include #include ], @@ -803,6 +842,7 @@ elif test $target_type = mingw; then AC_MSG_CHECKING(getnameinfo in ws2_32) AC_TRY_LINK( [ + #include #include #include ], @@ -899,13 +939,6 @@ AC_ARG_ENABLE(stats, AC_DEFINE(FEATURE_STATISTICS) fi],AC_DEFINE(FEATURE_STATISTICS)) -AC_ARG_ENABLE(ie-images, -[ --enable-ie-images Enable a quick but not always reliable auto-detect whether requests from - MS Internet Explorer are for an image or not.], -[if test $enableval = yes; then - AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE) -fi],) - AC_ARG_ENABLE(image-blocking, [ --disable-image-blocking Don't try to figure out whether a request is for an image or HTML - assume HTML.], @@ -915,7 +948,7 @@ fi], AC_DEFINE(FEATURE_IMAGE_BLOCKING)) AC_ARG_ENABLE(acl-support, -[ --disable-acl-support Prevents the use of ACLs to control access to +[ --disable-acl-support Prevents the use of ACLs to control access to Privoxy by IP address.], [if test $enableval = yes; then AC_DEFINE(FEATURE_ACL) @@ -963,7 +996,7 @@ AC_ARG_ENABLE(extended-host-patterns, fi]) AC_ARG_ENABLE(external-filters, -[ --enable-external-filters Allow to filter content with scripts and programs. Experimental.], +[ --enable-external-filters Allow to filter content with scripts and programs. Experimental.], [if test $enableval = yes; then AC_DEFINE(FEATURE_EXTERNAL_FILTERS,1,[Define to 1 to allow to filter content with scripts and programs.]) fi]) @@ -982,6 +1015,28 @@ AC_ARG_ENABLE(strptime-sanity-checks, AC_DEFINE(FEATURE_STRPTIME_SANITY_CHECKS) fi]) +AC_ARG_ENABLE(client-tags, +[ --disable-client-tags Disable support for client-specific tags], +[ if test $enableval = "no"; then have_client_tags=no; fi ]) +if test "${have_client_tags}" = "no"; then + echo "Disabling support for client-specific tags." + FEATURE_CLIENT_TAGS_ONLY="#" +else + echo "Enabling support for client-specific tags." + AC_DEFINE(FEATURE_CLIENT_TAGS,1,[Define to enable support for client-specific tags.]) + FEATURE_CLIENT_TAGS_ONLY="" +fi +AC_SUBST(FEATURE_CLIENT_TAGS_ONLY) + +FUZZ_ONLY="#" +AC_ARG_ENABLE(fuzz, +[ --enable-fuzz Enable code that makes fuzzing more convenient], +[if test $enableval = yes; then + FUZZ_ONLY="" + AC_DEFINE(FUZZ,1,[Define to make fuzzing more convenient.]) +fi]) +AC_SUBST(FUZZ_ONLY) + dnl pcre/pcrs is needed for CGI anyway, so dnl the choice is only between static and dnl dynamic: