X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=configure.in;h=9ed34c7a305aae52687d8f3f2ebc46b01df9e082;hp=c2b1ed44fbba86981b1501994aff966bce3247d7;hb=b9d96835b666ba142057c0ef0c426d23b8bbd3d1;hpb=d9ab2562dfeadc4f1d2bcae73e9fae62208eaa8e diff --git a/configure.in b/configure.in index c2b1ed44..9ed34c7a 100644 --- a/configure.in +++ b/configure.in @@ -1,8 +1,8 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl $Id: configure.in,v 1.93 2006/09/22 01:26:20 hal9 Exp $ +dnl $Id: configure.in,v 1.136 2009/08/01 11:41:58 fabiankeil Exp $ dnl -dnl Written by and Copyright (C) 2001 - 2004 the SourceForge +dnl Written by and Copyright (C) 2001-2009 the dnl Privoxy team. http://www.privoxy.org/ dnl dnl Based on the Internet Junkbuster originally written @@ -27,427 +27,12 @@ dnl http://www.gnu.org/copyleft/gpl.html dnl or write to the Free Software Foundation, Inc., 59 dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl -dnl $Log: configure.in,v $ -dnl Revision 1.93 2006/09/22 01:26:20 hal9 -dnl Set version to 3.0.5 BETA for hopefully release this weekend. -dnl -dnl Revision 1.92 2006/08/17 17:09:49 fabiankeil -dnl Added check for timegm(). -dnl -dnl Revision 1.91 2006/08/13 22:01:51 fabiankeil -dnl Added checks for strptime() and random() -dnl -dnl Revision 1.90 2006/07/18 14:48:45 david__schmidt -dnl Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch) -dnl with what was really the latest development (the v_3_0_branch branch) -dnl -dnl Revision 1.68.2.20 2004/01/31 16:31:46 oes -dnl Resetting version info to 0.0.0 UNRELEASED -dnl -dnl Revision 1.68.2.19 2004/01/30 09:26:03 oes -dnl Added docbook paths for debian sarge; set status for release -dnl -dnl Revision 1.68.2.18 2003/12/08 15:10:29 oes -dnl Bugfix: --with-docbook now correctly accepts its path parameter. Thanks, Roland! -dnl -dnl Revision 1.68.2.17 2003/10/18 18:41:26 david__schmidt -dnl Update to remain buildable on OS/2 - remove the failures -dnl due to missing unixisms -dnl -dnl Revision 1.68.2.16 2003/03/26 16:05:14 oes -dnl Marked as 0.0.0 UNRELEASED -dnl -dnl Revision 1.68.2.15 2003/03/26 00:25:00 oes -dnl Bump version for 3.0.2 -dnl -dnl Revision 1.68.2.14 2003/03/25 13:27:12 hal9 -dnl Manually apply Docbook/FreeBSD patch #708081 from a.go at tiscali.nl. -dnl -dnl Revision 1.68.2.13 2003/03/18 19:38:57 oes -dnl Set version info for 3.0.1 release -dnl -dnl Revision 1.68.2.12 2003/03/07 03:41:04 david__schmidt -dnl Wrapping all *_r functions (the non-_r versions of them) with mutex semaphores for OSX. Hopefully this will take care of all of those pesky crash reports. -dnl -dnl Revision 1.68.2.11 2003/03/06 15:22:37 oes -dnl Fixed minor shell syntax bug -dnl -dnl Revision 1.68.2.10 2003/01/08 16:39:41 oes -dnl Changing default to exclude FEATURE_IMAGE_DETECT_MSIE because of problem reports with recent IEs -dnl -dnl Revision 1.68.2.9 2002/12/13 23:47:45 hal9 -dnl Add openbsd $specialflags per gunner at styx2002.no-ip.org -dnl -dnl Revision 1.68.2.8 2002/11/27 12:55:26 oes -dnl Fixed broken handling of pre-set CFLAGS -dnl -dnl Revision 1.68.2.7 2002/10/25 02:44:22 hal9 -dnl Port of make install, etc from main trunk. Needs testing! Add Slackware -dnl support, and other related changes. Update related docs. -dnl -dnl Revision 1.68.2.6 2002/09/25 15:35:15 oes -dnl Marking as non-release -dnl -dnl Revision 1.68.2.5 2002/08/25 23:37:00 hal9 -dnl Getting ready for 3.0 release. -dnl -dnl Revision 1.68.2.4 2002/08/10 11:21:57 oes -dnl - Set Version to 2.9.20 (beta) -dnl - Add two AC_DEFINEs that indicate if the pcre*.h headers -dnl are located in a pcre/ subdir to the include path. -dnl -dnl Revision 1.68.2.3 2002/08/06 11:29:36 oes -dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH -dnl -dnl Revision 1.68.2.2 2002/07/30 19:36:09 hal9 -dnl Bump version to 2.9.17. -dnl -dnl Revision 1.68.2.1 2002/07/26 15:21:12 oes -dnl Bumped version number for 2.9.16 freeze -dnl -dnl Revision 1.68 2002/05/25 16:54:54 jongfoster -dnl Detect if the compiler supports -pthread. -dnl Hopefully this will fix bug 560442. (I don't have a HP PA-RISC -dnl machine to test this!) -dnl -dnl Revision 1.67 2002/05/03 14:33:59 oes -dnl Generate doc/soucre/ldp.dsl -dnl -dnl Revision 1.66 2002/05/03 00:41:56 oes -dnl Set version to 2.9.15 to comply with new versioning scheme -dnl -dnl Revision 1.65 2002/04/25 19:13:57 morcego -dnl Removed RPM release number declaration on configure.in -dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading -dnl targets (will produce an error, explaining who to do it, if no value -dnl if provided). -dnl -dnl Revision 1.64 2002/04/22 16:32:31 morcego -dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2) -dnl -rh.spec: uid and gid are now macros -dnl -suse.spec: Changing the header Copyright to License (Copyright is -dnl deprecable) -dnl -dnl Revision 1.63 2002/04/11 11:00:21 oes -dnl Applied Moritz' fix for socklen_t on Solaris -dnl -dnl Revision 1.62 2002/04/11 10:09:20 oes -dnl Version 2.9.14 -dnl -dnl Revision 1.61 2002/04/10 18:14:45 morcego -dnl - (privoxy-rh.spec only) Relisting template files on the %%files section -dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5 -dnl -dnl Revision 1.60 2002/04/09 16:38:49 oes -dnl Added detection of missing config.h.in -dnl -dnl Revision 1.59 2002/04/06 20:23:55 jongfoster -dnl Removing unnessacery tests (C++, ranlib) -dnl -dnl Revision 1.58 2002/04/04 20:49:20 swa -dnl attempt to consolidate the -dnl different dokbook versions. -dnl -dnl Revision 1.57 2002/04/04 00:36:36 gliptak -dnl always use pcre for matching -dnl -dnl Revision 1.56 2002/04/03 22:28:03 gliptak -dnl Removed references to gnu_regex -dnl -dnl Revision 1.55 2002/04/03 03:54:38 gliptak -dnl Checking pcre version -dnl -dnl Revision 1.54 2002/04/01 00:54:24 gliptak -dnl More changes needed around regex support. -dnl -dnl Revision 1.53 2002/03/29 20:09:01 swa -dnl al's patch -dnl -dnl Revision 1.52 2002/03/29 19:51:40 gliptak -dnl Correcting compile problem with Debian -dnl -dnl Revision 1.51 2002/03/28 20:43:00 swa -dnl set make correctly -dnl -dnl Revision 1.50 2002/03/27 03:03:45 hal9 -dnl Add test for man2html -dnl -dnl Revision 1.49 2002/03/27 02:19:52 david__schmidt -dnl More Mac OSX support: -dnl - Get rid of extraneous, noisy -pthread warnings -dnl - Define unix so we get oes' unix-tagged changes -dnl -dnl Revision 1.48 2002/03/26 22:29:54 swa -dnl we have a new homepage! -dnl -dnl Revision 1.47 2002/03/26 16:41:00 hal9 -dnl Upped RPM Release to 3 (need to build new RH packages) -dnl -dnl Revision 1.46 2002/03/24 18:55:06 jongfoster -dnl Making Docbook work under Windows -dnl -dnl Revision 1.45 2002/03/24 14:19:55 swa -dnl set rpm package release in configure.in. nowhere else. -dnl -dnl Revision 1.44 2002/03/24 13:25:43 swa -dnl name change related issues -dnl -dnl Revision 1.43 2002/03/24 12:56:21 swa -dnl name change related issues. -dnl -dnl Revision 1.42 2002/03/22 18:11:37 jongfoster -dnl Bumping version number to 2.9.12 -dnl -dnl Revision 1.41 2002/03/19 19:30:04 morcego -dnl - Fixing stylesheet checking on configure. If it is found, no further checks -dnl should be done -dnl -dnl - configure will now check for db2html or docbook2html (should work now -dnl on SuSe without the docbktls package) -dnl -dnl Revision 1.40 2002/03/09 14:33:30 oes -dnl Fixing the (harmless) AC_CHECK_FILE warnings -dnl -dnl Revision 1.39 2002/03/08 16:46:13 oes -dnl Added --enable-no-gifs -dnl -dnl Revision 1.38 2002/03/08 14:13:50 morcego -dnl Fixing configure, to remove a command not found error. -dnl -dnl Revision 1.37 2002/03/08 12:58:21 oes -dnl Tiny bugfix in AC_ARG_WITH(debug) -dnl -dnl Revision 1.36 2002/03/06 23:50:36 morcego -dnl Will not test for a text browser if we are not using docbook. -dnl -dnl Revision 1.35 2002/03/06 21:55:52 morcego -dnl New configure option: --with-docbook=(yes|no|directory) -dnl Preliminary new platform detection code included. Will work with the -dnl old one for now. No use just trowing it away -dnl -dnl Revision 1.34 2002/03/06 20:57:00 morcego -dnl Fixing detection of stylesheets on SuSe. -dnl -dnl Revision 1.33 2002/03/05 17:31:11 morcego -dnl Search for docbook.dsl. Should solve portability problems for SuSe. -dnl -dnl Revision 1.32 2002/03/05 14:07:43 morcego -dnl configure now detects rpm topdir, and change GNUmakefile acordingly -dnl (based on sugestion by Sarantis Paskalis) -dnl -dnl Revision 1.31 2002/03/05 13:43:28 morcego -dnl Checking for text browser, so redhat-dok can work. -dnl -dnl Revision 1.30 2002/03/04 17:58:01 oes -dnl Deleted _DEBUG and PID_FILE_PATH -dnl -dnl Revision 1.29 2002/02/28 14:20:53 oes -dnl Fixed detection of gethost*_r functions on Solaris -dnl -dnl Revision 1.28 2002/02/27 15:02:38 oes -dnl Incremented version number -dnl -dnl Revision 1.27 2002/01/10 12:35:18 oes -dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros -dnl to silence autoconf warnings. Numbers are for Intel/Linux. -dnl Is there a better way? -dnl -dnl Revision 1.26 2002/01/09 14:29:49 oes -dnl - Added AC_CHECK_FUNC tests for the availability of -dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and -dnl localtime_r, as well as AC_TRY_COMPILE tests to -dnl determine their signatures. -dnl -dnl - Fixed a bug with the init of CFLAGS that was -dnl reported by barsnick -dnl -dnl Revision 1.25 2002/01/04 15:27:18 oes -dnl Changed quoting of CODE_STATUS for use in make -dnl -dnl Revision 1.24 2001/12/30 14:07:31 steudten -dnl - Add signal handling (unix) -dnl - Add SIGHUP handler (unix) -dnl - Add creation of pidfile (unix) -dnl - Add action 'top' in rc file (RH) -dnl - Add entry 'SIGNALS' to manpage -dnl - Add exit message to logfile (unix) -dnl -dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt -dnl Change from "alpha" to "beta" in configure.in -dnl -dnl Revision 1.22 2001/12/01 11:24:01 jongfoster -dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of -dnl make break in a more obvious way. -dnl -dnl Revision 1.21 2001/11/30 21:35:54 jongfoster -dnl Bumping version number to 2.9.10 -dnl -dnl Revision 1.20 2001/10/23 21:24:09 jongfoster -dnl Support for FEATURE_CGI_EDIT_ACTIONS -dnl -dnl Revision 1.19 2001/10/07 15:33:14 oes -dnl Removed FEATURE_DENY_GZIP -dnl Bumped up version number -dnl -dnl Revision 1.18 2001/09/13 13:10:24 steudten -dnl -dnl PreWork for Debug Interface. -dnl Add new option "--with-debug" to enable debugging (flags aso.) -dnl -dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt -dnl Mac OSX (Darwin) support added. -dnl -dnl Revision 1.16 2001/09/12 22:55:45 joergs -dnl AmigaOS support added. -dnl -dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt -dnl -dnl OS/2 port: update autoconf'd support for the platform. -dnl -dnl Revision 1.14 2001/07/30 22:12:11 jongfoster -dnl Fixing Solaris build (I hope) and tidying up #defines: -dnl - All feature #defines are now of the form FEATURE_xxx -dnl - Permanently turned off WIN_GUI_EDIT -dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS -dnl -dnl Revision 1.13 2001/07/29 17:09:17 jongfoster -dnl Major changes to build system in order to fix these bugs: -dnl - pthreads under Linux was broken - changed -lpthread to -pthread -dnl - Compiling in MinGW32 mode under CygWin now correctly detects -dnl which shared libraries are available -dnl - Solaris support (?) (Not tested under Solaris yet) -dnl -dnl Revision 1.12 2001/07/25 19:16:27 oes -dnl Bumping version number to 2.9.8 -dnl -dnl Revision 1.11 2001/07/21 18:00:07 jongfoster -dnl Bumping version number to 2.9.7 -dnl -dnl Revision 1.10 2001/07/18 17:25:04 oes -dnl Fixed a typo -dnl -dnl Revision 1.9 2001/07/15 19:45:13 jongfoster -dnl Added support for linking with POSIX threads library -dnl -dnl Revision 1.8 2001/07/15 17:54:29 jongfoster -dnl Renaming #define STATIC to STATIC_PCRE -dnl Adding new #define FEATURE_PTHREAD that will be used to enable -dnl POSIX threads support. -dnl -dnl Revision 1.7 2001/07/13 13:58:05 oes -dnl Completely reorganized the selection scheme for -dnl pcre, pcreposix, pcrs and gnu_regex: -dnl -dnl The presence of shared pcre, pcreposix or pcrs -dnl libraried is now autodetected. Additionally, the -dnl user can enforce using the built-in static variants -dnl by specifying --disable-dynamic-(pcre|pcrs). -dnl Care is taken to avoid that pcre is dyn, while pcreposix -dnl is static, if both are used and that pcrs is static if -dnl pcrs is. -dnl -dnl The choice between pcre, gnu or no regex for actionsfile -dnl URL matching is now via -dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the -dnl default being pcre. -dnl -dnl Revision 1.6 2001/06/29 21:56:40 oes -dnl Version -> 2.9.5 -dnl -dnl Revision 1.5 2001/06/29 13:26:27 oes -dnl Introduced #define CODE_STATUS -dnl -dnl Revision 1.4 2001/05/29 09:50:24 jongfoster -dnl Unified blocklist/imagelist/permissionslist. -dnl File format is still under discussion, but the internal changes -dnl are (mostly) done. -dnl -dnl Also modified interceptor behaviour: -dnl - We now intercept all URLs beginning with one of the following -dnl prefixes (and *only* these prefixes): -dnl * http://i.j.b/ -dnl * http://ijbswa.sf.net/config/ -dnl * http://ijbswa.sourceforge.net/config/ -dnl - New interceptors "home page" - go to http://i.j.b/ to see it. -dnl - Internal changes so that intercepted and fast redirect pages -dnl are not replaced with an image. -dnl - Interceptors now have the option to send a binary page direct -dnl to the client. (i.e. ijb-send-banner uses this) -dnl - Implemented show-url-info interceptor. (Which is why I needed -dnl the above interceptors changes - a typical URL is -dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif". -dnl The previous mechanism would not have intercepted that, and -dnl if it had been intercepted then it then it would have replaced -dnl it with an image.) -dnl -dnl Revision 1.3 2001/05/22 18:46:04 oes -dnl -dnl - Enabled filtering banners by size rather than URL -dnl by adding patterns that replace all standard banner -dnl sizes with the "Junkbuster" gif to the re_filterfile -dnl -dnl - Enabled filtering WebBugs by providing a pattern -dnl which kills all 1x1 images -dnl -dnl - Added support for PCRE_UNGREEDY behaviour to pcrs, -dnl which is selected by the (nonstandard and therefore -dnl capital) letter 'U' in the option string. -dnl It causes the quantifiers to be ungreedy by default. -dnl Appending a ? turns back to greedy (!). -dnl -dnl - Added a new interceptor ijb-send-banner, which -dnl sends back the "Junkbuster" gif. Without imagelist or -dnl MSIE detection support, or if tinygif = 1, or the -dnl URL isn't recognized as an imageurl, a lame HTML -dnl explanation is sent instead. -dnl -dnl - Added new feature, which permits blocking remote -dnl script redirects and firing back a local redirect -dnl to the browser. -dnl The feature is conditionally compiled, i.e. it -dnl can be disabled with --disable-fast-redirects, -dnl plus it must be activated by a "fast-redirects" -dnl line in the config file, has its own log level -dnl and of course wants to be displayed by show-proxy-args -dnl Note: Boy, all the #ifdefs in 1001 locations and -dnl all the fumbling with configure.in and acconfig.h -dnl were *way* more work than the feature itself :-( -dnl -dnl - Because a generic redirect template was needed for -dnl this, tinygif = 3 now uses the same. -dnl -dnl - Moved GIFs, and other static HTTP response templates -dnl to project.h -dnl -dnl - Some minor fixes -dnl -dnl - Removed some >400 CRs again (Jon, you really worked -dnl a lot! ;-) -dnl -dnl Revision 1.2 2001/05/20 01:21:20 jongfoster -dnl Version 2.9.4 checkin. -dnl - Merged popupfile and cookiefile, and added control over PCRS -dnl filtering, in new "permissionsfile". -dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration -dnl file error you now get a message box (in the Win32 GUI) rather -dnl than the program exiting with no explanation. -dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header -dnl skipping. -dnl - Removed tabs from "config" -dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition. -dnl - Bumped up version number. -dnl -dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes -dnl Initial import of version 2.9.3 source tree -dnl -dnl - dnl ================================================================= dnl AutoConf Initialization dnl ================================================================= -AC_REVISION($Revision: 1.93 $) +AC_REVISION($Revision: 1.136 $) AC_INIT(jcc.c) if test ! -f config.h.in; then @@ -493,8 +78,8 @@ dnl ================================================================= VERSION_MAJOR=3 VERSION_MINOR=0 -VERSION_POINT=5 -CODE_STATUS="BETA" +VERSION_POINT=15 +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" @@ -533,8 +118,8 @@ AC_PROG_MAKE_SET AC_PROG_AWK AC_CHECK_PROG(GDB,gdb,yes,no) -AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin) -AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin) +AC_PATH_PROG(BGROUPS,groups,no,$PATH:/bin:/usr/bin:/usr/local/bin) +AC_PATH_PROG(ID,id,no,$PATH:/bin:/usr/bin:/usr/local/bin) AC_SUBST(ID) AC_SUBST(BGROUPS) @@ -658,7 +243,9 @@ dnl additional gcc flags dnl ================================================================= dnl if test "$GCC"; then - CFLAGS="-pipe $CFLAGS" + if test "$host" != "powerpc-unknown-amigaos"; then + CFLAGS="-pipe $CFLAGS" + fi fi @@ -704,7 +291,7 @@ dnl Note: PTHREAD_LIB is always set, even if pthread is disabled. dnl This is because we don't know yet whether pthread is enabled. AC_ARG_ENABLE(mingw32, -[ --enable-mingw32 Use mingw32 for a Windows GUI], +[ --enable-mingw32 Use mingw32 for a Windows GUI], [if test $enableval = yes; then target_type=mingw fi]) @@ -830,9 +417,13 @@ dnl ================================================================= AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no]) AC_ARG_ENABLE(pthread, -[ --disable-pthread Don't use POSIX threads (pthreads)], +[ --disable-pthread Don't use POSIX threads (pthreads)], [if test $enableval = no; then # Disable pthreads + if test $have_pthread = yes; then + AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.]) + AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.]) + fi have_pthread=no fi]) @@ -1050,7 +641,7 @@ dnl Mac OSX specific dnl ================================================================= case "$host" in -*-apple-darwin*) SPECIAL_CFLAGS="-Dunix -DOSX_DARWIN" +*-apple-darwin*) SPECIAL_CFLAGS="-Dunix" ;; esac @@ -1112,8 +703,16 @@ AC_FUNC_SETPGRP AC_TYPE_SIGNAL dnl uncommenting does not work for swa. suse linux dnl AC_FUNC_STAT -AC_CHECK_FUNCS([atexit getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r inet_ntoa localtime_r memchr memmove memset random regcomp select setlocale socket strchr strdup strerror strftime strptime strstr strtoul timegm]) - +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]) + ]) +]) dnl ================================================================= dnl Checks for libraries. @@ -1141,7 +740,16 @@ AC_CHECK_LIB(pcreposix, regcomp, [ ]) ], [have_pcreposix=no], -lpcre) -AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre) +dnl ================================================================ +dnl libpcrs is temporarily disabled. +dnl +dnl Privoxy's own pcrs version fixes some problems that +dnl are present in libpcrs 0.3, the last pcrs release we +dnl know of, and as libpcrs seems to be currently unmaintained +dnl we can't send these fixes upstream. +dnl ================================================================ +dnl +dnl AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre) dnl ================================================================= dnl Always defined @@ -1154,101 +762,122 @@ dnl Features dnl ================================================================= AC_ARG_ENABLE(toggle, -[ --disable-toggle Don't support temporary disable], +[ --disable-toggle Don't support temporary disable], [if test $enableval = yes; then AC_DEFINE(FEATURE_TOGGLE) fi],AC_DEFINE(FEATURE_TOGGLE)) AC_ARG_ENABLE(force, -[ --disable-force Don't allow single-page disable], +[ --disable-force Don't allow single-page disable], [if test $enableval = yes; then AC_DEFINE(FEATURE_FORCE_LOAD) fi],AC_DEFINE(FEATURE_FORCE_LOAD)) AC_ARG_ENABLE(fast-redirects, -[ --disable-fast-redirects Don't support fast redirects], +[ --disable-fast-redirects Don't support fast redirects], [if test $enableval = yes; then AC_DEFINE(FEATURE_FAST_REDIRECTS) fi], AC_DEFINE(FEATURE_FAST_REDIRECTS)) -AC_ARG_ENABLE(killpopup, -[ --disable-killpopup Never block popups], -[if test $enableval = yes; then - AC_DEFINE(FEATURE_KILL_POPUPS) -fi],AC_DEFINE(FEATURE_KILL_POPUPS)) - AC_ARG_ENABLE(stats, -[ --disable-stats Don't keep statistics], +[ --disable-stats Don't keep statistics], [if test $enableval = yes; then 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.], +[ --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.], +[ --disable-image-blocking Don't try to figure out whether a request is + for an image or HTML - assume HTML.], [if test $enableval = yes; then AC_DEFINE(FEATURE_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 - the proxy by IP address.], +[ --disable-acl-files Prevents the use of ACL files to control access to + Privoxy by IP address.], [if test $enableval = yes; then AC_DEFINE(FEATURE_ACL) fi], AC_DEFINE(FEATURE_ACL)) AC_ARG_ENABLE(trust-files, -[ --disable-trust-files Prevents the use of trust files.], +[ --disable-trust-files Prevents the use of trust files.], [if test $enableval = yes; then AC_DEFINE(FEATURE_TRUST) fi], AC_DEFINE(FEATURE_TRUST)) -AC_ARG_ENABLE(jar-files, -[ --disable-jar-files Prevents the use of jar files to capture cookies.], -[if test $enableval = yes; then - AC_DEFINE(FEATURE_COOKIE_JAR) -fi], -AC_DEFINE(FEATURE_COOKIE_JAR)) - AC_ARG_ENABLE(editor, -[ --disable-editor Prevents the use of the web-based actions file - editor and web-based temporary disable setting.], +[ --disable-editor Prevents the use of the web-based actions file + editor and web-based temporary disable setting.], [if test $enableval = yes; then AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS) fi], AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)) AC_ARG_ENABLE(no-gifs, -[ --enable-no-gifs Use politically correct PNG format instead of GIF - for built-in images. May not work with all browsers.], +[ --enable-no-gifs Use politically correct PNG format instead of GIF + for built-in images. May not work with all browsers.], [if test $enableval = yes; then AC_DEFINE(FEATURE_NO_GIFS) fi]) +AC_ARG_ENABLE(graceful-termination, +[ --enable-graceful-termination Allow to shutdown Privoxy through the webinterface.], +[if test $enableval = yes; then + AC_DEFINE(FEATURE_GRACEFUL_TERMINATION) +fi]) + +AC_ARG_ENABLE(extended-host-patterns, +[ --enable-extended-host-patterns Allow extended regular expressions in host patterns.], +[if test $enableval = yes; then + AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS) +fi]) dnl pcre/pcrs is needed for CGI anyway, so dnl the choice is only between static and dnl dynamic: AC_ARG_ENABLE(dynamic-pcre, -[ --disable-dynamic-pcre Use the built-in, static pcre, even if - libpcre is available], +[ --disable-dynamic-pcre Use the built-in, static pcre, even if libpcre is available], [ if test $enableval = "no"; then have_pcre=no; fi ]) -AC_ARG_ENABLE(dynamic-pcrs, -[ --disable-dynamic-pcrs Use the built-in, static pcrs, even if - libpcrs is available], -[ if test $enableval = "no"; then have_pcrs=no; fi ]) +dnl ================================================= +dnl libpcrs is temporarily disabled, +dnl see comment above for the reason. +dnl ================================================= +dnl AC_ARG_ENABLE(dynamic-pcrs, +dnl [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if libpcrs is available], +dnl [ if test $enableval = "no"; then have_pcrs=no; fi ]) + + +dnl ==================================================== +dnl This check is incomplete. For mingw32 zlib is found +dnl by configure, but not necessarily by the compiler. +dnl ==================================================== +AC_ARG_ENABLE(zlib, +[ --disable-zlib Don't use zlib to decompress data before filtering.], +[enableval2=$enableval], +[enableval2=yes]) +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.]) + else + AC_MSG_WARN([No zlib found. + Privoxy will not be able to filter compressed content. + This may become a fatal error in the future.]) + fi +fi # If we have libpcre and either we also have pcreposix or @@ -1261,25 +890,37 @@ if test $have_pcre = "yes"; then STATIC_PCRE_ONLY=# LIBS="$LIBS -lpcre -lpcreposix" else - echo "using built-in static pcre" + 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]) pcre_dyn=no AC_DEFINE(STATIC_PCRE) STATIC_PCRE_ONLY= fi -# If we have libpcrs and pcre is linked dynamically -# then also link pcrs dynamically, else build and link -# pcrs statically -# -if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then - echo "using libpcrs" - STATIC_PCRS_ONLY=# - LIBS="$LIBS -lpcrs" -else - echo "using built-in static pcrs" +AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE) + +if test $have_pthread = "yes" -o $target_type = "mingw"; then + echo Enabling connection-sharing support. + AC_DEFINE(FEATURE_CONNECTION_SHARING) +fi + +dnl ================================================= +dnl libpcrs is temporarily disabled, +dnl see comment above for the reason. +dnl ================================================= +dnl # If we have libpcrs and pcre is linked dynamically +dnl # then also link pcrs dynamically, else build and link +dnl # pcrs statically +dnl +dnl if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then +dnl echo "using libpcrs" +dnl STATIC_PCRS_ONLY=# +dnl LIBS="$LIBS -lpcrs" +dnl else +dnl echo "using built-in static pcrs" AC_DEFINE(STATIC_PCRS) STATIC_PCRS_ONLY= -fi +dnl fi AC_SUBST(STATIC_PCRE_ONLY) AC_SUBST(STATIC_PCRS_ONLY)