Remove kill-popups action.
[privoxy.git] / configure.in
index 172168d..dbd2ec2 100644 (file)
@@ -1,9 +1,9 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl 
-dnl $Id: configure.in,v 1.13 2001/07/29 17:09:17 jongfoster Exp $
+dnl $Id: configure.in,v 1.111 2008/02/03 14:40:47 fabiankeil Exp $
 dnl 
-dnl Written by and Copyright (C) 2001 the SourceForge
-dnl IJBSWA team.  http://ijbswa.sourceforge.net
+dnl Written by and Copyright (C) 2001 - 2007 the SourceForge
+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 
@@ -28,6 +28,355 @@ 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.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
@@ -165,22 +514,58 @@ dnl =================================================================
 dnl AutoConf Initialization
 dnl =================================================================
 
-AC_REVISION($Revision: 1.13 $)
+AC_REVISION($Revision: 1.111 $)
 AC_INIT(jcc.c)
-AC_CONFIG_HEADER(config.h)
 
+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=2
-VERSION_MINOR=9
-VERSION_POINT=8
-CODE_STATUS="\"alpha\""
+VERSION_MAJOR=3
+VERSION_MINOR=0
+VERSION_POINT=9
+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
@@ -189,26 +574,161 @@ 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})
-
+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
-dnl AC_PROG_CXX
-dnl AC_PROG_INSTALL
-dnl AC_PROG_LN_S
-dnl AC_PROG_MAKE_SET
-dnl RANLIB is for PCRE:
-dnl AC_PROG_RANLIB
+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 =================================================================
@@ -237,12 +757,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])
@@ -265,6 +796,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"
@@ -284,7 +899,7 @@ 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
   have_pthread=no
@@ -297,11 +912,17 @@ if test $have_pthread = yes; then
   if test "$GCC" = "yes"; then
     # Set a GCC specific switch:
     if test "$target_type" = "unix"; then
-      # This compiler switch makes Linux thread-safe
-      # Don't know about other OS's?  Is this switch
-      # supported?
-      PTHREAD_LIB=
-      SPECIAL_CFLAGS="-pthread"
+      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
@@ -311,18 +932,151 @@ 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 =================================================================
 
-AC_CANONICAL_HOST
 
-SOLARIS_ONLY=#
+SOCKET_LIB=
 
 case "$host" in
-*-solaris*) SOLARIS_ONLY=
+*-solaris*) SOCKET_LIB="-lsocket -lnsl"
             AC_DEFINE(__EXTENSIONS__)
             if test "$GCC" = "yes"; then
               # Set a GCC specific switch:
@@ -336,7 +1090,60 @@ case "$host" in
 ;;
 esac
 
-AC_SUBST(SOLARIS_ONLY)
+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
@@ -345,18 +1152,36 @@ 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_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 putenv random regcomp select setlocale snprintf socket strchr strdup strerror strftime strlcat strlcpy strptime strstr strtoul timegm tzset])
 
 
 dnl =================================================================
@@ -364,10 +1189,37 @@ 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.
-AC_CHECK_LIB(pcre, pcre_compile, [AC_CHECK_HEADER(pcre.h, [have_pcre=yes], [have_pcre=no])], [have_pcre=no])
-AC_CHECK_LIB(pcreposix, regcomp, [AC_CHECK_HEADER(pcreposix.h, [have_pcreposix=yes], [have_pcreposix=no])], [have_pcreposix=no], -lpcre)
-AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no])
-
+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
@@ -380,124 +1232,132 @@ 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(gzip,
-[  --disable-gzip          Block gzip'ed transfer of documents.  Note that
-                          this is required if you want content modification
-                          even with gzip-supporting servers.],
-[if test $enableval = "no"; then
-  AC_DEFINE(FEATURE_DENY_GZIP)
-fi])
-
 AC_ARG_ENABLE(force,
-[  --disable-force         Don't allow blockfile to be bypassed],
+[  --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,
-[  --disable-ie-images     Don't auto-detect whether a request from MS Internet
-                          Explorer is for an image or HTML.],
+[  --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_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.],
+[  --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.],
+[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])
+
 dnl pcre/pcrs is needed for CGI anyway, so
 dnl the choice is only between static and
 dnl dynamic:
 
-AC_ARG_ENABLE(regex-matching,
-[  --enable-regex-matching=pcre     Use perl-compatible regex for actionsfile
-                                   pattern matching (default)
-  --enable-regex-matching=gnu      Use gnu style regex for actionsfile pattern
-                                   matching (-> bigger binary)
-  --disable-regex-matching         Don't use regex matching, compare URL
-                                   prefix instead (won't shrink birary)],
-[ regex_matching=$enableval ],
-[ regex_matching=pcre ])
-
 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 ])
-
-
-# Is the regex URL matching based on libpcreposix, but we
-# don't have that library?
-#
-if test $have_pcreposix = "yes" -o $regex_matching != "pcre"; then
-  dont_miss_pcreposix=yes
-else
-  dont_miss_pcreposix=no
+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,
+[  --enable-zlib                   Use an external zlib library to allow decompressing
+                                  data on the fly.],
+[enableval2=$enableval],
+[enableval2=no])
+if test $enableval2 = yes; then
+  AC_CHECK_LIB(z, zlibVersion, , [
+    AC_MSG_ERROR([Unable to find a copy of zlib. The zlib library
+is necessary to enable compresion support. ])
+  ]) 
+  AC_DEFINE(FEATURE_ZLIB,1,
+    [ Define to 1 to use compression through the zlib library. ])
 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" -a $dont_miss_pcreposix = "yes"; then
+if test $have_pcre = "yes"; then
   echo "using libpcre"
   pcre_dyn=yes
   STATIC_PCRE_ONLY=#
-  LIBS="$LIBS -lpcre"
+  LIBS="$LIBS -lpcre -lpcreposix"
 else
   echo "using built-in static pcre"
   pcre_dyn=no
@@ -505,44 +1365,24 @@ else
   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
+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
   echo "using built-in static pcrs"
   AC_DEFINE(STATIC_PCRS)
   STATIC_PCRS_ONLY=
-fi
+dnl fi
 
-# Which method should be used for URL matching?
-# pcre, gnu regex or prefix matching?
-#
-if test $regex_matching = "gnu"; then
-  echo "using gnu regex for URL matching"
-  AC_DEFINE(REGEX_GNU)
-  GNU_REGEX_ONLY=
-  PCRE_REGEX_ONLY=#
-elif test $regex_matching = "pcre"; then
-  echo "using pcre regex for URL matching"
-  AC_DEFINE(REGEX_PCRE)
-  GNU_REGEX_ONLY=#
-  PCRE_REGEX_ONLY=
-  if test $pcre_dyn = "yes"; then
-    LIBS="$LIBS -lpcreposix"
-  fi
-else
-  echo -e "using prefix matching for URLs\nHint: This does NOT make the executable any smaller!"
-  GNU_REGEX_ONLY=#
-  PCRE_REGEX_ONLY=#
-fi
-
-AC_SUBST(GNU_REGEX_ONLY)
-AC_SUBST(PCRE_REGEX_ONLY)
 AC_SUBST(STATIC_PCRE_ONLY)
 AC_SUBST(STATIC_PCRS_ONLY)
 
@@ -557,5 +1397,4 @@ AC_SUBST(SPECIAL_CFLAGS)
 
 AC_SUBST(PTHREAD_LIB)
 
-AC_OUTPUT(Makefile)
-
+AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)