1 dnl Process this file with autoconf to produce a configure script.
3 dnl $Id: configure.in,v 1.127 2009/03/25 17:26:31 fabiankeil Exp $
5 dnl Written by and Copyright (C) 2001-2009 the
6 dnl Privoxy team. http://www.privoxy.org/
8 dnl Based on the Internet Junkbuster originally written
9 dnl by and Copyright (C) 1997 Anonymous Coders and
10 dnl Junkbusters Corporation. http://www.junkbusters.com
12 dnl This program is free software; you can redistribute it
13 dnl and/or modify it under the terms of the GNU General
14 dnl Public License as published by the Free Software
15 dnl Foundation; either version 2 of the License, or (at
16 dnl your option) any later version.
18 dnl This program is distributed in the hope that it will
19 dnl be useful, but WITHOUT ANY WARRANTY; without even the
20 dnl implied warranty of MERCHANTABILITY or FITNESS FOR A
21 dnl PARTICULAR PURPOSE. See the GNU General Public
22 dnl License for more details.
24 dnl The GNU General Public License should be included with
25 dnl this file. If not, you can view it at
26 dnl http://www.gnu.org/copyleft/gpl.html
27 dnl or write to the Free Software Foundation, Inc., 59
28 dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA.
30 dnl $Log: configure.in,v $
31 dnl Revision 1.127 2009/03/25 17:26:31 fabiankeil
32 dnl And they are running again. Bump version to 3.0.13 UNRELEASED.
34 dnl Revision 1.126 2009/03/21 10:45:06 fabiankeil
35 dnl Declare the code stable.
37 dnl Revision 1.125 2009/02/25 16:58:03 fabiankeil
38 dnl And the journey continues. Bump version to 3.0.12 UNRELEASED.
40 dnl Revision 1.124 2009/02/12 15:42:00 fabiankeil
41 dnl Declare the code stable.
43 dnl Revision 1.123 2009/02/06 18:17:32 fabiankeil
44 dnl Boldly enable keep-alive support where possible.
46 dnl Revision 1.122 2008/10/18 11:17:52 fabiankeil
47 dnl Connection keep-alive support is ready for testing,
48 dnl allow enabling it through the configure script.
50 dnl Revision 1.121 2008/08/30 12:03:07 fabiankeil
51 dnl Remove FEATURE_COOKIE_JAR.
53 dnl Revision 1.120 2008/08/21 17:19:50 fabiankeil
54 dnl Change version to 3.0.11 UNRELEASED.
56 dnl Revision 1.119 2008/08/13 16:53:50 fabiankeil
57 dnl Change version to 3.0.10 stable.
59 dnl Revision 1.118 2008/06/27 12:50:44 fabiankeil
60 dnl Here's looking at you, Gentoo Linux: Show a warning if
61 dnl --disable-pthread is used even though pthreads are available.
63 dnl Revision 1.117 2008/06/14 12:47:30 fabiankeil
64 dnl Set CODE_STATUS to beta.
66 dnl Revision 1.116 2008/06/08 11:55:09 fabiankeil
67 dnl - Show a warning if the soon-to-be-removed static PCRE code is used.
68 dnl - Hide the "using built-in static pcrs" message. With dynamic linking
69 dnl against PCRS disabled, the message isn't particularly useful.
71 dnl Revision 1.115 2008/05/25 15:50:14 fabiankeil
72 dnl Try to use zlib by default, but just show a warning if it's
73 dnl unavailable. Remove --enable-zlib, add --disable-zlib.
75 dnl Revision 1.114 2008/04/06 15:18:33 fabiankeil
76 dnl Oh well, rename the --enable-pcre-host-patterns option to
77 dnl --enable-extended-host-patterns as it's not really PCRE syntax.
79 dnl Revision 1.113 2008/04/06 14:54:26 fabiankeil
80 dnl Use PCRE syntax in host patterns when configured
81 dnl with --enable-pcre-host-patterns.
83 dnl Revision 1.112 2008/03/27 18:27:22 fabiankeil
84 dnl Remove kill-popups action.
86 dnl Revision 1.111 2008/02/03 14:40:47 fabiankeil
87 dnl Remove unused OSX_DARWIN macro. Reported by Mark Miller in #1852529.
89 dnl Revision 1.110 2008/01/26 10:52:13 fabiankeil
90 dnl Change version to 3.0.9 UNRELEASED.
92 dnl Revision 1.109 2008/01/20 14:07:09 fabiankeil
93 dnl Set CODE_STATUS to stable.
95 dnl Revision 1.108 2007/12/10 02:30:00 hal9
96 dnl Change versioning for > 3.0.7 && < 3.0.8
98 dnl Revision 1.107 2007/11/15 02:50:14 hal9
99 dnl Setting to "beta" (for doc builds, etc).
101 dnl Revision 1.106 2007/05/11 11:49:41 fabiankeil
102 dnl Check for strlcat().
104 dnl Revision 1.105 2007/04/09 17:34:58 fabiankeil
105 dnl Check for snprintf().
107 dnl Revision 1.104 2007/03/31 13:35:11 fabiankeil
108 dnl Add checks for gettimeofday() and strlcpy().
110 dnl Revision 1.103 2007/01/20 16:29:38 fabiankeil
111 dnl Suppress edit buttons for action files if Privoxy has
112 dnl no write access. Suggested by Roland in PR 1564026.
114 dnl Revision 1.102 2007/01/18 14:55:45 fabiankeil
115 dnl Check for tzset() and putenv() to make sure the
116 dnl replacement timegm() isn't included on systems
117 dnl where it fails to compile.
119 dnl Revision 1.101 2007/01/12 15:20:17 fabiankeil
120 dnl Temporarily ignore external libpcrs to prevent
121 dnl problems that are fixed in Privoxy's own version.
123 dnl Revision 1.100 2007/01/07 07:38:10 joergs
124 dnl Disabled -pipe for AmigaOS4.
126 dnl Revision 1.99 2007/01/01 19:36:37 fabiankeil
127 dnl Integrate a modified version of Wil Mahan's
128 dnl zlib patch (PR #895531).
130 dnl Revision 1.98 2006/12/17 19:15:26 fabiankeil
131 dnl Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
133 dnl Revision 1.97 2006/11/21 18:32:46 hal9
134 dnl Setting version to 3.0.7 UNRELEASED for lack of a better setting.
136 dnl Revision 1.96 2006/11/18 14:42:51 fabiankeil
139 dnl Revision 1.95 2006/11/14 02:08:59 hal9
140 dnl Setting version string to 3.0.6 UNRELEASED. This needs to be reset to 3.0.6
141 dnl stable just before CVS is tagged for release.
143 dnl Revision 1.94 2006/11/13 19:05:50 fabiankeil
144 dnl Make pthread mutex locking more generic. Instead of
145 dnl checking for OSX and OpenBSD, check for FEATURE_PTHREAD
146 dnl and use mutex locking unless there is an _r function
147 dnl available. Better safe than sorry.
149 dnl Fixes "./configure --disable-pthread" and should result
150 dnl in less threading-related problems on pthread-using platforms,
151 dnl but it still doesn't fix BR#1122404.
153 dnl Revision 1.93 2006/09/22 01:26:20 hal9
154 dnl Set version to 3.0.5 BETA for hopefully release this weekend.
156 dnl Revision 1.92 2006/08/17 17:09:49 fabiankeil
157 dnl Added check for timegm().
159 dnl Revision 1.91 2006/08/13 22:01:51 fabiankeil
160 dnl Added checks for strptime() and random()
162 dnl Revision 1.90 2006/07/18 14:48:45 david__schmidt
163 dnl Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
164 dnl with what was really the latest development (the v_3_0_branch branch)
166 dnl Revision 1.68.2.20 2004/01/31 16:31:46 oes
167 dnl Resetting version info to 0.0.0 UNRELEASED
169 dnl Revision 1.68.2.19 2004/01/30 09:26:03 oes
170 dnl Added docbook paths for debian sarge; set status for release
172 dnl Revision 1.68.2.18 2003/12/08 15:10:29 oes
173 dnl Bugfix: --with-docbook now correctly accepts its path parameter. Thanks, Roland!
175 dnl Revision 1.68.2.17 2003/10/18 18:41:26 david__schmidt
176 dnl Update to remain buildable on OS/2 - remove the failures
177 dnl due to missing unixisms
179 dnl Revision 1.68.2.16 2003/03/26 16:05:14 oes
180 dnl Marked as 0.0.0 UNRELEASED
182 dnl Revision 1.68.2.15 2003/03/26 00:25:00 oes
183 dnl Bump version for 3.0.2
185 dnl Revision 1.68.2.14 2003/03/25 13:27:12 hal9
186 dnl Manually apply Docbook/FreeBSD patch #708081 from a.go at tiscali.nl.
188 dnl Revision 1.68.2.13 2003/03/18 19:38:57 oes
189 dnl Set version info for 3.0.1 release
191 dnl Revision 1.68.2.12 2003/03/07 03:41:04 david__schmidt
192 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.
194 dnl Revision 1.68.2.11 2003/03/06 15:22:37 oes
195 dnl Fixed minor shell syntax bug
197 dnl Revision 1.68.2.10 2003/01/08 16:39:41 oes
198 dnl Changing default to exclude FEATURE_IMAGE_DETECT_MSIE because of problem reports with recent IEs
200 dnl Revision 1.68.2.9 2002/12/13 23:47:45 hal9
201 dnl Add openbsd $specialflags per gunner at styx2002.no-ip.org
203 dnl Revision 1.68.2.8 2002/11/27 12:55:26 oes
204 dnl Fixed broken handling of pre-set CFLAGS
206 dnl Revision 1.68.2.7 2002/10/25 02:44:22 hal9
207 dnl Port of make install, etc from main trunk. Needs testing! Add Slackware
208 dnl support, and other related changes. Update related docs.
210 dnl Revision 1.68.2.6 2002/09/25 15:35:15 oes
211 dnl Marking as non-release
213 dnl Revision 1.68.2.5 2002/08/25 23:37:00 hal9
214 dnl Getting ready for 3.0 release.
216 dnl Revision 1.68.2.4 2002/08/10 11:21:57 oes
217 dnl - Set Version to 2.9.20 (beta)
218 dnl - Add two AC_DEFINEs that indicate if the pcre*.h headers
219 dnl are located in a pcre/ subdir to the include path.
221 dnl Revision 1.68.2.3 2002/08/06 11:29:36 oes
222 dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH
224 dnl Revision 1.68.2.2 2002/07/30 19:36:09 hal9
225 dnl Bump version to 2.9.17.
227 dnl Revision 1.68.2.1 2002/07/26 15:21:12 oes
228 dnl Bumped version number for 2.9.16 freeze
230 dnl Revision 1.68 2002/05/25 16:54:54 jongfoster
231 dnl Detect if the compiler supports -pthread.
232 dnl Hopefully this will fix bug 560442. (I don't have a HP PA-RISC
233 dnl machine to test this!)
235 dnl Revision 1.67 2002/05/03 14:33:59 oes
236 dnl Generate doc/soucre/ldp.dsl
238 dnl Revision 1.66 2002/05/03 00:41:56 oes
239 dnl Set version to 2.9.15 to comply with new versioning scheme
241 dnl Revision 1.65 2002/04/25 19:13:57 morcego
242 dnl Removed RPM release number declaration on configure.in
243 dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading
244 dnl targets (will produce an error, explaining who to do it, if no value
247 dnl Revision 1.64 2002/04/22 16:32:31 morcego
248 dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2)
249 dnl -rh.spec: uid and gid are now macros
250 dnl -suse.spec: Changing the header Copyright to License (Copyright is
253 dnl Revision 1.63 2002/04/11 11:00:21 oes
254 dnl Applied Moritz' fix for socklen_t on Solaris
256 dnl Revision 1.62 2002/04/11 10:09:20 oes
259 dnl Revision 1.61 2002/04/10 18:14:45 morcego
260 dnl - (privoxy-rh.spec only) Relisting template files on the %%files section
261 dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5
263 dnl Revision 1.60 2002/04/09 16:38:49 oes
264 dnl Added detection of missing config.h.in
266 dnl Revision 1.59 2002/04/06 20:23:55 jongfoster
267 dnl Removing unnessacery tests (C++, ranlib)
269 dnl Revision 1.58 2002/04/04 20:49:20 swa
270 dnl attempt to consolidate the
271 dnl different dokbook versions.
273 dnl Revision 1.57 2002/04/04 00:36:36 gliptak
274 dnl always use pcre for matching
276 dnl Revision 1.56 2002/04/03 22:28:03 gliptak
277 dnl Removed references to gnu_regex
279 dnl Revision 1.55 2002/04/03 03:54:38 gliptak
280 dnl Checking pcre version
282 dnl Revision 1.54 2002/04/01 00:54:24 gliptak
283 dnl More changes needed around regex support.
285 dnl Revision 1.53 2002/03/29 20:09:01 swa
288 dnl Revision 1.52 2002/03/29 19:51:40 gliptak
289 dnl Correcting compile problem with Debian
291 dnl Revision 1.51 2002/03/28 20:43:00 swa
292 dnl set make correctly
294 dnl Revision 1.50 2002/03/27 03:03:45 hal9
295 dnl Add test for man2html
297 dnl Revision 1.49 2002/03/27 02:19:52 david__schmidt
298 dnl More Mac OSX support:
299 dnl - Get rid of extraneous, noisy -pthread warnings
300 dnl - Define unix so we get oes' unix-tagged changes
302 dnl Revision 1.48 2002/03/26 22:29:54 swa
303 dnl we have a new homepage!
305 dnl Revision 1.47 2002/03/26 16:41:00 hal9
306 dnl Upped RPM Release to 3 (need to build new RH packages)
308 dnl Revision 1.46 2002/03/24 18:55:06 jongfoster
309 dnl Making Docbook work under Windows
311 dnl Revision 1.45 2002/03/24 14:19:55 swa
312 dnl set rpm package release in configure.in. nowhere else.
314 dnl Revision 1.44 2002/03/24 13:25:43 swa
315 dnl name change related issues
317 dnl Revision 1.43 2002/03/24 12:56:21 swa
318 dnl name change related issues.
320 dnl Revision 1.42 2002/03/22 18:11:37 jongfoster
321 dnl Bumping version number to 2.9.12
323 dnl Revision 1.41 2002/03/19 19:30:04 morcego
324 dnl - Fixing stylesheet checking on configure. If it is found, no further checks
327 dnl - configure will now check for db2html or docbook2html (should work now
328 dnl on SuSe without the docbktls package)
330 dnl Revision 1.40 2002/03/09 14:33:30 oes
331 dnl Fixing the (harmless) AC_CHECK_FILE warnings
333 dnl Revision 1.39 2002/03/08 16:46:13 oes
334 dnl Added --enable-no-gifs
336 dnl Revision 1.38 2002/03/08 14:13:50 morcego
337 dnl Fixing configure, to remove a command not found error.
339 dnl Revision 1.37 2002/03/08 12:58:21 oes
340 dnl Tiny bugfix in AC_ARG_WITH(debug)
342 dnl Revision 1.36 2002/03/06 23:50:36 morcego
343 dnl Will not test for a text browser if we are not using docbook.
345 dnl Revision 1.35 2002/03/06 21:55:52 morcego
346 dnl New configure option: --with-docbook=(yes|no|directory)
347 dnl Preliminary new platform detection code included. Will work with the
348 dnl old one for now. No use just trowing it away
350 dnl Revision 1.34 2002/03/06 20:57:00 morcego
351 dnl Fixing detection of stylesheets on SuSe.
353 dnl Revision 1.33 2002/03/05 17:31:11 morcego
354 dnl Search for docbook.dsl. Should solve portability problems for SuSe.
356 dnl Revision 1.32 2002/03/05 14:07:43 morcego
357 dnl configure now detects rpm topdir, and change GNUmakefile acordingly
358 dnl (based on sugestion by Sarantis Paskalis)
360 dnl Revision 1.31 2002/03/05 13:43:28 morcego
361 dnl Checking for text browser, so redhat-dok can work.
363 dnl Revision 1.30 2002/03/04 17:58:01 oes
364 dnl Deleted _DEBUG and PID_FILE_PATH
366 dnl Revision 1.29 2002/02/28 14:20:53 oes
367 dnl Fixed detection of gethost*_r functions on Solaris
369 dnl Revision 1.28 2002/02/27 15:02:38 oes
370 dnl Incremented version number
372 dnl Revision 1.27 2002/01/10 12:35:18 oes
373 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
374 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
375 dnl Is there a better way?
377 dnl Revision 1.26 2002/01/09 14:29:49 oes
378 dnl - Added AC_CHECK_FUNC tests for the availability of
379 dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and
380 dnl localtime_r, as well as AC_TRY_COMPILE tests to
381 dnl determine their signatures.
383 dnl - Fixed a bug with the init of CFLAGS that was
384 dnl reported by barsnick
386 dnl Revision 1.25 2002/01/04 15:27:18 oes
387 dnl Changed quoting of CODE_STATUS for use in make
389 dnl Revision 1.24 2001/12/30 14:07:31 steudten
390 dnl - Add signal handling (unix)
391 dnl - Add SIGHUP handler (unix)
392 dnl - Add creation of pidfile (unix)
393 dnl - Add action 'top' in rc file (RH)
394 dnl - Add entry 'SIGNALS' to manpage
395 dnl - Add exit message to logfile (unix)
397 dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt
398 dnl Change from "alpha" to "beta" in configure.in
400 dnl Revision 1.22 2001/12/01 11:24:01 jongfoster
401 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
402 dnl make break in a more obvious way.
404 dnl Revision 1.21 2001/11/30 21:35:54 jongfoster
405 dnl Bumping version number to 2.9.10
407 dnl Revision 1.20 2001/10/23 21:24:09 jongfoster
408 dnl Support for FEATURE_CGI_EDIT_ACTIONS
410 dnl Revision 1.19 2001/10/07 15:33:14 oes
411 dnl Removed FEATURE_DENY_GZIP
412 dnl Bumped up version number
414 dnl Revision 1.18 2001/09/13 13:10:24 steudten
416 dnl PreWork for Debug Interface.
417 dnl Add new option "--with-debug" to enable debugging (flags aso.)
419 dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt
420 dnl Mac OSX (Darwin) support added.
422 dnl Revision 1.16 2001/09/12 22:55:45 joergs
423 dnl AmigaOS support added.
425 dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt
427 dnl OS/2 port: update autoconf'd support for the platform.
429 dnl Revision 1.14 2001/07/30 22:12:11 jongfoster
430 dnl Fixing Solaris build (I hope) and tidying up #defines:
431 dnl - All feature #defines are now of the form FEATURE_xxx
432 dnl - Permanently turned off WIN_GUI_EDIT
433 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
435 dnl Revision 1.13 2001/07/29 17:09:17 jongfoster
436 dnl Major changes to build system in order to fix these bugs:
437 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
438 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
439 dnl which shared libraries are available
440 dnl - Solaris support (?) (Not tested under Solaris yet)
442 dnl Revision 1.12 2001/07/25 19:16:27 oes
443 dnl Bumping version number to 2.9.8
445 dnl Revision 1.11 2001/07/21 18:00:07 jongfoster
446 dnl Bumping version number to 2.9.7
448 dnl Revision 1.10 2001/07/18 17:25:04 oes
451 dnl Revision 1.9 2001/07/15 19:45:13 jongfoster
452 dnl Added support for linking with POSIX threads library
454 dnl Revision 1.8 2001/07/15 17:54:29 jongfoster
455 dnl Renaming #define STATIC to STATIC_PCRE
456 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
457 dnl POSIX threads support.
459 dnl Revision 1.7 2001/07/13 13:58:05 oes
460 dnl Completely reorganized the selection scheme for
461 dnl pcre, pcreposix, pcrs and gnu_regex:
463 dnl The presence of shared pcre, pcreposix or pcrs
464 dnl libraried is now autodetected. Additionally, the
465 dnl user can enforce using the built-in static variants
466 dnl by specifying --disable-dynamic-(pcre|pcrs).
467 dnl Care is taken to avoid that pcre is dyn, while pcreposix
468 dnl is static, if both are used and that pcrs is static if
471 dnl The choice between pcre, gnu or no regex for actionsfile
472 dnl URL matching is now via
473 dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
474 dnl default being pcre.
476 dnl Revision 1.6 2001/06/29 21:56:40 oes
479 dnl Revision 1.5 2001/06/29 13:26:27 oes
480 dnl Introduced #define CODE_STATUS
482 dnl Revision 1.4 2001/05/29 09:50:24 jongfoster
483 dnl Unified blocklist/imagelist/permissionslist.
484 dnl File format is still under discussion, but the internal changes
485 dnl are (mostly) done.
487 dnl Also modified interceptor behaviour:
488 dnl - We now intercept all URLs beginning with one of the following
489 dnl prefixes (and *only* these prefixes):
491 dnl * http://ijbswa.sf.net/config/
492 dnl * http://ijbswa.sourceforge.net/config/
493 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
494 dnl - Internal changes so that intercepted and fast redirect pages
495 dnl are not replaced with an image.
496 dnl - Interceptors now have the option to send a binary page direct
497 dnl to the client. (i.e. ijb-send-banner uses this)
498 dnl - Implemented show-url-info interceptor. (Which is why I needed
499 dnl the above interceptors changes - a typical URL is
500 dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
501 dnl The previous mechanism would not have intercepted that, and
502 dnl if it had been intercepted then it then it would have replaced
503 dnl it with an image.)
505 dnl Revision 1.3 2001/05/22 18:46:04 oes
507 dnl - Enabled filtering banners by size rather than URL
508 dnl by adding patterns that replace all standard banner
509 dnl sizes with the "Junkbuster" gif to the re_filterfile
511 dnl - Enabled filtering WebBugs by providing a pattern
512 dnl which kills all 1x1 images
514 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
515 dnl which is selected by the (nonstandard and therefore
516 dnl capital) letter 'U' in the option string.
517 dnl It causes the quantifiers to be ungreedy by default.
518 dnl Appending a ? turns back to greedy (!).
520 dnl - Added a new interceptor ijb-send-banner, which
521 dnl sends back the "Junkbuster" gif. Without imagelist or
522 dnl MSIE detection support, or if tinygif = 1, or the
523 dnl URL isn't recognized as an imageurl, a lame HTML
524 dnl explanation is sent instead.
526 dnl - Added new feature, which permits blocking remote
527 dnl script redirects and firing back a local redirect
529 dnl The feature is conditionally compiled, i.e. it
530 dnl can be disabled with --disable-fast-redirects,
531 dnl plus it must be activated by a "fast-redirects"
532 dnl line in the config file, has its own log level
533 dnl and of course wants to be displayed by show-proxy-args
534 dnl Note: Boy, all the #ifdefs in 1001 locations and
535 dnl all the fumbling with configure.in and acconfig.h
536 dnl were *way* more work than the feature itself :-(
538 dnl - Because a generic redirect template was needed for
539 dnl this, tinygif = 3 now uses the same.
541 dnl - Moved GIFs, and other static HTTP response templates
544 dnl - Some minor fixes
546 dnl - Removed some >400 CRs again (Jon, you really worked
549 dnl Revision 1.2 2001/05/20 01:21:20 jongfoster
550 dnl Version 2.9.4 checkin.
551 dnl - Merged popupfile and cookiefile, and added control over PCRS
552 dnl filtering, in new "permissionsfile".
553 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
554 dnl file error you now get a message box (in the Win32 GUI) rather
555 dnl than the program exiting with no explanation.
556 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
558 dnl - Removed tabs from "config"
559 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
560 dnl - Bumped up version number.
562 dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes
563 dnl Initial import of version 2.9.3 source tree
568 dnl =================================================================
569 dnl AutoConf Initialization
570 dnl =================================================================
572 AC_REVISION($Revision: 1.127 $)
575 if test ! -f config.h.in; then
576 echo "You need to run autoheader first. "
577 echo -n "Shall I do this for you now? (y/n) "
579 if test "$answer" != "y"; then
586 AC_CONFIG_HEADER([config.h])
591 AC_ARG_WITH(docbook, dnl
592 --with-docbook=[[yes|no|directory]]
593 Enable docbook documentation creation
594 (default = yes, for gnu and linux),[dnl
595 case "$with_docbook" in
605 AC_ARG_WITH(db2html, dnl
606 --with-db2html=<path/executable>
607 Set the location of the docbook to html converter
608 (default = search),[dnl
612 dnl =================================================================
613 dnl Application version number
614 dnl =================================================================
619 CODE_STATUS="UNRELEASED"
621 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
622 dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
623 dnl whenever CVS in a stable branch differs from the last release.
625 dnl =================================================================
626 dnl Substitute the version numbers
627 dnl =================================================================
629 AC_SUBST(VERSION_MAJOR)
630 AC_SUBST(VERSION_MINOR)
631 AC_SUBST(VERSION_POINT)
632 AC_SUBST(CODE_STATUS)
635 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
636 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
637 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
638 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
639 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
641 dnl =================================================================
642 dnl Checks for programs needed to build.
643 dnl =================================================================
645 dnl Keep AC_PROG_CC from setting its own defaults:
646 if test "X$CFLAGS" = "X"; then
657 AC_CHECK_PROG(GDB,gdb,yes,no)
658 AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
659 AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
663 dnl =================================================================
664 dnl debug, gcc and gdb support
665 dnl =================================================================
668 [ --with-debug Enable debug mode],
670 if test "x$withval" != "xno" ; then
671 if test $ac_cv_prog_cc_g = yes; then
672 if test "$GCC" = yes; then
674 CFLAGS="$CFLAGS -ggdb"
678 CFLAGS="$CFLAGS -Wshadow -Wconversion"
686 if test "X$CFLAGS" = "X "; then # if CFLAGS were unset (see above)
687 if test "$GCC" = yes; then
694 dnl =================================================================
695 dnl Check for user and group validity
696 dnl =================================================================
699 if test "$EMXOS2" = yes; then
700 echo "Skipping user and group validity stuff.";
704 $ID privoxy >/dev/null 2>/dev/null
705 if test $? -ne 0 ; then
706 AC_MSG_WARN(There is no user 'privoxy' on this system)
708 AC_MSG_CHECKING([for user])
710 [ --with-user=privoxy Set user under which privoxy will run],
712 if test "x$withval" != "xyes"; then
713 if test $ID = no ; then
714 AC_MSG_ERROR(There is no 'id' program on this system)
716 AC_MSG_RESULT($with_user)
717 $ID $with_user 2>/dev/null >/dev/null
718 if test $? -eq 0 ; then
721 AC_MSG_ERROR(There is no user '$with_user' on this system)
725 AC_MSG_ERROR(We need a user if you give me this parameter)
729 if test $ID = no ; then
730 AC_MSG_ERROR(There is no 'id' programm on this system)
732 AC_MSG_RESULT(none specified)
739 AC_MSG_CHECKING([for group])
741 [ --with-group=privoxy Set group for privoxy],
743 if test "x$withval" != "xyes"; then
744 if test $BGROUPS = no ; then
745 AC_MSG_ERROR(There is no 'groups' program on this system)
747 AC_MSG_RESULT($with_group)
748 $BGROUPS $USER >/dev/null
749 if test $? -eq 0 ; then
750 # FIXME: this fails if valid group, but not first group
752 if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
753 AC_MSG_ERROR(The given value '$withval' does not match group entry)
758 AC_MSG_ERROR(There is no group entry for user '$USER')
762 AC_MSG_ERROR(We need a group if you give me this parameter)
766 if test $BGROUPS = no ; then
767 AC_MSG_ERROR(There is no 'groups' programm on this system)
769 AC_MSG_RESULT(none specified)
778 dnl =================================================================
779 dnl additional gcc flags
780 dnl =================================================================
783 if test "$host" != "powerpc-unknown-amigaos"; then
784 CFLAGS="-pipe $CFLAGS"
789 dnl =================================================================
791 dnl =================================================================
793 dnl Must do this first.
795 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
796 dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
797 dnl the compiler will use completely different sets of library
798 dnl and include files.
800 dnl =================================================================
805 if test "$MINGW32" = "yes"; then
808 if test "$CYGWIN" = "yes"; then
815 if test $dodk = auto; then
817 if test $target_type = unix; then
826 dnl Decide what to do based on target_type
827 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
828 dnl This is because we don't know yet whether pthread is enabled.
830 AC_ARG_ENABLE(mingw32,
831 [ --enable-mingw32 Use mingw32 for a Windows GUI],
832 [if test $enableval = yes; then
836 if test $target_type = mingw; then
838 SPECIAL_CFLAGS="-mwindows -mno-cygwin"
839 PTHREAD_LIB=-lpthreadGC
840 echo "Using mingw32 (Win32 GUI)"
843 if test $target_type = cygwin; then
844 SPECIAL_CFLAGS="-mno-win32"
846 echo "Using Cygnus (Win32 command line)"
849 PTHREAD_LIB=-lpthread
854 dnl Checking which text html browser we have avaliable
855 if test $dodk != no; then
856 AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
857 if test "$WDUMP" = false; then
858 AC_MSG_WARN(You need some kind of text browser to build documentation \(w3m, lynx and links are supported\))
860 if test $DB2HTML = false; then
861 dnl We need to clean the variable, otherwise AC_CHECK_PROGS
864 AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
870 dnl If we use rpm, we need to check where %_topdir is
871 AC_CHECK_PROGS(RPMBIN,rpm,false)
872 if test $RPMBIN != false; then
873 RPM_BASE=`rpm --eval "%{_topdir}"`
874 if test "$RPM_BASE" = ""; then
875 RPM_BASE=/usr/src/redhat
880 dnl Check for jade, so we can build the documentation
881 AC_CHECK_PROGS(JADEBIN,jade openjade,false)
884 dnl Check for man2html for docs.
885 AC_CHECK_PROGS(MAN2HTML,man2html,false)
888 dnl Set doc status flag for conditional content inclusions
889 DOC_STATUS=p-not-stable
890 if test $CODE_STATUS = stable; then
891 DOC_STATUS="p-stable"
895 dnl Checking for the docbook.dsl stylesheet file
896 dnl It is still not portable (directory slash)
898 if test $dodk = yes; then
899 if test $DKPREFIX = none; then
900 for i in /usr/share/sgml/docbook/dsssl-stylesheets \
901 /usr/share/sgml/docbkdsl /usr/share/sgml/docbook-dsssl \
902 /usr/local/share/sgml/docbook/dsssl/modular \
903 /usr/share/sgml/docbook/stylesheet/dsssl/modular/ \
905 dnl echo -n does not fly with /bin/sh.
906 dnl echo -n "checking for $i/html/docbook.dsl..."
907 AC_MSG_CHECKING([for $i])
908 if test -f $i/html/docbook.dsl; then
916 # where are the catalogs?
917 for i in /usr/share/sgml/CATALOG.docbk30 \
918 /usr/share/sgml/CATALOG.docbk31 \
919 /usr/share/sgml/CATALOG.docbk31 \
920 /usr/local/share/sgml/docbook/3.0/docbook.cat \
921 /usr/local/share/sgml/docbook/3.1/docbook.cat \
922 /usr/share/sgml/docbook/dtd/3.1/docbook.cat \
924 dnl echo -n "checking for $i..."
925 AC_MSG_CHECKING([for $i])
928 JADECAT="$JADECAT -c $i"
938 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
939 old_CFLAGS_nospecial=$CFLAGS
940 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
942 # Hack to force AutoConf to use the CFLAGS we just set
943 dnl Warning: This may break with a future version of Autoconf
944 dnl Tested with autoconf 2.13
945 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
946 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
947 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
950 dnl =================================================================
952 dnl =================================================================
954 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
956 AC_ARG_ENABLE(pthread,
957 [ --disable-pthread Don't use POSIX threads (pthreads)],
958 [if test $enableval = no; then
960 if test $have_pthread = yes; then
961 AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.])
962 AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.])
967 if test $have_pthread = yes; then
969 AC_DEFINE(FEATURE_PTHREAD)
970 echo Using POSIX threads
971 if test "$GCC" = "yes"; then
972 # Set a GCC specific switch:
973 if test "$target_type" = "unix"; then
974 ac_jgf_save_CFLAGS=$CFLAGS
975 CFLAGS="$CFLAGS -pthread"
976 AC_TRY_LINK([#include <pthread.h>],
977 [void *p = pthread_create;],
979 # This compiler switch makes GCC on Linux thread-safe
980 # However, it's not supported on most other OS.
982 SPECIAL_CFLAGS="-pthread"
984 CFLAGS=$ac_jgf_save_CFLAGS
989 echo Using native threads
992 AC_SUBST(PTHREAD_ONLY)
994 dnl =================================================================
995 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
996 dnl gmtime and localtime
997 dnl =================================================================
999 dnl Next line needed to find the gethost*_r functions on Solaris
1000 AC_CHECK_LIB(nsl, gethostbyname)
1002 AC_CHECK_FUNC(gethostbyaddr_r, [
1003 AC_MSG_CHECKING([signature of gethostbyaddr_r])
1007 struct hostent *h, *hp;
1010 (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
1012 AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
1013 AC_MSG_RESULT([8 args])
1021 (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
1023 AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
1024 AC_MSG_RESULT([7 args])
1029 struct hostent_data *d;
1033 (void) gethostbyaddr_r(a, l, t, h, d)
1035 AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
1036 AC_MSG_RESULT([5 args])
1038 AC_MSG_RESULT(unrecognised)
1046 AC_CHECK_FUNC(gethostbyname_r, [
1047 AC_MSG_CHECKING([signature of gethostbyname_r])
1051 struct hostent *h, *r;
1054 (void) gethostbyname_r(n, h, b, bl, &r, &e)
1056 AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
1057 AC_MSG_RESULT([6 args])
1065 (void) gethostbyname_r(n, h, b, bl, &e)
1067 AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
1068 AC_MSG_RESULT([5 args])
1073 struct hostent_data *d;
1076 (void) gethostbyname_r(n, h, d)
1078 AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
1079 AC_MSG_RESULT([3 args])
1081 AC_MSG_RESULT(unrecognised)
1089 AC_CHECK_FUNC(gmtime_r, [
1090 AC_MSG_CHECKING([signature of gmtime_r])
1096 (void) gmtime_r(t, tm)
1099 AC_DEFINE(HAVE_GMTIME_R)
1101 AC_MSG_RESULT(unrecognised)
1107 AC_CHECK_FUNC(localtime_r, [
1108 AC_MSG_CHECKING([signature of localtime_r])
1114 (void) localtime_r(t, tm)
1117 AC_DEFINE(HAVE_LOCALTIME_R)
1119 AC_MSG_RESULT(unrecognised)
1125 dnl =================================================================
1126 dnl Solaris specific
1127 dnl FIXME: Not tested on Solaris yet...
1128 dnl ISFIXED: Have tested it on Solaris, but there are other ways to
1129 dnl make these checks generic, e.g.:
1130 dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt))
1131 dnl (Moritz Barsnick <moritz@barsnick.net>)
1132 dnl =================================================================
1138 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
1139 AC_DEFINE(__EXTENSIONS__)
1140 if test "$GCC" = "yes"; then
1141 # Set a GCC specific switch:
1142 # This compiler switch makes Solaris thread-safe
1144 SPECIAL_CFLAGS="-pthreads"
1146 # What do we do without GCC? Guess this:
1147 SPECIAL_CFLAGS="-D_REENTRANT"
1152 AC_SUBST(SOCKET_LIB)
1154 dnl =================================================================
1155 dnl Solaris problem, and others perhaps (socklen_t is undefined)
1156 dnl =================================================================
1158 AC_MSG_CHECKING([for socklen_t])
1159 AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
1161 AC_DEFINE(socklen_t,int,
1162 [ Define to 'int' if <sys/socket.h> doesn't have it. ]))
1165 dnl =================================================================
1167 dnl =================================================================
1170 *-os2-emx*) SOCKET_LIB=-lsocket
1174 AC_SUBST(SOCKET_LIB)
1176 dnl =================================================================
1177 dnl Mac OSX specific
1178 dnl =================================================================
1181 *-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
1185 dnl =================================================================
1186 dnl OpenBSD specific
1187 dnl =================================================================
1190 *-openbsd*) SPECIAL_CFLAGS="$SPECIAL_CFLAGS -Dunix"
1194 dnl =================================================================
1195 dnl AmigaOS specific
1196 dnl =================================================================
1201 *-amigaos) AMIGAOS_ONLY=
1205 AC_SUBST(AMIGAOS_ONLY)
1207 dnl =================================================================
1208 dnl Check for standard compiler stuff
1209 dnl =================================================================
1220 AC_CHECK_SIZEOF(int, 4)
1221 AC_CHECK_SIZEOF(char *, 4)
1222 AC_CHECK_SIZEOF(long, 4)
1223 AC_CHECK_SIZEOF(long long, 8)
1224 AC_CHECK_SIZEOF(size_t, 4)
1226 dnl Checks for header files.
1227 dnl AC_HEADER_SYS_WAIT
1228 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
1229 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])
1231 dnl Checks for library functions.
1233 dnl AC_CHECK_FUNC(strstr)
1234 dnl bcopy and memmove are for PCRE
1235 AC_CHECK_FUNCS([strerror bcopy memmove])
1236 AC_PROG_GCC_TRADITIONAL
1237 dnl uncommenting does not work for swa. suse linux
1241 dnl uncommenting does not work for swa. suse linux
1243 AC_CHECK_FUNCS([access atexit getaddrinfo getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r getnameinfo 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])
1246 dnl =================================================================
1247 dnl Checks for libraries.
1248 dnl =================================================================
1249 dnl Note: Some systems may have the library but not the system header
1250 dnl file, so we must check for both.
1251 dnl Also check for correct version
1252 AC_CHECK_LIB(pcre, pcre_compile, [
1253 AC_CHECK_HEADER(pcre.h, [
1254 AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])
1256 AC_CHECK_HEADER(pcre/pcre.h, [
1257 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])
1262 AC_CHECK_LIB(pcreposix, regcomp, [
1263 AC_CHECK_HEADER(pcreposix.h, [
1264 AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])
1266 AC_CHECK_HEADER(pcre/pcreposix.h, [
1267 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)])
1268 ], [have_pcreposix=no])
1270 ], [have_pcreposix=no], -lpcre)
1272 dnl ================================================================
1273 dnl libpcrs is temporarily disabled.
1275 dnl Privoxy's own pcrs version fixes some problems that
1276 dnl are present in libpcrs 0.3, the last pcrs release we
1277 dnl know of, and as libpcrs seems to be currently unmaintained
1278 dnl we can't send these fixes upstream.
1279 dnl ================================================================
1281 dnl AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre)
1283 dnl =================================================================
1285 dnl =================================================================
1289 dnl =================================================================
1291 dnl =================================================================
1293 AC_ARG_ENABLE(toggle,
1294 [ --disable-toggle Don't support temporary disable],
1295 [if test $enableval = yes; then
1296 AC_DEFINE(FEATURE_TOGGLE)
1297 fi],AC_DEFINE(FEATURE_TOGGLE))
1299 AC_ARG_ENABLE(force,
1300 [ --disable-force Don't allow single-page disable],
1301 [if test $enableval = yes; then
1302 AC_DEFINE(FEATURE_FORCE_LOAD)
1303 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
1305 AC_ARG_ENABLE(fast-redirects,
1306 [ --disable-fast-redirects Don't support fast redirects],
1307 [if test $enableval = yes; then
1308 AC_DEFINE(FEATURE_FAST_REDIRECTS)
1309 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
1311 AC_ARG_ENABLE(stats,
1312 [ --disable-stats Don't keep statistics],
1313 [if test $enableval = yes; then
1314 AC_DEFINE(FEATURE_STATISTICS)
1315 fi],AC_DEFINE(FEATURE_STATISTICS))
1317 AC_ARG_ENABLE(ie-images,
1318 [ --enable-ie-images Enable a quick but not always reliable auto-detect whether requests from
1319 MS Internet Explorer are for an image or not.],
1320 [if test $enableval = yes; then
1321 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
1324 AC_ARG_ENABLE(image-blocking,
1325 [ --disable-image-blocking Don't try to figure out whether a request is
1326 for an image or HTML - assume HTML.],
1327 [if test $enableval = yes; then
1328 AC_DEFINE(FEATURE_IMAGE_BLOCKING)
1330 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
1332 AC_ARG_ENABLE(acl-files,
1333 [ --disable-acl-files Prevents the use of ACL files to control access to
1334 Privoxy by IP address.],
1335 [if test $enableval = yes; then
1336 AC_DEFINE(FEATURE_ACL)
1338 AC_DEFINE(FEATURE_ACL))
1340 AC_ARG_ENABLE(trust-files,
1341 [ --disable-trust-files Prevents the use of trust files.],
1342 [if test $enableval = yes; then
1343 AC_DEFINE(FEATURE_TRUST)
1345 AC_DEFINE(FEATURE_TRUST))
1347 AC_ARG_ENABLE(editor,
1348 [ --disable-editor Prevents the use of the web-based actions file
1349 editor and web-based temporary disable setting.],
1350 [if test $enableval = yes; then
1351 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
1353 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
1355 AC_ARG_ENABLE(no-gifs,
1356 [ --enable-no-gifs Use politically correct PNG format instead of GIF
1357 for built-in images. May not work with all browsers.],
1358 [if test $enableval = yes; then
1359 AC_DEFINE(FEATURE_NO_GIFS)
1362 AC_ARG_ENABLE(graceful-termination,
1363 [ --enable-graceful-termination Allow to shutdown Privoxy through the webinterface.],
1364 [if test $enableval = yes; then
1365 AC_DEFINE(FEATURE_GRACEFUL_TERMINATION)
1368 AC_ARG_ENABLE(extended-host-patterns,
1369 [ --enable-extended-host-patterns Allow extended regular expressions in host patterns.],
1370 [if test $enableval = yes; then
1371 AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
1374 dnl pcre/pcrs is needed for CGI anyway, so
1375 dnl the choice is only between static and
1378 AC_ARG_ENABLE(dynamic-pcre,
1379 [ --disable-dynamic-pcre Use the built-in, static pcre, even if libpcre is available],
1380 [ if test $enableval = "no"; then have_pcre=no; fi ])
1382 dnl =================================================
1383 dnl libpcrs is temporarily disabled,
1384 dnl see comment above for the reason.
1385 dnl =================================================
1386 dnl AC_ARG_ENABLE(dynamic-pcrs,
1387 dnl [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if libpcrs is available],
1388 dnl [ if test $enableval = "no"; then have_pcrs=no; fi ])
1391 dnl ====================================================
1392 dnl This check is incomplete. For mingw32 zlib is found
1393 dnl by configure, but not necessarily by the compiler.
1394 dnl ====================================================
1396 [ --disable-zlib Don't use zlib to decompress data before filtering.],
1397 [enableval2=$enableval],
1399 if test $enableval2 = yes; then
1400 AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
1401 if test $have_zlib = "yes"; then
1403 AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.])
1405 AC_MSG_WARN([No zlib found.
1406 Privoxy will not be able to filter compressed content.
1407 This may become a fatal error in the future.])
1412 # If we have libpcre and either we also have pcreposix or
1413 # we don't need pcreposix, then link pcre dynamically; else
1414 # build it and link statically
1416 if test $have_pcre = "yes"; then
1417 echo "using libpcre"
1420 LIBS="$LIBS -lpcre -lpcreposix"
1422 AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see:
1423 https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de])
1425 AC_DEFINE(STATIC_PCRE)
1429 if test $have_pthread = "yes" -o $target_type = "mingw"; then
1430 echo Enabling keep-alive support for outgoing connections.
1431 AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
1434 dnl =================================================
1435 dnl libpcrs is temporarily disabled,
1436 dnl see comment above for the reason.
1437 dnl =================================================
1438 dnl # If we have libpcrs and pcre is linked dynamically
1439 dnl # then also link pcrs dynamically, else build and link
1440 dnl # pcrs statically
1442 dnl if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
1443 dnl echo "using libpcrs"
1444 dnl STATIC_PCRS_ONLY=#
1445 dnl LIBS="$LIBS -lpcrs"
1447 dnl echo "using built-in static pcrs"
1448 AC_DEFINE(STATIC_PCRS)
1452 AC_SUBST(STATIC_PCRE_ONLY)
1453 AC_SUBST(STATIC_PCRS_ONLY)
1455 dnl =================================================================
1456 dnl Final cleanup and output
1457 dnl =================================================================
1459 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
1461 CFLAGS=$old_CFLAGS_nospecial
1462 AC_SUBST(SPECIAL_CFLAGS)
1464 AC_SUBST(PTHREAD_LIB)
1466 AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)