tor-android/external/privoxy.configure.in

1464 lines
47 KiB
Plaintext
Raw Permalink Normal View History

dnl Process this file with autoconf to produce a configure script.
dnl
dnl $Id: configure.in,v 1.126 2009/03/21 10:45:06 fabiankeil Exp $
dnl
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
dnl by and Copyright (C) 1997 Anonymous Coders and
dnl Junkbusters Corporation. http://www.junkbusters.com
dnl
dnl This program is free software; you can redistribute it
dnl and/or modify it under the terms of the GNU General
dnl Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at
dnl your option) any later version.
dnl
dnl This program is distributed in the hope that it will
dnl be useful, but WITHOUT ANY WARRANTY; without even the
dnl implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE. See the GNU General Public
dnl License for more details.
dnl
dnl The GNU General Public License should be included with
dnl this file. If not, you can view it at
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.126 2009/03/21 10:45:06 fabiankeil
dnl Declare the code stable.
dnl
dnl Revision 1.125 2009/02/25 16:58:03 fabiankeil
dnl And the journey continues. Bump version to 3.0.12 UNRELEASED.
dnl
dnl Revision 1.124 2009/02/12 15:42:00 fabiankeil
dnl Declare the code stable.
dnl
dnl Revision 1.123 2009/02/06 18:17:32 fabiankeil
dnl Boldly enable keep-alive support where possible.
dnl
dnl Revision 1.122 2008/10/18 11:17:52 fabiankeil
dnl Connection keep-alive support is ready for testing,
dnl allow enabling it through the configure script.
dnl
dnl Revision 1.121 2008/08/30 12:03:07 fabiankeil
dnl Remove FEATURE_COOKIE_JAR.
dnl
dnl Revision 1.120 2008/08/21 17:19:50 fabiankeil
dnl Change version to 3.0.11 UNRELEASED.
dnl
dnl Revision 1.119 2008/08/13 16:53:50 fabiankeil
dnl Change version to 3.0.10 stable.
dnl
dnl Revision 1.118 2008/06/27 12:50:44 fabiankeil
dnl Here's looking at you, Gentoo Linux: Show a warning if
dnl --disable-pthread is used even though pthreads are available.
dnl
dnl Revision 1.117 2008/06/14 12:47:30 fabiankeil
dnl Set CODE_STATUS to beta.
dnl
dnl Revision 1.116 2008/06/08 11:55:09 fabiankeil
dnl - Show a warning if the soon-to-be-removed static PCRE code is used.
dnl - Hide the "using built-in static pcrs" message. With dynamic linking
dnl against PCRS disabled, the message isn't particularly useful.
dnl
dnl Revision 1.115 2008/05/25 15:50:14 fabiankeil
dnl Try to use zlib by default, but just show a warning if it's
dnl unavailable. Remove --enable-zlib, add --disable-zlib.
dnl
dnl Revision 1.114 2008/04/06 15:18:33 fabiankeil
dnl Oh well, rename the --enable-pcre-host-patterns option to
dnl --enable-extended-host-patterns as it's not really PCRE syntax.
dnl
dnl Revision 1.113 2008/04/06 14:54:26 fabiankeil
dnl Use PCRE syntax in host patterns when configured
dnl with --enable-pcre-host-patterns.
dnl
dnl Revision 1.112 2008/03/27 18:27:22 fabiankeil
dnl Remove kill-popups action.
dnl
dnl Revision 1.111 2008/02/03 14:40:47 fabiankeil
dnl Remove unused OSX_DARWIN macro. Reported by Mark Miller in #1852529.
dnl
dnl Revision 1.110 2008/01/26 10:52:13 fabiankeil
dnl Change version to 3.0.9 UNRELEASED.
dnl
dnl Revision 1.109 2008/01/20 14:07:09 fabiankeil
dnl Set CODE_STATUS to stable.
dnl
dnl Revision 1.108 2007/12/10 02:30:00 hal9
dnl Change versioning for > 3.0.7 && < 3.0.8
dnl
dnl Revision 1.107 2007/11/15 02:50:14 hal9
dnl Setting to "beta" (for doc builds, etc).
dnl
dnl Revision 1.106 2007/05/11 11:49:41 fabiankeil
dnl Check for strlcat().
dnl
dnl Revision 1.105 2007/04/09 17:34:58 fabiankeil
dnl Check for snprintf().
dnl
dnl Revision 1.104 2007/03/31 13:35:11 fabiankeil
dnl Add checks for gettimeofday() and strlcpy().
dnl
dnl Revision 1.103 2007/01/20 16:29:38 fabiankeil
dnl Suppress edit buttons for action files if Privoxy has
dnl no write access. Suggested by Roland in PR 1564026.
dnl
dnl Revision 1.102 2007/01/18 14:55:45 fabiankeil
dnl Check for tzset() and putenv() to make sure the
dnl replacement timegm() isn't included on systems
dnl where it fails to compile.
dnl
dnl Revision 1.101 2007/01/12 15:20:17 fabiankeil
dnl Temporarily ignore external libpcrs to prevent
dnl problems that are fixed in Privoxy's own version.
dnl
dnl Revision 1.100 2007/01/07 07:38:10 joergs
dnl Disabled -pipe for AmigaOS4.
dnl
dnl Revision 1.99 2007/01/01 19:36:37 fabiankeil
dnl Integrate a modified version of Wil Mahan's
dnl zlib patch (PR #895531).
dnl
dnl Revision 1.98 2006/12/17 19:15:26 fabiankeil
dnl Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
dnl
dnl Revision 1.97 2006/11/21 18:32:46 hal9
dnl Setting version to 3.0.7 UNRELEASED for lack of a better setting.
dnl
dnl Revision 1.96 2006/11/18 14:42:51 fabiankeil
dnl Mark as stable.
dnl
dnl Revision 1.95 2006/11/14 02:08:59 hal9
dnl Setting version string to 3.0.6 UNRELEASED. This needs to be reset to 3.0.6
dnl stable just before CVS is tagged for release.
dnl
dnl Revision 1.94 2006/11/13 19:05:50 fabiankeil
dnl Make pthread mutex locking more generic. Instead of
dnl checking for OSX and OpenBSD, check for FEATURE_PTHREAD
dnl and use mutex locking unless there is an _r function
dnl available. Better safe than sorry.
dnl
dnl Fixes "./configure --disable-pthread" and should result
dnl in less threading-related problems on pthread-using platforms,
dnl but it still doesn't fix BR#1122404.
dnl
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.126 $)
AC_INIT(jcc.c)
if test ! -f config.h.in; then
echo "You need to run autoheader first. "
echo -n "Shall I do this for you now? (y/n) "
read answer
if test "$answer" != "y"; then
exit 1
else
autoheader
fi
fi
AC_CONFIG_HEADER([config.h])
AC_CANONICAL_HOST
dodk=auto
DKPREFIX=none
AC_ARG_WITH(docbook, dnl
--with-docbook=[[yes|no|directory]]
Enable docbook documentation creation
(default = yes, for gnu and linux),[dnl
case "$with_docbook" in
yes) dodk=yes;;
no) dodk=no;;
*)
dodk=yes
DKPREFIX=$withval
;;
esac
])
DB2HTML=false
AC_ARG_WITH(db2html, dnl
--with-db2html=<path/executable>
Set the location of the docbook to html converter
(default = search),[dnl
DB2HTML=$withval
])
dnl =================================================================
dnl Application version number
dnl =================================================================
VERSION_MAJOR=3
VERSION_MINOR=0
VERSION_POINT=12
CODE_STATUS="stable"
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"
dnl whenever CVS in a stable branch differs from the last release.
dnl =================================================================
dnl Substitute the version numbers
dnl =================================================================
AC_SUBST(VERSION_MAJOR)
AC_SUBST(VERSION_MINOR)
AC_SUBST(VERSION_POINT)
AC_SUBST(CODE_STATUS)
dnl
AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
dnl =================================================================
dnl Checks for programs needed to build.
dnl =================================================================
dnl Keep AC_PROG_CC from setting its own defaults:
if test "X$CFLAGS" = "X"; then
CFLAGS=" "
fi
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
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_SUBST(ID)
AC_SUBST(BGROUPS)
dnl =================================================================
dnl debug, gcc and gdb support
dnl =================================================================
AC_ARG_WITH(debug,
[ --with-debug Enable debug mode],
[
if test "x$withval" != "xno" ; then
if test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
if test "$GDB"; then
CFLAGS="$CFLAGS -ggdb"
else
CFLAGS="$CFLAGS -g"
fi
CFLAGS="$CFLAGS -Wshadow -Wconversion"
else
CFLAGS="$CFLAGS -g"
fi
fi
fi
],
[
if test "X$CFLAGS" = "X "; then # if CFLAGS were unset (see above)
if test "$GCC" = yes; then
CFLAGS="-O2"
fi
fi
]
)
dnl =================================================================
dnl Check for user and group validity
dnl =================================================================
if test "$EMXOS2" = yes; then
echo "Skipping user and group validity stuff.";
else
$ID privoxy >/dev/null 2>/dev/null
if test $? -ne 0 ; then
AC_MSG_WARN(There is no user 'privoxy' on this system)
fi
AC_MSG_CHECKING([for user])
AC_ARG_WITH(user,
[ --with-user=privoxy Set user under which privoxy will run],
[
if test "x$withval" != "xyes"; then
if test $ID = no ; then
AC_MSG_ERROR(There is no 'id' program on this system)
else
AC_MSG_RESULT($with_user)
$ID $with_user 2>/dev/null >/dev/null
if test $? -eq 0 ; then
USER=$with_user;
else
AC_MSG_ERROR(There is no user '$with_user' on this system)
fi
fi
else
AC_MSG_ERROR(We need a user if you give me this parameter)
fi
],
[
if test $ID = no ; then
AC_MSG_ERROR(There is no 'id' programm on this system)
else
AC_MSG_RESULT(none specified)
USER=$with_user
fi
]
)
AC_SUBST(USER)
AC_MSG_CHECKING([for group])
AC_ARG_WITH(group,
[ --with-group=privoxy Set group for privoxy],
[
if test "x$withval" != "xyes"; then
if test $BGROUPS = no ; then
AC_MSG_ERROR(There is no 'groups' program on this system)
else
AC_MSG_RESULT($with_group)
$BGROUPS $USER >/dev/null
if test $? -eq 0 ; then
# FIXME: this fails if valid group, but not first group
# listed.
if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
AC_MSG_ERROR(The given value '$withval' does not match group entry)
else
GROUP=$with_group;
fi
else
AC_MSG_ERROR(There is no group entry for user '$USER')
fi
fi
else
AC_MSG_ERROR(We need a group if you give me this parameter)
fi
],
[
if test $BGROUPS = no ; then
AC_MSG_ERROR(There is no 'groups' programm on this system)
else
AC_MSG_RESULT(none specified)
GROUP=$with_group;
fi
]
)
AC_SUBST(GROUP)
fi
dnl =================================================================
dnl additional gcc flags
dnl =================================================================
dnl
if test "$GCC"; then
if test "$host" != "powerpc-unknown-amigaos"; then
CFLAGS="-pipe $CFLAGS"
fi
fi
dnl =================================================================
dnl Build type
dnl =================================================================
dnl
dnl Must do this first.
dnl
dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
dnl the compiler will use completely different sets of library
dnl and include files.
dnl
dnl =================================================================
AC_MINGW32
AC_CYGWIN
if test "$MINGW32" = "yes"; then
target_type=mingw
else
if test "$CYGWIN" = "yes"; then
target_type=cygwin
else
target_type=unix
fi
fi
if test $dodk = auto; then
dodk=no
if test $target_type = unix; then
case "$host_os" in
linux* | gnu*)
dodk=yes
;;
esac
fi
fi
dnl Decide what to do based on target_type
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],
[if test $enableval = yes; then
target_type=mingw
fi])
if test $target_type = mingw; then
WIN_ONLY=
SPECIAL_CFLAGS="-mwindows -mno-cygwin"
PTHREAD_LIB=-lpthreadGC
echo "Using mingw32 (Win32 GUI)"
else
WIN_ONLY=#
if test $target_type = cygwin; then
SPECIAL_CFLAGS="-mno-win32"
PTHREAD_LIB=
echo "Using Cygnus (Win32 command line)"
else
SPECIAL_CFLAGS=
dnl PTHREAD_LIB=-lpthread
fi
fi
AC_SUBST(WIN_ONLY)
dnl Checking which text html browser we have avaliable
if test $dodk != no; then
AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
if test "$WDUMP" = false; then
AC_MSG_WARN(You need some kind of text browser to build documentation \(w3m, lynx and links are supported\))
fi
if test $DB2HTML = false; then
dnl We need to clean the variable, otherwise AC_CHECK_PROGS
dnl will fail
DB2HTML=""
AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
fi
fi
AC_SUBST(WDUMP)
AC_SUBST(DB2HTML)
dnl If we use rpm, we need to check where %_topdir is
AC_CHECK_PROGS(RPMBIN,rpm,false)
if test $RPMBIN != false; then
RPM_BASE=`rpm --eval "%{_topdir}"`
if test "$RPM_BASE" = ""; then
RPM_BASE=/usr/src/redhat
fi
fi
AC_SUBST(RPM_BASE)
dnl Check for jade, so we can build the documentation
AC_CHECK_PROGS(JADEBIN,jade openjade,false)
AC_SUBST(JADEBIN)
dnl Check for man2html for docs.
AC_CHECK_PROGS(MAN2HTML,man2html,false)
AC_SUBST(MAN2HTML)
dnl Set doc status flag for conditional content inclusions
DOC_STATUS=p-not-stable
if test $CODE_STATUS = stable; then
DOC_STATUS="p-stable"
fi
AC_SUBST(DOC_STATUS)
dnl Checking for the docbook.dsl stylesheet file
dnl It is still not portable (directory slash)
JADECAT=""
if test $dodk = yes; then
if test $DKPREFIX = none; then
for i in /usr/share/sgml/docbook/dsssl-stylesheets \
/usr/share/sgml/docbkdsl /usr/share/sgml/docbook-dsssl \
/usr/local/share/sgml/docbook/dsssl/modular \
/usr/share/sgml/docbook/stylesheet/dsssl/modular/ \
; do
dnl echo -n does not fly with /bin/sh.
dnl echo -n "checking for $i/html/docbook.dsl..."
AC_MSG_CHECKING([for $i])
if test -f $i/html/docbook.dsl; then
echo "yes"
DKPREFIX=$i
break
else
echo "no"
fi
done
# where are the catalogs?
for i in /usr/share/sgml/CATALOG.docbk30 \
/usr/share/sgml/CATALOG.docbk31 \
/usr/share/sgml/CATALOG.docbk31 \
/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 \
; do
dnl echo -n "checking for $i..."
AC_MSG_CHECKING([for $i])
if test -f $i; then
echo "yes"
JADECAT="$JADECAT -c $i"
else
echo "no"
fi
done
fi
fi
AC_SUBST(JADECAT)
AC_SUBST(DKPREFIX)
dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
old_CFLAGS_nospecial=$CFLAGS
CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
# Hack to force AutoConf to use the CFLAGS we just set
dnl Warning: This may break with a future version of Autoconf
dnl Tested with autoconf 2.13
ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
dnl =================================================================
dnl Thread support
dnl =================================================================
AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
AC_ARG_ENABLE(pthread,
[ --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])
if test $have_pthread = yes; then
PTHREAD_ONLY=
AC_DEFINE(FEATURE_PTHREAD)
echo Using POSIX threads
if test "$GCC" = "yes"; then
# Set a GCC specific switch:
if test "$target_type" = "unix"; then
ac_jgf_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -pthread"
AC_TRY_LINK([#include <pthread.h>],
[void *p = pthread_create;],
[
# This compiler switch makes GCC on Linux thread-safe
# However, it's not supported on most other OS.
PTHREAD_LIB=
SPECIAL_CFLAGS="-pthread"
])
CFLAGS=$ac_jgf_save_CFLAGS
fi
fi
else
PTHREAD_ONLY=#
echo Using native threads
fi
AC_SUBST(PTHREAD_ONLY)
dnl =================================================================
dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
dnl gmtime and localtime
dnl =================================================================
dnl Next line needed to find the gethost*_r functions on Solaris
AC_CHECK_LIB(nsl, gethostbyname)
AC_CHECK_FUNC(gethostbyaddr_r, [
AC_MSG_CHECKING([signature of gethostbyaddr_r])
AC_TRY_COMPILE([
# include <netdb.h>
], [
struct hostent *h, *hp;
char *a, *b;
int l, bl, t, e;
(void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
], [
AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
AC_MSG_RESULT([8 args])
], [
AC_TRY_COMPILE([
# include <netdb.h>
], [
struct hostent *h;
char *a, *b;
int l, bl, t, e;
(void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
], [
AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
AC_MSG_RESULT([7 args])
], [
AC_TRY_COMPILE([
# include <netdb.h>
], [
struct hostent_data *d;
struct hostent *h;
char a,
int l, t;
(void) gethostbyaddr_r(a, l, t, h, d)
], [
AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
AC_MSG_RESULT([5 args])
], [
AC_MSG_RESULT(unrecognised)
])
])
])
], [
AC_MSG_RESULT(no)
])
AC_CHECK_FUNC(gethostbyname_r, [
AC_MSG_CHECKING([signature of gethostbyname_r])
AC_TRY_COMPILE([
# include <netdb.h>
], [
struct hostent *h, *r;
char *n, *b;
int bl, e;
(void) gethostbyname_r(n, h, b, bl, &r, &e)
], [
AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
AC_MSG_RESULT([6 args])
], [
AC_TRY_COMPILE([
# include <netdb.h>
], [
struct hostent *h;
char *n, *b;
int bl, e;
(void) gethostbyname_r(n, h, b, bl, &e)
], [
AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
AC_MSG_RESULT([5 args])
], [
AC_TRY_COMPILE([
# include <netdb.h>
], [
struct hostent_data *d;
struct hostent *h;
char *n,
(void) gethostbyname_r(n, h, d)
], [
AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
AC_MSG_RESULT([3 args])
], [
AC_MSG_RESULT(unrecognised)
])
])
])
], [
AC_MSG_RESULT(no)
])
AC_CHECK_FUNC(gmtime_r, [
AC_MSG_CHECKING([signature of gmtime_r])
AC_TRY_COMPILE([
# include <time.h>
], [
struct time *t;
struct tm *tm;
(void) gmtime_r(t, tm)
], [
AC_MSG_RESULT(ok)
AC_DEFINE(HAVE_GMTIME_R)
], [
AC_MSG_RESULT(unrecognised)
])
], [
AC_MSG_RESULT(no)
])
AC_CHECK_FUNC(localtime_r, [
AC_MSG_CHECKING([signature of localtime_r])
AC_TRY_COMPILE([
# include <time.h>
], [
struct time *t;
struct tm *tm;
(void) localtime_r(t, tm)
], [
AC_MSG_RESULT(ok)
AC_DEFINE(HAVE_LOCALTIME_R)
], [
AC_MSG_RESULT(unrecognised)
])
], [
AC_MSG_RESULT(no)
])
dnl =================================================================
dnl Solaris specific
dnl FIXME: Not tested on Solaris yet...
dnl ISFIXED: Have tested it on Solaris, but there are other ways to
dnl make these checks generic, e.g.:
dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt))
dnl (Moritz Barsnick <moritz@barsnick.net>)
dnl =================================================================
SOCKET_LIB=
case "$host" in
*-solaris*) SOCKET_LIB="-lsocket -lnsl"
AC_DEFINE(__EXTENSIONS__)
if test "$GCC" = "yes"; then
# Set a GCC specific switch:
# This compiler switch makes Solaris thread-safe
PTHREAD_LIB=
SPECIAL_CFLAGS="-pthreads"
else
# What do we do without GCC? Guess this:
SPECIAL_CFLAGS="-D_REENTRANT"
fi
;;
esac
AC_SUBST(SOCKET_LIB)
dnl =================================================================
dnl Solaris problem, and others perhaps (socklen_t is undefined)
dnl =================================================================
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 <sys/socket.h> doesn't have it. ]))
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 =================================================================
case "$host" in
*-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
;;
esac
dnl =================================================================
dnl OpenBSD specific
dnl =================================================================
case "$host" in
*-openbsd*) SPECIAL_CFLAGS="$SPECIAL_CFLAGS -Dunix"
;;
esac
dnl =================================================================
dnl AmigaOS specific
dnl =================================================================
AMIGAOS_ONLY=#
case "$host" in
*-amigaos) AMIGAOS_ONLY=
;;
esac
AC_SUBST(AMIGAOS_ONLY)
dnl =================================================================
dnl Check for standard compiler stuff
dnl =================================================================
AC_EXEEXT
AC_OBJEXT
AC_HEADER_STDC
AC_HEADER_DIRENT
AC_C_CONST
AC_TYPE_SIZE_T
AC_TYPE_PID_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(char *, 4)
AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(long long, 8)
AC_CHECK_SIZEOF(size_t, 4)
dnl Checks for header files.
dnl AC_HEADER_SYS_WAIT
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])
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 =================================================================
dnl Checks for libraries.
dnl =================================================================
dnl Note: Some systems may have the library but not the system header
dnl file, so we must check for both.
dnl Also check for correct version
AC_CHECK_LIB(pcre, pcre_compile, [
AC_CHECK_HEADER(pcre.h, [
AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])
], [
AC_CHECK_HEADER(pcre/pcre.h, [
AC_EGREP_HEADER(pcre_fullinfo, pcre/pcre.h, [have_pcre=yes]; [AC_DEFINE(PCRE_H_IN_SUBDIR)], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])
], [have_pcre=no])
])
], [have_pcre=no])
AC_CHECK_LIB(pcreposix, regcomp, [
AC_CHECK_HEADER(pcreposix.h, [
AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])
], [
AC_CHECK_HEADER(pcre/pcreposix.h, [
AC_EGREP_HEADER(pcreposix_regerror, pcre/pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes]; [AC_DEFINE(PCREPOSIX_H_IN_SUBDIR)])
], [have_pcreposix=no])
])
], [have_pcreposix=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
dnl =================================================================
AC_DEFINE(__MT__)
dnl =================================================================
dnl Features
dnl =================================================================
AC_ARG_ENABLE(toggle,
[ --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],
[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],
[if test $enableval = yes; then
AC_DEFINE(FEATURE_FAST_REDIRECTS)
fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
AC_ARG_ENABLE(stats,
[ --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.],
[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.],
[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
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.],
[if test $enableval = yes; then
AC_DEFINE(FEATURE_TRUST)
fi],
AC_DEFINE(FEATURE_TRUST))
AC_ARG_ENABLE(editor,
[ --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.],
[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],
[ if test $enableval = "no"; then have_pcre=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
# we don't need pcreposix, then link pcre dynamically; else
# build it and link statically
#
if test $have_pcre = "yes"; then
echo "using libpcre"
pcre_dyn=yes
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])
pcre_dyn=no
AC_DEFINE(STATIC_PCRE)
STATIC_PCRE_ONLY=
fi
if test $have_pthread = "yes" -o $target_type = "mingw"; then
echo Enabling keep-alive support for outgoing connections.
AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
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=
dnl fi
AC_SUBST(STATIC_PCRE_ONLY)
AC_SUBST(STATIC_PCRS_ONLY)
dnl =================================================================
dnl Final cleanup and output
dnl =================================================================
dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
dnl in the Makefile
CFLAGS=$old_CFLAGS_nospecial
AC_SUBST(SPECIAL_CFLAGS)
AC_SUBST(PTHREAD_LIB)
AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)