X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=configure.in;h=2658be07215234547f170695b4727de111b5b251;hp=2f16841c20ade50fc7d736dfcbfccd262f00f790;hb=52feb95cca9309b54829313054d8f4befabbd028;hpb=ac1323d459a93ae22a1988ce95ba09ebaa749dc6 diff --git a/configure.in b/configure.in index 2f16841c..2658be07 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.86 2002/12/13 23:47:10 hal9 Exp $ +dnl $Id: configure.in,v 1.140 2009/11/07 13:44:43 fabiankeil Exp $ dnl -dnl Written by and Copyright (C) 2001, 2002 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,418 +27,15 @@ 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.86 2002/12/13 23:47:10 hal9 -dnl Add openbsd special flags per gunner at styx2002.no-ip.org -dnl -dnl Revision 1.85 2002/11/27 12:40:54 oes -dnl Fixed broken handling of pre-set CFLAGS -dnl -dnl Revision 1.84 2002/10/24 22:24:57 hal9 -dnl Make install: Minor clean up for variable handling. -dnl -dnl Revision 1.83 2002/10/24 16:32:41 hal9 -dnl echo -n does not work with true /bin/sh. Use AC_MSG_CHECKING for docbook stuff. -dnl -dnl Revision 1.82 2002/09/27 04:24:07 hal9 -dnl Minor change of "! test" to "test -ne" for Solaris. -dnl -dnl Revision 1.81 2002/09/27 00:38:44 hal9 -dnl Some general cleanup of the user/group stuff. Including remove up to ':' to -dnl make Linux (?) compatible with other *nix. Better AC output stuff. -dnl -dnl Revision 1.80 2002/09/26 18:47:46 hal9 -dnl This is most of Al's patch for --with-user and --with-group which tests that -dnl these are valid values, if specified. If not specified, they are left empty. -dnl -dnl Revision 1.79 2002/09/07 02:11:06 hal9 -dnl Remove some testing stuff inadvertantly left in. -dnl -dnl Revision 1.78 2002/09/06 23:18:08 hal9 -dnl Migrate PCRE_H_IN_SUBDIR from 3.0 branch for pcre/pcre.h on RH, etc. -dnl -dnl Revision 1.77 2002/09/06 13:23:03 oes -dnl Removed non-functional test for gcc support for -pthread -dnl -dnl Revision 1.76 2002/09/05 14:52:17 oes -dnl Synced in some changes fromm the stable branch: -dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH -dnl -dnl Revision 1.75 2002/09/04 12:19:33 oes -dnl Resurrected acconfig.h and removed double quotes from AC_DEFINE params to enable build on older systems -dnl -dnl Revision 1.74 2002/09/03 17:31:33 oes -dnl Added workaround for very strange behaviour of AC_PROG_CC, which sets CFLAGS to -g -O2 if empty -dnl -dnl Revision 1.73 2002/06/05 00:26:21 hal9 -dnl Move all doc build stuff to doc/source/GNUmakefile, leaving a 'make dok' -dnl target only in toplevel. Add DOC_STATUS variable so docs can be built without -dnl touching sgml source. -dnl -dnl Revision 1.72 2002/06/04 15:52:25 jongfoster -dnl Removing need for acconfig.h (apparently using acconfig.h is an -dnl obsolete coding style). -dnl Moving the DocBook stuff together -dnl -dnl Revision 1.71 2002/06/04 14:51:49 jongfoster -dnl Updating for new paths: -dnl - Source files in src/ -dnl - Object files in obj/ -dnl -dnl Revision 1.70 2002/05/27 23:26:34 mal0rd -dnl Made doc-generation configuration automatic. -dnl References to DB2HTML were removed, not used. -dnl --with-docbook now only needed if in odd path. -dnl -dnl Revision 1.69 2002/05/25 18:11:49 jongfoster -dnl Wahay!!! 3.0.x has branched! -dnl New development version is 3.1.1 alpha -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.86 $) -AC_INIT(src/jcc.c) -if test ! -f src/config.h.in; then +AC_REVISION($Revision: 1.140 $) +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 @@ -449,21 +46,44 @@ if test ! -f src/config.h.in; then fi fi -AC_CONFIG_HEADER([src/config.h]) +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= + 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=1 -VERSION_POINT=1 -CODE_STATUS="alpha" +VERSION_MINOR=0 +VERSION_POINT=16 +CODE_STATUS="UNRELEASED" dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be -dnl used for CGI output +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 @@ -473,19 +93,13 @@ AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_POINT) AC_SUBST(CODE_STATUS) -AC_SUBST(SYSCONFDIR) dnl -AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR}, - [Version number - Major (X._._).]) -AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR}, - [Version number - Minor (_.X._).]) -AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT}, - [Version number - Point (_._.X).]) -AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}", - [Version number, as a string.]) -AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}", - [Status of the code: "alpha", "beta" or "stable".]) +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. @@ -493,7 +107,7 @@ dnl ================================================================= dnl Keep AC_PROG_CC from setting its own defaults: if test "X$CFLAGS" = "X"; then - CFLAGS = " " + CFLAGS=" " fi AC_PROG_CC @@ -504,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) @@ -544,17 +158,23 @@ dnl ================================================================= dnl Check for user and group validity dnl ================================================================= -$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, + +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_WARN(There is no 'id' program on this system) + 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 @@ -570,17 +190,17 @@ AC_ARG_WITH(user, ], [ if test $ID = no ; then - AC_MSG_WARN(There is no 'id' program on this system) + 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_SUBST(USER) -AC_MSG_CHECKING([for group]) -AC_ARG_WITH(group, + AC_MSG_CHECKING([for group]) + AC_ARG_WITH(group, [ --with-group=privoxy Set group for privoxy], [ if test "x$withval" != "xyes"; then @@ -607,21 +227,25 @@ AC_ARG_WITH(group, ], [ if test $BGROUPS = no ; then - AC_MSG_WARN(There is no 'groups' program on this system) + AC_MSG_ERROR(There is no 'groups' programm on this system) else AC_MSG_RESULT(none specified) GROUP=$with_group; fi ] -) -AC_SUBST(GROUP) + ) + AC_SUBST(GROUP) + +fi dnl ================================================================= 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 @@ -651,12 +275,23 @@ else 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], +[ --enable-mingw32 Use mingw32 for a Windows GUI], [if test $enableval = yes; then target_type=mingw fi]) @@ -679,6 +314,90 @@ else 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" @@ -698,24 +417,34 @@ 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]) if test $have_pthread = yes; then PTHREAD_ONLY= - AC_DEFINE(FEATURE_PTHREAD,1, - [Define to use POSIX threads instead of native threads.]) + AC_DEFINE(FEATURE_PTHREAD) echo Using POSIX threads if test "$GCC" = "yes"; then # Set a GCC specific switch: if test "$target_type" = "unix"; then - # This compiler switch makes GCC on Linux thread-safe - # However, it's not supported on most other OS. - PTHREAD_LIB= - SPECIAL_CFLAGS="-pthread" + ac_jgf_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -pthread" + AC_TRY_LINK([#include ], + [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 @@ -743,8 +472,7 @@ AC_CHECK_FUNC(gethostbyaddr_r, [ int l, bl, t, e; (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e) ], [ - AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS,1, - [Define if gethostbyaddr_r() exists and takes 8 arguments]) + AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS) AC_MSG_RESULT([8 args]) ], [ AC_TRY_COMPILE([ @@ -755,8 +483,7 @@ AC_CHECK_FUNC(gethostbyaddr_r, [ int l, bl, t, e; (void) gethostbyaddr_r(a, l, t, h, b, bl, &e) ], [ - AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS,1, - [Define if gethostbyaddr_r() exists and takes 7 arguments]) + AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS) AC_MSG_RESULT([7 args]) ], [ AC_TRY_COMPILE([ @@ -768,8 +495,7 @@ AC_CHECK_FUNC(gethostbyaddr_r, [ int l, t; (void) gethostbyaddr_r(a, l, t, h, d) ], [ - AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS,1, - [Define if gethostbyaddr_r() exists and takes 5 arguments]) + AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS) AC_MSG_RESULT([5 args]) ], [ AC_MSG_RESULT(unrecognised) @@ -790,8 +516,7 @@ AC_CHECK_FUNC(gethostbyname_r, [ int bl, e; (void) gethostbyname_r(n, h, b, bl, &r, &e) ], [ - AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS,1, - [Define if gethostbyname_r() exists and takes 6 arguments]) + AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS) AC_MSG_RESULT([6 args]) ], [ AC_TRY_COMPILE([ @@ -802,8 +527,7 @@ AC_CHECK_FUNC(gethostbyname_r, [ int bl, e; (void) gethostbyname_r(n, h, b, bl, &e) ], [ - AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS,1, - [Define if gethostbyname_r() exists and takes 5 arguments]) + AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS) AC_MSG_RESULT([5 args]) ], [ AC_TRY_COMPILE([ @@ -814,8 +538,7 @@ AC_CHECK_FUNC(gethostbyname_r, [ char *n, (void) gethostbyname_r(n, h, d) ], [ - AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS,1, - [Define if gethostbyname_r() exists and takes 3 arguments]) + AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS) AC_MSG_RESULT([3 args]) ], [ AC_MSG_RESULT(unrecognised) @@ -836,8 +559,7 @@ AC_CHECK_FUNC(gmtime_r, [ (void) gmtime_r(t, tm) ], [ AC_MSG_RESULT(ok) - AC_DEFINE(HAVE_GMTIME_R,1, - [Define if gmtime_r(struct time *, struct tm *) exists]) + AC_DEFINE(HAVE_GMTIME_R) ], [ AC_MSG_RESULT(unrecognised) ]) @@ -855,8 +577,7 @@ AC_CHECK_FUNC(localtime_r, [ (void) localtime_r(t, tm) ], [ AC_MSG_RESULT(ok) - AC_DEFINE(HAVE_LOCALTIME_R,1, - [Define if localtime_r(struct time *, struct tm *) exists]) + AC_DEFINE(HAVE_LOCALTIME_R) ], [ AC_MSG_RESULT(unrecognised) ]) @@ -868,9 +589,9 @@ 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 make these checks generic, e.g.: dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt)) -dnl (Moritz Barsnick ) +dnl (Moritz Barsnick ) dnl ================================================================= @@ -878,8 +599,7 @@ SOCKET_LIB= case "$host" in *-solaris*) SOCKET_LIB="-lsocket -lnsl" - AC_DEFINE(__EXTENSIONS__,1, - [Define to 1 on Solaris. Do not define on other platforms.]) + AC_DEFINE(__EXTENSIONS__) if test "$GCC" = "yes"; then # Set a GCC specific switch: # This compiler switch makes Solaris thread-safe @@ -900,9 +620,9 @@ 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 doesn't have it. ])) + AC_MSG_RESULT([no]) + AC_DEFINE(socklen_t,int, + [ Define to 'int' if doesn't have it. ])) dnl ================================================================= @@ -925,15 +645,6 @@ case "$host" in ;; esac -dnl ================================================================= -dnl Mac OSX specific -dnl ================================================================= - -case "$host" in -*-apple-darwin*) SPECIAL_CFLAGS="-Dunix" -;; -esac - dnl ================================================================= dnl OpenBSD specific dnl ================================================================= @@ -992,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 gethostbyname inet_ntoa localtime_r memchr memmove memset regcomp select setlocale socket strchr strdup strerror strftime strstr strtoul]) - +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. @@ -1021,190 +740,156 @@ 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 dnl ================================================================= -AC_DEFINE(__MT__,1, - [Always define this, for thread safety on some platforms.]) +AC_DEFINE(__MT__) dnl ================================================================= dnl Features dnl ================================================================= AC_ARG_ENABLE(toggle, -[ --disable-toggle Don't support temporary disable], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_TOGGLE,1, - [ Allow Privoxy to be "disabled" so it is just a normal non-blocking - non-anonymizing proxy. This is useful if you're trying to access a - blocked or broken site - just change the setting in the config file, - or use the handy "Disable" menu option in the Windows GUI. ]) -fi +[ --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], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_FORCE_LOAD,1, - [ Bypass filtering for 1 page only. ]) -fi +[ --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], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_FAST_REDIRECTS,1, - [ Locally redirect remote script-redirect URLs. ]) -fi - -AC_ARG_ENABLE(killpopup, -[ --disable-killpopup Never block popups], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_KILL_POPUPS,1, - [ Kills JavaScript popups - window.open, onunload, etc. ]) -fi +[ --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], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_STATISTICS,1, - [ Enables statistics function. ]) -fi - -AC_ARG_ENABLE(activity-console, -[ --enable-activity-console Gather and send extended statistics to the activity console], -[enableval2=$enableval], -[enableval2=no]) -if test $enableval2 = yes; then - ACTIVITY_ONLY= - AC_DEFINE(FEATURE_ACTIVITY_CONSOLE,1, - [ Enables sending statistics to the activity console. This is currently - experimental, and will require some porting work for a few more platforms. ]) - else - ACTIVITY_ONLY=# -fi -AC_SUBST(ACTIVITY_ONLY) +[ --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 Don't auto-detect whether a request from MS Internet - Explorer is for an image or HTML.], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE,1, - [ Detect image requests automatically for MSIE. Will fall back to - other image-detection methods (i.e. ´´+image´´ action) for other - browsers. - - You must also define FEATURE_IMAGE_BLOCKING to use this feature. - - It detects the following header pair as an image request: - ´´User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)´´, - ´´Accept: * / *´´. - - And the following as a HTML request: - User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0), - Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *. - - And no, I haven't got that backwards - IE is being wierd. - - Known limitations: - 1) If you press shift-reload on a blocked HTML page, you get - the image blocked page, not the HTML ´´blocked´´ page. - 2) Once an image ´´blocked´´ page has been sent, viewing it - in it's own browser window *should* bring up the HTML - ´´blocked´´ page, but it doesn't. You need to clear the - browser cache to get the HTML version again. - - These limitations are due to IE making inconsistent choices - about which ´´Accept:´´ header to send. ]) -fi +[ --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.], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_IMAGE_BLOCKING,1, - [ Allow blocking using images as well as HTML. - If you do not define this then everything is blocked as HTML. - Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE. ]) -fi +[ --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.], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_ACL,1, - [ Define to 1 to allow the use of an ACL to control access to the proxy by IP address. ]) -fi +[ --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.], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_TRUST,1, - [ Define to 1 to allow the use of trust files. ]) -fi - -AC_ARG_ENABLE(jar-files, -[ --disable-jar-files Prevents the use of jar files to capture cookies.], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_COOKIE_JAR,1, - [ Define to 1 to allow the user to capture cookies. ]) -fi +[ --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.], -[enableval2=$enableval], -[enableval2=yes]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS,1, - [ Define to 1 to enable the web-based configuration (actions file) editor. - If you have a shared proxy, you might want to turn this off. ]) -fi +[ --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.], -[enableval2=$enableval], -[enableval2=no]) -if test $enableval2 = yes; then - AC_DEFINE(FEATURE_NO_GIFS,1, - [ Define to 1 to use PNG instead of GIF for built-in images. ]) -fi +[ --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 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: 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 @@ -1217,146 +902,40 @@ 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,1, - [Define to 1 if PCRE should be statically built in instead of linking - with libpcre. - (This is determined by configure depending on the availiability of - libpcre and user preferences). The name is ugly, but pcre needs it. - Don't try to change this here! Use configure instead.]) + 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(STATIC_PCRS,1, - [Define to 1 if PCRS should be statically built in instead of linking - with libpcrs. - (This is determined by configure depending on the availiability of - libpcrs and user preferences). - Don't try to change this here! Use configure instead.]) - STATIC_PCRS_ONLY= -fi - -AC_SUBST(STATIC_PCRE_ONLY) -AC_SUBST(STATIC_PCRS_ONLY) - -dnl ================================================================= -dnl DocBook stuff -dnl ================================================================= - -AC_ARG_WITH(docbook, dnl - --with-docbook= - Set the location of the dsssl stylesheet - (default = search),[dnl -DKPREFIX=$withval -]) - -dnl Check for jade, so we can build the documentation -dnl Openjade is preferred according to docs, but jade -dnl is *much* faster. -AC_CHECK_PROGS(JADEBIN,jade openjade,false) -AC_SUBST(JADEBIN) - -dnl Checking for the docbook.dsl stylesheet file -dnl It is still not portable (directory slash) -dnl ^ Why not? All systems use / don't they? -dnl Windows certainly can. Is this a Mac or -dnl Amiga issue? -- Jon /dsssl/docbook/html/docbook.dsl -DKPREFIXCOPY=$DKPREFIX -DKPREFIX=false -for i in $DKPREFIXCOPY /usr/share/sgml/docbook/stylesheet/dsssl/modular \ - /usr/share/sgml/docbook/dsssl-stylesheets /usr/share/sgml/docbkdsl \ - /usr/share/sgml/docbook-dsssl; 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 -AC_SUBST(DKPREFIX) - -JADECAT="" -dnl where are the catalogs? -for i in /usr/share/sgml/CATALOG.docbk30 \ - /usr/share/sgml/CATALOG.docbk31; 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 -AC_SUBST(JADECAT) - -dnl NOT USED? -dnl DB2HTML=false -dnl AC_ARG_WITH(db2html, dnl -dnl --with-db2html= -dnl Set the location of the docbook to html converter -dnl (default = search),[dnl -dnl DB2HTML=$withval -dnl ]) -dnl if ! test -x $DB2HTML; then -dnl DB2HTML="" -dnl fi -dnl -dnl Check for a docbook -> HTML converter -dnl AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false) -dnl AC_SUBST(DB2HTML) - -dnl Check for a text browser that supports -dump -AC_CHECK_PROGS(WDUMP,w3m lynx links,false) -AC_SUBST(WDUMP) +AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE) -dnl Check for man2html for docs. -AC_CHECK_PROGS(MAN2HTML,man2html,false) -AC_SUBST(MAN2HTML) - -dnl Set doc status, used for conditional content inclusions -DOC_STATUS="" -if test $CODE_STATUS = alpha; then - DOC_STATUS="-ip-alpha -ip-not-stable" -fi -if test $CODE_STATUS = beta; then - DOC_STATUS="-ip-beta -ip-not-stable" +if test $have_pthread = "yes" -o $target_type = "mingw"; then + echo Enabling connection-sharing support. + AC_DEFINE(FEATURE_CONNECTION_SHARING) fi -if test $CODE_STATUS = stable; then - DOC_STATUS="-ip-stable" -fi -echo "checking for doc status flags... $DOC_STATUS" -AC_SUBST(DOC_STATUS) -dnl ================================================================= -dnl RPM stuff -dnl ================================================================= - -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 ================================================= +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 @@ -1369,5 +948,4 @@ AC_SUBST(SPECIAL_CFLAGS) AC_SUBST(PTHREAD_LIB) -AC_OUTPUT(GNUmakefile doc/source/ldp.dsl doc/source/GNUmakefile) - +AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)