Fix the FEATURE_ZLIB description. It's mainly used for decompression.
[privoxy.git] / configure.in
index 23a1042..3f4693f 100644 (file)
@@ -1,8 +1,8 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl 
-dnl $Id: configure.in,v 1.134 2009/07/18 12:21:03 fabiankeil Exp $
+dnl $Id: configure.in,v 1.158 2011/06/23 14:01:01 fabiankeil Exp $
 dnl 
-dnl Written by and Copyright (C) 2001-2009 the
+dnl Written by and Copyright (C) 2001-2010 the
 dnl Privoxy team. http://www.privoxy.org/
 dnl
 dnl Based on the Internet Junkbuster originally written
@@ -32,7 +32,7 @@ dnl =================================================================
 dnl AutoConf Initialization
 dnl =================================================================
 
-AC_REVISION($Revision: 1.134 $)
+AC_REVISION($Revision: 1.158 $)
 AC_INIT(jcc.c)
 
 if test ! -f config.h.in; then
@@ -78,8 +78,8 @@ dnl =================================================================
 
 VERSION_MAJOR=3
 VERSION_MINOR=0
-VERSION_POINT=14
-CODE_STATUS="beta"
+VERSION_POINT=18
+CODE_STATUS="UNRELEASED"
 
 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
 dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
@@ -298,6 +298,7 @@ fi])
 
 if test $target_type = mingw; then
   WIN_ONLY=
+  CFLAGS="$CFLAGS -DWINVER=0x501"
   SPECIAL_CFLAGS="-mwindows -mno-cygwin"
   PTHREAD_LIB=-lpthreadGC
   echo "Using mingw32 (Win32 GUI)"
@@ -314,7 +315,7 @@ else
 fi
 AC_SUBST(WIN_ONLY)
 
-dnl Checking which text html browser we have avaliable
+dnl Checking which text html browser we have available
 if test $dodk != no; then
        AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
        if test "$WDUMP" = false; then
@@ -398,6 +399,13 @@ fi
 AC_SUBST(JADECAT)
 AC_SUBST(DKPREFIX)
 
+AC_ARG_ENABLE(large-file-support,
+[  --enable-large-file-support     Define _LARGE_FILES and friends.
+                                  Required by some systems to support files larger then 2GB.],
+[if test $enableval = yes; then
+    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1"
+fi])
+
 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
 old_CFLAGS_nospecial=$CFLAGS
 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
@@ -692,27 +700,63 @@ dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
 AC_CHECK_HEADERS([OS.h arpa/inet.h errno.h fcntl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/timeb.h sys/wait.h unistd.h])
 
 dnl Checks for library functions.
-dnl AC_TYPE_SIGNAL
-dnl AC_CHECK_FUNC(strstr)
-dnl bcopy and memmove are for PCRE
-AC_CHECK_FUNCS([strerror bcopy memmove])
+dnl bcopy is for PCRE
+AC_CHECK_FUNCS([bcopy])
 AC_PROG_GCC_TRADITIONAL
-dnl uncommenting does not work for swa. suse linux
-dnl AC_FUNC_MALLOC
-AC_FUNC_SETPGRP
 AC_TYPE_SIGNAL
-dnl uncommenting does not work for swa. suse linux
-dnl AC_FUNC_STAT
 AC_CHECK_FUNCS([access atexit getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r gettimeofday inet_ntoa localtime_r memchr memmove memset poll putenv random regcomp select setlocale snprintf socket strchr strdup strerror strftime strlcat strlcpy strptime strstr strtoul timegm tzset])
 
 dnl Checks for RFC 2553 resolver and socket functions
-AC_CHECK_FUNC([getaddrinfo],
-   [AC_CHECK_FUNC([getnameinfo],
-      [AC_DEFINE([HAVE_RFC2553], [1],
-         [Define if RFC 2553 resolver functions like getaddrinfo(3) and
-          getnameinfo(3) present])
-      ])
-])
+AC_ARG_ENABLE(ipv6-support,
+[  --disable-ipv6-support          Disable IPv6 support and other RFC-2554-related improvements],
+[if test $enableval = yes; then
+  enable_ipv6_support=yes
+fi], enable_ipv6_support=yes)
+
+if test $enable_ipv6_support != yes; then
+  AC_MSG_WARN([Skipping checks for IPv6 support and other RFC-2554-related improvements.
+    Due to lock contention, this may result in slower DNS resolution for IPv4 setups, too.])
+elif test $target_type = mingw; then
+  AC_CHECK_LIB(ws2_32, main)
+
+  AC_MSG_CHECKING(getaddrinfo in ws2_32)
+  AC_TRY_LINK(
+    [
+      #include<windows.h>
+      #include<ws2tcpip.h>
+    ],
+    [getaddrinfo(0,0,0,0)],
+    have_ws2_32_getaddrinfo=yes
+  )
+  AC_MSG_RESULT($have_ws2_32_getaddrinfo)
+
+  AC_MSG_CHECKING(getnameinfo in ws2_32)
+  AC_TRY_LINK(
+    [
+      #include<windows.h>
+      #include<ws2tcpip.h>
+    ],
+    [getnameinfo(0,0,0,0,0,0,0)],
+    have_ws2_32_getnameinfo=yes
+  )
+  AC_MSG_RESULT($have_ws2_32_getnameinfo)
+
+  if test $have_ws2_32_getaddrinfo ; then
+    if test $have_ws2_32_getnameinfo ; then
+      AC_DEFINE([HAVE_RFC2553], [1],
+        [Define if RFC 2553 resolver functions like getaddrinfo(3) and
+         getnameinfo(3) present])
+    fi
+  fi
+else
+  AC_CHECK_FUNC([getaddrinfo],
+     [AC_CHECK_FUNC([getnameinfo],
+        [AC_DEFINE([HAVE_RFC2553], [1],
+           [Define if RFC 2553 resolver functions like getaddrinfo(3) and
+            getnameinfo(3) present])
+        ])
+  ])
+fi
 
 dnl =================================================================
 dnl Checks for libraries.
@@ -800,8 +844,8 @@ AC_ARG_ENABLE(image-blocking,
 fi],
 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
 
-AC_ARG_ENABLE(acl-files,
-[  --disable-acl-files             Prevents the use of ACL files to control access to
+AC_ARG_ENABLE(acl-support,
+[  --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)
@@ -837,11 +881,23 @@ AC_ARG_ENABLE(graceful-termination,
 fi])
 
 AC_ARG_ENABLE(extended-host-patterns,
-[  --enable-extended-host-patterns Allow extended regular expressions in host patterns.],
+[  --enable-extended-host-patterns Enable and require PCRE syntax in host patterns. This feature hasn't
+                                  been announced yet and it's not clear if it's a good idea. It's expected
+                                  to work, but undocumented. You should only enable it if you know what
+                                  PCRE is and are sure that you need it for your host patterns. You can
+                                  use tools/url-pattern-translator.pl to convert existing action files to
+                                  use PCRE host patterns. Please don't enable this option when creating
+                                  packages for others that may not be expecting it.],
 [if test $enableval = yes; then
   AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
 fi])
 
+AC_ARG_ENABLE(accept-filter,
+[  --enable-accept-filter          Try to use accf_http(9) if supported.],
+[if test $enableval = yes; then
+  AC_DEFINE(FEATURE_ACCEPT_FILTER)
+fi])
+
 dnl pcre/pcrs is needed for CGI anyway, so
 dnl the choice is only between static and
 dnl dynamic:
@@ -871,7 +927,7 @@ if test $enableval2 = yes; then
   AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
   if test $have_zlib = "yes"; then
     LIBS="$LIBS -lz"
-    AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.])
+    AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use zlib to decompress data before filtering.])
   else
    AC_MSG_WARN([No zlib found.
    Privoxy will not be able to filter compressed content.
@@ -879,6 +935,19 @@ if test $enableval2 = yes; then
   fi  
 fi
 
+AC_ARG_ENABLE(compression,
+[  --enable-compression            Allow Privoxy to compress buffered content if the client supports it. Requires zlib support.],
+[enableval2=$enableval],
+[enableval2=no])
+if test $enableval2 = yes; then
+  if test $have_zlib = "yes"; then
+    echo Enabling compression support.
+    AC_DEFINE(FEATURE_COMPRESSION,1,[Define to 1 to use compression through the zlib library.])
+  else
+   AC_MSG_WARN([No zlib found. Privoxy will not be able to (re-)compressed buffered content.])
+  fi
+fi
+
 
 # If we have libpcre and either we also have pcreposix or
 # we don't need pcreposix, then link pcre dynamically; else
@@ -890,16 +959,18 @@ if test $have_pcre = "yes"; then
   STATIC_PCRE_ONLY=#
   LIBS="$LIBS -lpcre -lpcreposix"
 else
-  AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see: 
-    https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de])
+  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])
   pcre_dyn=no
   AC_DEFINE(STATIC_PCRE)
   STATIC_PCRE_ONLY=
 fi
 
+AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
+
 if test $have_pthread = "yes" -o $target_type = "mingw"; then
-  echo Enabling keep-alive support for outgoing connections.
-  AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
+  echo Enabling connection-sharing support.
+  AC_DEFINE(FEATURE_CONNECTION_SHARING)
 fi
 
 dnl =================================================
@@ -927,7 +998,7 @@ dnl =================================================================
 dnl Final cleanup and output
 dnl =================================================================
 
-dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
+dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it separately
 dnl in the Makefile
 CFLAGS=$old_CFLAGS_nospecial
 AC_SUBST(SPECIAL_CFLAGS)