X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=configure.in;h=b802a8732d18be04620224061f71d4141352cabb;hp=8dbba539c30ddc22682cd9b3e581184877c8d731;hb=a24d0902e151f305abb90bd72cb230a39c76bb8e;hpb=43980e5c0dbe1b2090fa04f69c3989960f1d8975 diff --git a/configure.in b/configure.in index 8dbba539..b802a873 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.184 2014/06/02 06:19:05 fabiankeil Exp $ +dnl $Id: configure.in,v 1.208 2017/03/08 13:13:18 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-2016 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.184 $) +AC_REVISION($Revision: 1.208 $) AC_INIT(jcc.c) if test ! -f config.h.in; then @@ -78,7 +78,7 @@ dnl ================================================================= VERSION_MAJOR=3 VERSION_MINOR=0 -VERSION_POINT=22 +VERSION_POINT=27 CODE_STATUS="UNRELEASED" dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED", @@ -282,7 +282,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 +302,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 +383,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 +409,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 +469,26 @@ 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 ================================================================= +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.], + [ + 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 +653,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 +744,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,6 +774,7 @@ AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL AC_CHECK_FUNCS([ \ access \ + arc4random \ atexit \ getcwd \ gethostbyaddr \ @@ -792,6 +823,7 @@ elif test $target_type = mingw; then AC_MSG_CHECKING(getaddrinfo in ws2_32) AC_TRY_LINK( [ + #include #include #include ], @@ -803,6 +835,7 @@ elif test $target_type = mingw; then AC_MSG_CHECKING(getnameinfo in ws2_32) AC_TRY_LINK( [ + #include #include #include ], @@ -899,13 +932,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 +941,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 +989,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 +1008,29 @@ 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) + +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.]) + else + FUZZ_ONLY="#" +fi]) +AC_SUBST(FUZZ_ONLY) + dnl pcre/pcrs is needed for CGI anyway, so dnl the choice is only between static and dnl dynamic: