1 dnl Process this file with autoconf to produce a configure script.
3 dnl $Id: configure.in,v 1.128 2009/04/17 11:27:49 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.128 2009/04/17 11:27:49 fabiankeil
32 dnl Petr Pisar's privoxy-3.0.12-ipv6-3.diff.
34 dnl Revision 1.127 2009/03/25 17:26:31 fabiankeil
35 dnl And they are running again. Bump version to 3.0.13 UNRELEASED.
37 dnl Revision 1.126 2009/03/21 10:45:06 fabiankeil
38 dnl Declare the code stable.
40 dnl Revision 1.125 2009/02/25 16:58:03 fabiankeil
41 dnl And the journey continues. Bump version to 3.0.12 UNRELEASED.
43 dnl Revision 1.124 2009/02/12 15:42:00 fabiankeil
44 dnl Declare the code stable.
46 dnl Revision 1.123 2009/02/06 18:17:32 fabiankeil
47 dnl Boldly enable keep-alive support where possible.
49 dnl Revision 1.122 2008/10/18 11:17:52 fabiankeil
50 dnl Connection keep-alive support is ready for testing,
51 dnl allow enabling it through the configure script.
53 dnl Revision 1.121 2008/08/30 12:03:07 fabiankeil
54 dnl Remove FEATURE_COOKIE_JAR.
56 dnl Revision 1.120 2008/08/21 17:19:50 fabiankeil
57 dnl Change version to 3.0.11 UNRELEASED.
59 dnl Revision 1.119 2008/08/13 16:53:50 fabiankeil
60 dnl Change version to 3.0.10 stable.
62 dnl Revision 1.118 2008/06/27 12:50:44 fabiankeil
63 dnl Here's looking at you, Gentoo Linux: Show a warning if
64 dnl --disable-pthread is used even though pthreads are available.
66 dnl Revision 1.117 2008/06/14 12:47:30 fabiankeil
67 dnl Set CODE_STATUS to beta.
69 dnl Revision 1.116 2008/06/08 11:55:09 fabiankeil
70 dnl - Show a warning if the soon-to-be-removed static PCRE code is used.
71 dnl - Hide the "using built-in static pcrs" message. With dynamic linking
72 dnl against PCRS disabled, the message isn't particularly useful.
74 dnl Revision 1.115 2008/05/25 15:50:14 fabiankeil
75 dnl Try to use zlib by default, but just show a warning if it's
76 dnl unavailable. Remove --enable-zlib, add --disable-zlib.
78 dnl Revision 1.114 2008/04/06 15:18:33 fabiankeil
79 dnl Oh well, rename the --enable-pcre-host-patterns option to
80 dnl --enable-extended-host-patterns as it's not really PCRE syntax.
82 dnl Revision 1.113 2008/04/06 14:54:26 fabiankeil
83 dnl Use PCRE syntax in host patterns when configured
84 dnl with --enable-pcre-host-patterns.
86 dnl Revision 1.112 2008/03/27 18:27:22 fabiankeil
87 dnl Remove kill-popups action.
89 dnl Revision 1.111 2008/02/03 14:40:47 fabiankeil
90 dnl Remove unused OSX_DARWIN macro. Reported by Mark Miller in #1852529.
92 dnl Revision 1.110 2008/01/26 10:52:13 fabiankeil
93 dnl Change version to 3.0.9 UNRELEASED.
95 dnl Revision 1.109 2008/01/20 14:07:09 fabiankeil
96 dnl Set CODE_STATUS to stable.
98 dnl Revision 1.108 2007/12/10 02:30:00 hal9
99 dnl Change versioning for > 3.0.7 && < 3.0.8
101 dnl Revision 1.107 2007/11/15 02:50:14 hal9
102 dnl Setting to "beta" (for doc builds, etc).
104 dnl Revision 1.106 2007/05/11 11:49:41 fabiankeil
105 dnl Check for strlcat().
107 dnl Revision 1.105 2007/04/09 17:34:58 fabiankeil
108 dnl Check for snprintf().
110 dnl Revision 1.104 2007/03/31 13:35:11 fabiankeil
111 dnl Add checks for gettimeofday() and strlcpy().
113 dnl Revision 1.103 2007/01/20 16:29:38 fabiankeil
114 dnl Suppress edit buttons for action files if Privoxy has
115 dnl no write access. Suggested by Roland in PR 1564026.
117 dnl Revision 1.102 2007/01/18 14:55:45 fabiankeil
118 dnl Check for tzset() and putenv() to make sure the
119 dnl replacement timegm() isn't included on systems
120 dnl where it fails to compile.
122 dnl Revision 1.101 2007/01/12 15:20:17 fabiankeil
123 dnl Temporarily ignore external libpcrs to prevent
124 dnl problems that are fixed in Privoxy's own version.
126 dnl Revision 1.100 2007/01/07 07:38:10 joergs
127 dnl Disabled -pipe for AmigaOS4.
129 dnl Revision 1.99 2007/01/01 19:36:37 fabiankeil
130 dnl Integrate a modified version of Wil Mahan's
131 dnl zlib patch (PR #895531).
133 dnl Revision 1.98 2006/12/17 19:15:26 fabiankeil
134 dnl Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
136 dnl Revision 1.97 2006/11/21 18:32:46 hal9
137 dnl Setting version to 3.0.7 UNRELEASED for lack of a better setting.
139 dnl Revision 1.96 2006/11/18 14:42:51 fabiankeil
142 dnl Revision 1.95 2006/11/14 02:08:59 hal9
143 dnl Setting version string to 3.0.6 UNRELEASED. This needs to be reset to 3.0.6
144 dnl stable just before CVS is tagged for release.
146 dnl Revision 1.94 2006/11/13 19:05:50 fabiankeil
147 dnl Make pthread mutex locking more generic. Instead of
148 dnl checking for OSX and OpenBSD, check for FEATURE_PTHREAD
149 dnl and use mutex locking unless there is an _r function
150 dnl available. Better safe than sorry.
152 dnl Fixes "./configure --disable-pthread" and should result
153 dnl in less threading-related problems on pthread-using platforms,
154 dnl but it still doesn't fix BR#1122404.
156 dnl Revision 1.93 2006/09/22 01:26:20 hal9
157 dnl Set version to 3.0.5 BETA for hopefully release this weekend.
159 dnl Revision 1.92 2006/08/17 17:09:49 fabiankeil
160 dnl Added check for timegm().
162 dnl Revision 1.91 2006/08/13 22:01:51 fabiankeil
163 dnl Added checks for strptime() and random()
165 dnl Revision 1.90 2006/07/18 14:48:45 david__schmidt
166 dnl Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
167 dnl with what was really the latest development (the v_3_0_branch branch)
169 dnl Revision 1.68.2.20 2004/01/31 16:31:46 oes
170 dnl Resetting version info to 0.0.0 UNRELEASED
172 dnl Revision 1.68.2.19 2004/01/30 09:26:03 oes
173 dnl Added docbook paths for debian sarge; set status for release
175 dnl Revision 1.68.2.18 2003/12/08 15:10:29 oes
176 dnl Bugfix: --with-docbook now correctly accepts its path parameter. Thanks, Roland!
178 dnl Revision 1.68.2.17 2003/10/18 18:41:26 david__schmidt
179 dnl Update to remain buildable on OS/2 - remove the failures
180 dnl due to missing unixisms
182 dnl Revision 1.68.2.16 2003/03/26 16:05:14 oes
183 dnl Marked as 0.0.0 UNRELEASED
185 dnl Revision 1.68.2.15 2003/03/26 00:25:00 oes
186 dnl Bump version for 3.0.2
188 dnl Revision 1.68.2.14 2003/03/25 13:27:12 hal9
189 dnl Manually apply Docbook/FreeBSD patch #708081 from a.go at tiscali.nl.
191 dnl Revision 1.68.2.13 2003/03/18 19:38:57 oes
192 dnl Set version info for 3.0.1 release
194 dnl Revision 1.68.2.12 2003/03/07 03:41:04 david__schmidt
195 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.
197 dnl Revision 1.68.2.11 2003/03/06 15:22:37 oes
198 dnl Fixed minor shell syntax bug
200 dnl Revision 1.68.2.10 2003/01/08 16:39:41 oes
201 dnl Changing default to exclude FEATURE_IMAGE_DETECT_MSIE because of problem reports with recent IEs
203 dnl Revision 1.68.2.9 2002/12/13 23:47:45 hal9
204 dnl Add openbsd $specialflags per gunner at styx2002.no-ip.org
206 dnl Revision 1.68.2.8 2002/11/27 12:55:26 oes
207 dnl Fixed broken handling of pre-set CFLAGS
209 dnl Revision 1.68.2.7 2002/10/25 02:44:22 hal9
210 dnl Port of make install, etc from main trunk. Needs testing! Add Slackware
211 dnl support, and other related changes. Update related docs.
213 dnl Revision 1.68.2.6 2002/09/25 15:35:15 oes
214 dnl Marking as non-release
216 dnl Revision 1.68.2.5 2002/08/25 23:37:00 hal9
217 dnl Getting ready for 3.0 release.
219 dnl Revision 1.68.2.4 2002/08/10 11:21:57 oes
220 dnl - Set Version to 2.9.20 (beta)
221 dnl - Add two AC_DEFINEs that indicate if the pcre*.h headers
222 dnl are located in a pcre/ subdir to the include path.
224 dnl Revision 1.68.2.3 2002/08/06 11:29:36 oes
225 dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH
227 dnl Revision 1.68.2.2 2002/07/30 19:36:09 hal9
228 dnl Bump version to 2.9.17.
230 dnl Revision 1.68.2.1 2002/07/26 15:21:12 oes
231 dnl Bumped version number for 2.9.16 freeze
233 dnl Revision 1.68 2002/05/25 16:54:54 jongfoster
234 dnl Detect if the compiler supports -pthread.
235 dnl Hopefully this will fix bug 560442. (I don't have a HP PA-RISC
236 dnl machine to test this!)
238 dnl Revision 1.67 2002/05/03 14:33:59 oes
239 dnl Generate doc/soucre/ldp.dsl
241 dnl Revision 1.66 2002/05/03 00:41:56 oes
242 dnl Set version to 2.9.15 to comply with new versioning scheme
244 dnl Revision 1.65 2002/04/25 19:13:57 morcego
245 dnl Removed RPM release number declaration on configure.in
246 dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading
247 dnl targets (will produce an error, explaining who to do it, if no value
250 dnl Revision 1.64 2002/04/22 16:32:31 morcego
251 dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2)
252 dnl -rh.spec: uid and gid are now macros
253 dnl -suse.spec: Changing the header Copyright to License (Copyright is
256 dnl Revision 1.63 2002/04/11 11:00:21 oes
257 dnl Applied Moritz' fix for socklen_t on Solaris
259 dnl Revision 1.62 2002/04/11 10:09:20 oes
262 dnl Revision 1.61 2002/04/10 18:14:45 morcego
263 dnl - (privoxy-rh.spec only) Relisting template files on the %%files section
264 dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5
266 dnl Revision 1.60 2002/04/09 16:38:49 oes
267 dnl Added detection of missing config.h.in
269 dnl Revision 1.59 2002/04/06 20:23:55 jongfoster
270 dnl Removing unnessacery tests (C++, ranlib)
272 dnl Revision 1.58 2002/04/04 20:49:20 swa
273 dnl attempt to consolidate the
274 dnl different dokbook versions.
276 dnl Revision 1.57 2002/04/04 00:36:36 gliptak
277 dnl always use pcre for matching
279 dnl Revision 1.56 2002/04/03 22:28:03 gliptak
280 dnl Removed references to gnu_regex
282 dnl Revision 1.55 2002/04/03 03:54:38 gliptak
283 dnl Checking pcre version
285 dnl Revision 1.54 2002/04/01 00:54:24 gliptak
286 dnl More changes needed around regex support.
288 dnl Revision 1.53 2002/03/29 20:09:01 swa
291 dnl Revision 1.52 2002/03/29 19:51:40 gliptak
292 dnl Correcting compile problem with Debian
294 dnl Revision 1.51 2002/03/28 20:43:00 swa
295 dnl set make correctly
297 dnl Revision 1.50 2002/03/27 03:03:45 hal9
298 dnl Add test for man2html
300 dnl Revision 1.49 2002/03/27 02:19:52 david__schmidt
301 dnl More Mac OSX support:
302 dnl - Get rid of extraneous, noisy -pthread warnings
303 dnl - Define unix so we get oes' unix-tagged changes
305 dnl Revision 1.48 2002/03/26 22:29:54 swa
306 dnl we have a new homepage!
308 dnl Revision 1.47 2002/03/26 16:41:00 hal9
309 dnl Upped RPM Release to 3 (need to build new RH packages)
311 dnl Revision 1.46 2002/03/24 18:55:06 jongfoster
312 dnl Making Docbook work under Windows
314 dnl Revision 1.45 2002/03/24 14:19:55 swa
315 dnl set rpm package release in configure.in. nowhere else.
317 dnl Revision 1.44 2002/03/24 13:25:43 swa
318 dnl name change related issues
320 dnl Revision 1.43 2002/03/24 12:56:21 swa
321 dnl name change related issues.
323 dnl Revision 1.42 2002/03/22 18:11:37 jongfoster
324 dnl Bumping version number to 2.9.12
326 dnl Revision 1.41 2002/03/19 19:30:04 morcego
327 dnl - Fixing stylesheet checking on configure. If it is found, no further checks
330 dnl - configure will now check for db2html or docbook2html (should work now
331 dnl on SuSe without the docbktls package)
333 dnl Revision 1.40 2002/03/09 14:33:30 oes
334 dnl Fixing the (harmless) AC_CHECK_FILE warnings
336 dnl Revision 1.39 2002/03/08 16:46:13 oes
337 dnl Added --enable-no-gifs
339 dnl Revision 1.38 2002/03/08 14:13:50 morcego
340 dnl Fixing configure, to remove a command not found error.
342 dnl Revision 1.37 2002/03/08 12:58:21 oes
343 dnl Tiny bugfix in AC_ARG_WITH(debug)
345 dnl Revision 1.36 2002/03/06 23:50:36 morcego
346 dnl Will not test for a text browser if we are not using docbook.
348 dnl Revision 1.35 2002/03/06 21:55:52 morcego
349 dnl New configure option: --with-docbook=(yes|no|directory)
350 dnl Preliminary new platform detection code included. Will work with the
351 dnl old one for now. No use just trowing it away
353 dnl Revision 1.34 2002/03/06 20:57:00 morcego
354 dnl Fixing detection of stylesheets on SuSe.
356 dnl Revision 1.33 2002/03/05 17:31:11 morcego
357 dnl Search for docbook.dsl. Should solve portability problems for SuSe.
359 dnl Revision 1.32 2002/03/05 14:07:43 morcego
360 dnl configure now detects rpm topdir, and change GNUmakefile acordingly
361 dnl (based on sugestion by Sarantis Paskalis)
363 dnl Revision 1.31 2002/03/05 13:43:28 morcego
364 dnl Checking for text browser, so redhat-dok can work.
366 dnl Revision 1.30 2002/03/04 17:58:01 oes
367 dnl Deleted _DEBUG and PID_FILE_PATH
369 dnl Revision 1.29 2002/02/28 14:20:53 oes
370 dnl Fixed detection of gethost*_r functions on Solaris
372 dnl Revision 1.28 2002/02/27 15:02:38 oes
373 dnl Incremented version number
375 dnl Revision 1.27 2002/01/10 12:35:18 oes
376 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
377 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
378 dnl Is there a better way?
380 dnl Revision 1.26 2002/01/09 14:29:49 oes
381 dnl - Added AC_CHECK_FUNC tests for the availability of
382 dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and
383 dnl localtime_r, as well as AC_TRY_COMPILE tests to
384 dnl determine their signatures.
386 dnl - Fixed a bug with the init of CFLAGS that was
387 dnl reported by barsnick
389 dnl Revision 1.25 2002/01/04 15:27:18 oes
390 dnl Changed quoting of CODE_STATUS for use in make
392 dnl Revision 1.24 2001/12/30 14:07:31 steudten
393 dnl - Add signal handling (unix)
394 dnl - Add SIGHUP handler (unix)
395 dnl - Add creation of pidfile (unix)
396 dnl - Add action 'top' in rc file (RH)
397 dnl - Add entry 'SIGNALS' to manpage
398 dnl - Add exit message to logfile (unix)
400 dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt
401 dnl Change from "alpha" to "beta" in configure.in
403 dnl Revision 1.22 2001/12/01 11:24:01 jongfoster
404 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
405 dnl make break in a more obvious way.
407 dnl Revision 1.21 2001/11/30 21:35:54 jongfoster
408 dnl Bumping version number to 2.9.10
410 dnl Revision 1.20 2001/10/23 21:24:09 jongfoster
411 dnl Support for FEATURE_CGI_EDIT_ACTIONS
413 dnl Revision 1.19 2001/10/07 15:33:14 oes
414 dnl Removed FEATURE_DENY_GZIP
415 dnl Bumped up version number
417 dnl Revision 1.18 2001/09/13 13:10:24 steudten
419 dnl PreWork for Debug Interface.
420 dnl Add new option "--with-debug" to enable debugging (flags aso.)
422 dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt
423 dnl Mac OSX (Darwin) support added.
425 dnl Revision 1.16 2001/09/12 22:55:45 joergs
426 dnl AmigaOS support added.
428 dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt
430 dnl OS/2 port: update autoconf'd support for the platform.
432 dnl Revision 1.14 2001/07/30 22:12:11 jongfoster
433 dnl Fixing Solaris build (I hope) and tidying up #defines:
434 dnl - All feature #defines are now of the form FEATURE_xxx
435 dnl - Permanently turned off WIN_GUI_EDIT
436 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
438 dnl Revision 1.13 2001/07/29 17:09:17 jongfoster
439 dnl Major changes to build system in order to fix these bugs:
440 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
441 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
442 dnl which shared libraries are available
443 dnl - Solaris support (?) (Not tested under Solaris yet)
445 dnl Revision 1.12 2001/07/25 19:16:27 oes
446 dnl Bumping version number to 2.9.8
448 dnl Revision 1.11 2001/07/21 18:00:07 jongfoster
449 dnl Bumping version number to 2.9.7
451 dnl Revision 1.10 2001/07/18 17:25:04 oes
454 dnl Revision 1.9 2001/07/15 19:45:13 jongfoster
455 dnl Added support for linking with POSIX threads library
457 dnl Revision 1.8 2001/07/15 17:54:29 jongfoster
458 dnl Renaming #define STATIC to STATIC_PCRE
459 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
460 dnl POSIX threads support.
462 dnl Revision 1.7 2001/07/13 13:58:05 oes
463 dnl Completely reorganized the selection scheme for
464 dnl pcre, pcreposix, pcrs and gnu_regex:
466 dnl The presence of shared pcre, pcreposix or pcrs
467 dnl libraried is now autodetected. Additionally, the
468 dnl user can enforce using the built-in static variants
469 dnl by specifying --disable-dynamic-(pcre|pcrs).
470 dnl Care is taken to avoid that pcre is dyn, while pcreposix
471 dnl is static, if both are used and that pcrs is static if
474 dnl The choice between pcre, gnu or no regex for actionsfile
475 dnl URL matching is now via
476 dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
477 dnl default being pcre.
479 dnl Revision 1.6 2001/06/29 21:56:40 oes
482 dnl Revision 1.5 2001/06/29 13:26:27 oes
483 dnl Introduced #define CODE_STATUS
485 dnl Revision 1.4 2001/05/29 09:50:24 jongfoster
486 dnl Unified blocklist/imagelist/permissionslist.
487 dnl File format is still under discussion, but the internal changes
488 dnl are (mostly) done.
490 dnl Also modified interceptor behaviour:
491 dnl - We now intercept all URLs beginning with one of the following
492 dnl prefixes (and *only* these prefixes):
494 dnl * http://ijbswa.sf.net/config/
495 dnl * http://ijbswa.sourceforge.net/config/
496 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
497 dnl - Internal changes so that intercepted and fast redirect pages
498 dnl are not replaced with an image.
499 dnl - Interceptors now have the option to send a binary page direct
500 dnl to the client. (i.e. ijb-send-banner uses this)
501 dnl - Implemented show-url-info interceptor. (Which is why I needed
502 dnl the above interceptors changes - a typical URL is
503 dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
504 dnl The previous mechanism would not have intercepted that, and
505 dnl if it had been intercepted then it then it would have replaced
506 dnl it with an image.)
508 dnl Revision 1.3 2001/05/22 18:46:04 oes
510 dnl - Enabled filtering banners by size rather than URL
511 dnl by adding patterns that replace all standard banner
512 dnl sizes with the "Junkbuster" gif to the re_filterfile
514 dnl - Enabled filtering WebBugs by providing a pattern
515 dnl which kills all 1x1 images
517 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
518 dnl which is selected by the (nonstandard and therefore
519 dnl capital) letter 'U' in the option string.
520 dnl It causes the quantifiers to be ungreedy by default.
521 dnl Appending a ? turns back to greedy (!).
523 dnl - Added a new interceptor ijb-send-banner, which
524 dnl sends back the "Junkbuster" gif. Without imagelist or
525 dnl MSIE detection support, or if tinygif = 1, or the
526 dnl URL isn't recognized as an imageurl, a lame HTML
527 dnl explanation is sent instead.
529 dnl - Added new feature, which permits blocking remote
530 dnl script redirects and firing back a local redirect
532 dnl The feature is conditionally compiled, i.e. it
533 dnl can be disabled with --disable-fast-redirects,
534 dnl plus it must be activated by a "fast-redirects"
535 dnl line in the config file, has its own log level
536 dnl and of course wants to be displayed by show-proxy-args
537 dnl Note: Boy, all the #ifdefs in 1001 locations and
538 dnl all the fumbling with configure.in and acconfig.h
539 dnl were *way* more work than the feature itself :-(
541 dnl - Because a generic redirect template was needed for
542 dnl this, tinygif = 3 now uses the same.
544 dnl - Moved GIFs, and other static HTTP response templates
547 dnl - Some minor fixes
549 dnl - Removed some >400 CRs again (Jon, you really worked
552 dnl Revision 1.2 2001/05/20 01:21:20 jongfoster
553 dnl Version 2.9.4 checkin.
554 dnl - Merged popupfile and cookiefile, and added control over PCRS
555 dnl filtering, in new "permissionsfile".
556 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
557 dnl file error you now get a message box (in the Win32 GUI) rather
558 dnl than the program exiting with no explanation.
559 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
561 dnl - Removed tabs from "config"
562 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
563 dnl - Bumped up version number.
565 dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes
566 dnl Initial import of version 2.9.3 source tree
571 dnl =================================================================
572 dnl AutoConf Initialization
573 dnl =================================================================
575 AC_REVISION($Revision: 1.128 $)
578 if test ! -f config.h.in; then
579 echo "You need to run autoheader first. "
580 echo -n "Shall I do this for you now? (y/n) "
582 if test "$answer" != "y"; then
589 AC_CONFIG_HEADER([config.h])
594 AC_ARG_WITH(docbook, dnl
595 --with-docbook=[[yes|no|directory]]
596 Enable docbook documentation creation
597 (default = yes, for gnu and linux),[dnl
598 case "$with_docbook" in
608 AC_ARG_WITH(db2html, dnl
609 --with-db2html=<path/executable>
610 Set the location of the docbook to html converter
611 (default = search),[dnl
615 dnl =================================================================
616 dnl Application version number
617 dnl =================================================================
622 CODE_STATUS="UNRELEASED"
624 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
625 dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
626 dnl whenever CVS in a stable branch differs from the last release.
628 dnl =================================================================
629 dnl Substitute the version numbers
630 dnl =================================================================
632 AC_SUBST(VERSION_MAJOR)
633 AC_SUBST(VERSION_MINOR)
634 AC_SUBST(VERSION_POINT)
635 AC_SUBST(CODE_STATUS)
638 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
639 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
640 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
641 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
642 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
644 dnl =================================================================
645 dnl Checks for programs needed to build.
646 dnl =================================================================
648 dnl Keep AC_PROG_CC from setting its own defaults:
649 if test "X$CFLAGS" = "X"; then
660 AC_CHECK_PROG(GDB,gdb,yes,no)
661 AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
662 AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
666 dnl =================================================================
667 dnl debug, gcc and gdb support
668 dnl =================================================================
671 [ --with-debug Enable debug mode],
673 if test "x$withval" != "xno" ; then
674 if test $ac_cv_prog_cc_g = yes; then
675 if test "$GCC" = yes; then
677 CFLAGS="$CFLAGS -ggdb"
681 CFLAGS="$CFLAGS -Wshadow -Wconversion"
689 if test "X$CFLAGS" = "X "; then # if CFLAGS were unset (see above)
690 if test "$GCC" = yes; then
697 dnl =================================================================
698 dnl Check for user and group validity
699 dnl =================================================================
702 if test "$EMXOS2" = yes; then
703 echo "Skipping user and group validity stuff.";
707 $ID privoxy >/dev/null 2>/dev/null
708 if test $? -ne 0 ; then
709 AC_MSG_WARN(There is no user 'privoxy' on this system)
711 AC_MSG_CHECKING([for user])
713 [ --with-user=privoxy Set user under which privoxy will run],
715 if test "x$withval" != "xyes"; then
716 if test $ID = no ; then
717 AC_MSG_ERROR(There is no 'id' program on this system)
719 AC_MSG_RESULT($with_user)
720 $ID $with_user 2>/dev/null >/dev/null
721 if test $? -eq 0 ; then
724 AC_MSG_ERROR(There is no user '$with_user' on this system)
728 AC_MSG_ERROR(We need a user if you give me this parameter)
732 if test $ID = no ; then
733 AC_MSG_ERROR(There is no 'id' programm on this system)
735 AC_MSG_RESULT(none specified)
742 AC_MSG_CHECKING([for group])
744 [ --with-group=privoxy Set group for privoxy],
746 if test "x$withval" != "xyes"; then
747 if test $BGROUPS = no ; then
748 AC_MSG_ERROR(There is no 'groups' program on this system)
750 AC_MSG_RESULT($with_group)
751 $BGROUPS $USER >/dev/null
752 if test $? -eq 0 ; then
753 # FIXME: this fails if valid group, but not first group
755 if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
756 AC_MSG_ERROR(The given value '$withval' does not match group entry)
761 AC_MSG_ERROR(There is no group entry for user '$USER')
765 AC_MSG_ERROR(We need a group if you give me this parameter)
769 if test $BGROUPS = no ; then
770 AC_MSG_ERROR(There is no 'groups' programm on this system)
772 AC_MSG_RESULT(none specified)
781 dnl =================================================================
782 dnl additional gcc flags
783 dnl =================================================================
786 if test "$host" != "powerpc-unknown-amigaos"; then
787 CFLAGS="-pipe $CFLAGS"
792 dnl =================================================================
794 dnl =================================================================
796 dnl Must do this first.
798 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
799 dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
800 dnl the compiler will use completely different sets of library
801 dnl and include files.
803 dnl =================================================================
808 if test "$MINGW32" = "yes"; then
811 if test "$CYGWIN" = "yes"; then
818 if test $dodk = auto; then
820 if test $target_type = unix; then
829 dnl Decide what to do based on target_type
830 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
831 dnl This is because we don't know yet whether pthread is enabled.
833 AC_ARG_ENABLE(mingw32,
834 [ --enable-mingw32 Use mingw32 for a Windows GUI],
835 [if test $enableval = yes; then
839 if test $target_type = mingw; then
841 SPECIAL_CFLAGS="-mwindows -mno-cygwin"
842 PTHREAD_LIB=-lpthreadGC
843 echo "Using mingw32 (Win32 GUI)"
846 if test $target_type = cygwin; then
847 SPECIAL_CFLAGS="-mno-win32"
849 echo "Using Cygnus (Win32 command line)"
852 PTHREAD_LIB=-lpthread
857 dnl Checking which text html browser we have avaliable
858 if test $dodk != no; then
859 AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
860 if test "$WDUMP" = false; then
861 AC_MSG_WARN(You need some kind of text browser to build documentation \(w3m, lynx and links are supported\))
863 if test $DB2HTML = false; then
864 dnl We need to clean the variable, otherwise AC_CHECK_PROGS
867 AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
873 dnl If we use rpm, we need to check where %_topdir is
874 AC_CHECK_PROGS(RPMBIN,rpm,false)
875 if test $RPMBIN != false; then
876 RPM_BASE=`rpm --eval "%{_topdir}"`
877 if test "$RPM_BASE" = ""; then
878 RPM_BASE=/usr/src/redhat
883 dnl Check for jade, so we can build the documentation
884 AC_CHECK_PROGS(JADEBIN,jade openjade,false)
887 dnl Check for man2html for docs.
888 AC_CHECK_PROGS(MAN2HTML,man2html,false)
891 dnl Set doc status flag for conditional content inclusions
892 DOC_STATUS=p-not-stable
893 if test $CODE_STATUS = stable; then
894 DOC_STATUS="p-stable"
898 dnl Checking for the docbook.dsl stylesheet file
899 dnl It is still not portable (directory slash)
901 if test $dodk = yes; then
902 if test $DKPREFIX = none; then
903 for i in /usr/share/sgml/docbook/dsssl-stylesheets \
904 /usr/share/sgml/docbkdsl /usr/share/sgml/docbook-dsssl \
905 /usr/local/share/sgml/docbook/dsssl/modular \
906 /usr/share/sgml/docbook/stylesheet/dsssl/modular/ \
908 dnl echo -n does not fly with /bin/sh.
909 dnl echo -n "checking for $i/html/docbook.dsl..."
910 AC_MSG_CHECKING([for $i])
911 if test -f $i/html/docbook.dsl; then
919 # where are the catalogs?
920 for i in /usr/share/sgml/CATALOG.docbk30 \
921 /usr/share/sgml/CATALOG.docbk31 \
922 /usr/share/sgml/CATALOG.docbk31 \
923 /usr/local/share/sgml/docbook/3.0/docbook.cat \
924 /usr/local/share/sgml/docbook/3.1/docbook.cat \
925 /usr/share/sgml/docbook/dtd/3.1/docbook.cat \
927 dnl echo -n "checking for $i..."
928 AC_MSG_CHECKING([for $i])
931 JADECAT="$JADECAT -c $i"
941 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
942 old_CFLAGS_nospecial=$CFLAGS
943 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
945 # Hack to force AutoConf to use the CFLAGS we just set
946 dnl Warning: This may break with a future version of Autoconf
947 dnl Tested with autoconf 2.13
948 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
949 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
950 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
953 dnl =================================================================
955 dnl =================================================================
957 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
959 AC_ARG_ENABLE(pthread,
960 [ --disable-pthread Don't use POSIX threads (pthreads)],
961 [if test $enableval = no; then
963 if test $have_pthread = yes; then
964 AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.])
965 AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.])
970 if test $have_pthread = yes; then
972 AC_DEFINE(FEATURE_PTHREAD)
973 echo Using POSIX threads
974 if test "$GCC" = "yes"; then
975 # Set a GCC specific switch:
976 if test "$target_type" = "unix"; then
977 ac_jgf_save_CFLAGS=$CFLAGS
978 CFLAGS="$CFLAGS -pthread"
979 AC_TRY_LINK([#include <pthread.h>],
980 [void *p = pthread_create;],
982 # This compiler switch makes GCC on Linux thread-safe
983 # However, it's not supported on most other OS.
985 SPECIAL_CFLAGS="-pthread"
987 CFLAGS=$ac_jgf_save_CFLAGS
992 echo Using native threads
995 AC_SUBST(PTHREAD_ONLY)
997 dnl =================================================================
998 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
999 dnl gmtime and localtime
1000 dnl =================================================================
1002 dnl Next line needed to find the gethost*_r functions on Solaris
1003 AC_CHECK_LIB(nsl, gethostbyname)
1005 AC_CHECK_FUNC(gethostbyaddr_r, [
1006 AC_MSG_CHECKING([signature of gethostbyaddr_r])
1010 struct hostent *h, *hp;
1013 (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
1015 AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
1016 AC_MSG_RESULT([8 args])
1024 (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
1026 AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
1027 AC_MSG_RESULT([7 args])
1032 struct hostent_data *d;
1036 (void) gethostbyaddr_r(a, l, t, h, d)
1038 AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
1039 AC_MSG_RESULT([5 args])
1041 AC_MSG_RESULT(unrecognised)
1049 AC_CHECK_FUNC(gethostbyname_r, [
1050 AC_MSG_CHECKING([signature of gethostbyname_r])
1054 struct hostent *h, *r;
1057 (void) gethostbyname_r(n, h, b, bl, &r, &e)
1059 AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
1060 AC_MSG_RESULT([6 args])
1068 (void) gethostbyname_r(n, h, b, bl, &e)
1070 AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
1071 AC_MSG_RESULT([5 args])
1076 struct hostent_data *d;
1079 (void) gethostbyname_r(n, h, d)
1081 AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
1082 AC_MSG_RESULT([3 args])
1084 AC_MSG_RESULT(unrecognised)
1092 AC_CHECK_FUNC(gmtime_r, [
1093 AC_MSG_CHECKING([signature of gmtime_r])
1099 (void) gmtime_r(t, tm)
1102 AC_DEFINE(HAVE_GMTIME_R)
1104 AC_MSG_RESULT(unrecognised)
1110 AC_CHECK_FUNC(localtime_r, [
1111 AC_MSG_CHECKING([signature of localtime_r])
1117 (void) localtime_r(t, tm)
1120 AC_DEFINE(HAVE_LOCALTIME_R)
1122 AC_MSG_RESULT(unrecognised)
1128 dnl =================================================================
1129 dnl Solaris specific
1130 dnl FIXME: Not tested on Solaris yet...
1131 dnl ISFIXED: Have tested it on Solaris, but there are other ways to
1132 dnl make these checks generic, e.g.:
1133 dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt))
1134 dnl (Moritz Barsnick <moritz@barsnick.net>)
1135 dnl =================================================================
1141 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
1142 AC_DEFINE(__EXTENSIONS__)
1143 if test "$GCC" = "yes"; then
1144 # Set a GCC specific switch:
1145 # This compiler switch makes Solaris thread-safe
1147 SPECIAL_CFLAGS="-pthreads"
1149 # What do we do without GCC? Guess this:
1150 SPECIAL_CFLAGS="-D_REENTRANT"
1155 AC_SUBST(SOCKET_LIB)
1157 dnl =================================================================
1158 dnl Solaris problem, and others perhaps (socklen_t is undefined)
1159 dnl =================================================================
1161 AC_MSG_CHECKING([for socklen_t])
1162 AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
1164 AC_DEFINE(socklen_t,int,
1165 [ Define to 'int' if <sys/socket.h> doesn't have it. ]))
1168 dnl =================================================================
1170 dnl =================================================================
1173 *-os2-emx*) SOCKET_LIB=-lsocket
1177 AC_SUBST(SOCKET_LIB)
1179 dnl =================================================================
1180 dnl Mac OSX specific
1181 dnl =================================================================
1184 *-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
1188 dnl =================================================================
1189 dnl OpenBSD specific
1190 dnl =================================================================
1193 *-openbsd*) SPECIAL_CFLAGS="$SPECIAL_CFLAGS -Dunix"
1197 dnl =================================================================
1198 dnl AmigaOS specific
1199 dnl =================================================================
1204 *-amigaos) AMIGAOS_ONLY=
1208 AC_SUBST(AMIGAOS_ONLY)
1210 dnl =================================================================
1211 dnl Check for standard compiler stuff
1212 dnl =================================================================
1223 AC_CHECK_SIZEOF(int, 4)
1224 AC_CHECK_SIZEOF(char *, 4)
1225 AC_CHECK_SIZEOF(long, 4)
1226 AC_CHECK_SIZEOF(long long, 8)
1227 AC_CHECK_SIZEOF(size_t, 4)
1229 dnl Checks for header files.
1230 dnl AC_HEADER_SYS_WAIT
1231 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
1232 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])
1234 dnl Checks for library functions.
1236 dnl AC_CHECK_FUNC(strstr)
1237 dnl bcopy and memmove are for PCRE
1238 AC_CHECK_FUNCS([strerror bcopy memmove])
1239 AC_PROG_GCC_TRADITIONAL
1240 dnl uncommenting does not work for swa. suse linux
1244 dnl uncommenting does not work for swa. suse linux
1246 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])
1248 dnl Checks for RFC 2553 resolver and socket functions
1249 AC_CHECK_FUNC([getaddrinfo],
1250 [AC_CHECK_FUNC([getnameinfo],
1251 [AC_DEFINE([HAVE_RFC2553], [1],
1252 [Define if RFC 2553 resolver functions like getaddrinfo(3) and
1253 getnameinfo(3) present])
1257 dnl =================================================================
1258 dnl Checks for libraries.
1259 dnl =================================================================
1260 dnl Note: Some systems may have the library but not the system header
1261 dnl file, so we must check for both.
1262 dnl Also check for correct version
1263 AC_CHECK_LIB(pcre, pcre_compile, [
1264 AC_CHECK_HEADER(pcre.h, [
1265 AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])
1267 AC_CHECK_HEADER(pcre/pcre.h, [
1268 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])
1273 AC_CHECK_LIB(pcreposix, regcomp, [
1274 AC_CHECK_HEADER(pcreposix.h, [
1275 AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])
1277 AC_CHECK_HEADER(pcre/pcreposix.h, [
1278 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)])
1279 ], [have_pcreposix=no])
1281 ], [have_pcreposix=no], -lpcre)
1283 dnl ================================================================
1284 dnl libpcrs is temporarily disabled.
1286 dnl Privoxy's own pcrs version fixes some problems that
1287 dnl are present in libpcrs 0.3, the last pcrs release we
1288 dnl know of, and as libpcrs seems to be currently unmaintained
1289 dnl we can't send these fixes upstream.
1290 dnl ================================================================
1292 dnl AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre)
1294 dnl =================================================================
1296 dnl =================================================================
1300 dnl =================================================================
1302 dnl =================================================================
1304 AC_ARG_ENABLE(toggle,
1305 [ --disable-toggle Don't support temporary disable],
1306 [if test $enableval = yes; then
1307 AC_DEFINE(FEATURE_TOGGLE)
1308 fi],AC_DEFINE(FEATURE_TOGGLE))
1310 AC_ARG_ENABLE(force,
1311 [ --disable-force Don't allow single-page disable],
1312 [if test $enableval = yes; then
1313 AC_DEFINE(FEATURE_FORCE_LOAD)
1314 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
1316 AC_ARG_ENABLE(fast-redirects,
1317 [ --disable-fast-redirects Don't support fast redirects],
1318 [if test $enableval = yes; then
1319 AC_DEFINE(FEATURE_FAST_REDIRECTS)
1320 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
1322 AC_ARG_ENABLE(stats,
1323 [ --disable-stats Don't keep statistics],
1324 [if test $enableval = yes; then
1325 AC_DEFINE(FEATURE_STATISTICS)
1326 fi],AC_DEFINE(FEATURE_STATISTICS))
1328 AC_ARG_ENABLE(ie-images,
1329 [ --enable-ie-images Enable a quick but not always reliable auto-detect whether requests from
1330 MS Internet Explorer are for an image or not.],
1331 [if test $enableval = yes; then
1332 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
1335 AC_ARG_ENABLE(image-blocking,
1336 [ --disable-image-blocking Don't try to figure out whether a request is
1337 for an image or HTML - assume HTML.],
1338 [if test $enableval = yes; then
1339 AC_DEFINE(FEATURE_IMAGE_BLOCKING)
1341 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
1343 AC_ARG_ENABLE(acl-files,
1344 [ --disable-acl-files Prevents the use of ACL files to control access to
1345 Privoxy by IP address.],
1346 [if test $enableval = yes; then
1347 AC_DEFINE(FEATURE_ACL)
1349 AC_DEFINE(FEATURE_ACL))
1351 AC_ARG_ENABLE(trust-files,
1352 [ --disable-trust-files Prevents the use of trust files.],
1353 [if test $enableval = yes; then
1354 AC_DEFINE(FEATURE_TRUST)
1356 AC_DEFINE(FEATURE_TRUST))
1358 AC_ARG_ENABLE(editor,
1359 [ --disable-editor Prevents the use of the web-based actions file
1360 editor and web-based temporary disable setting.],
1361 [if test $enableval = yes; then
1362 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
1364 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
1366 AC_ARG_ENABLE(no-gifs,
1367 [ --enable-no-gifs Use politically correct PNG format instead of GIF
1368 for built-in images. May not work with all browsers.],
1369 [if test $enableval = yes; then
1370 AC_DEFINE(FEATURE_NO_GIFS)
1373 AC_ARG_ENABLE(graceful-termination,
1374 [ --enable-graceful-termination Allow to shutdown Privoxy through the webinterface.],
1375 [if test $enableval = yes; then
1376 AC_DEFINE(FEATURE_GRACEFUL_TERMINATION)
1379 AC_ARG_ENABLE(extended-host-patterns,
1380 [ --enable-extended-host-patterns Allow extended regular expressions in host patterns.],
1381 [if test $enableval = yes; then
1382 AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
1385 dnl pcre/pcrs is needed for CGI anyway, so
1386 dnl the choice is only between static and
1389 AC_ARG_ENABLE(dynamic-pcre,
1390 [ --disable-dynamic-pcre Use the built-in, static pcre, even if libpcre is available],
1391 [ if test $enableval = "no"; then have_pcre=no; fi ])
1393 dnl =================================================
1394 dnl libpcrs is temporarily disabled,
1395 dnl see comment above for the reason.
1396 dnl =================================================
1397 dnl AC_ARG_ENABLE(dynamic-pcrs,
1398 dnl [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if libpcrs is available],
1399 dnl [ if test $enableval = "no"; then have_pcrs=no; fi ])
1402 dnl ====================================================
1403 dnl This check is incomplete. For mingw32 zlib is found
1404 dnl by configure, but not necessarily by the compiler.
1405 dnl ====================================================
1407 [ --disable-zlib Don't use zlib to decompress data before filtering.],
1408 [enableval2=$enableval],
1410 if test $enableval2 = yes; then
1411 AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
1412 if test $have_zlib = "yes"; then
1414 AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.])
1416 AC_MSG_WARN([No zlib found.
1417 Privoxy will not be able to filter compressed content.
1418 This may become a fatal error in the future.])
1423 # If we have libpcre and either we also have pcreposix or
1424 # we don't need pcreposix, then link pcre dynamically; else
1425 # build it and link statically
1427 if test $have_pcre = "yes"; then
1428 echo "using libpcre"
1431 LIBS="$LIBS -lpcre -lpcreposix"
1433 AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see:
1434 https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de])
1436 AC_DEFINE(STATIC_PCRE)
1440 if test $have_pthread = "yes" -o $target_type = "mingw"; then
1441 echo Enabling keep-alive support for outgoing connections.
1442 AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
1445 dnl =================================================
1446 dnl libpcrs is temporarily disabled,
1447 dnl see comment above for the reason.
1448 dnl =================================================
1449 dnl # If we have libpcrs and pcre is linked dynamically
1450 dnl # then also link pcrs dynamically, else build and link
1451 dnl # pcrs statically
1453 dnl if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
1454 dnl echo "using libpcrs"
1455 dnl STATIC_PCRS_ONLY=#
1456 dnl LIBS="$LIBS -lpcrs"
1458 dnl echo "using built-in static pcrs"
1459 AC_DEFINE(STATIC_PCRS)
1463 AC_SUBST(STATIC_PCRE_ONLY)
1464 AC_SUBST(STATIC_PCRS_ONLY)
1466 dnl =================================================================
1467 dnl Final cleanup and output
1468 dnl =================================================================
1470 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
1472 CFLAGS=$old_CFLAGS_nospecial
1473 AC_SUBST(SPECIAL_CFLAGS)
1475 AC_SUBST(PTHREAD_LIB)
1477 AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)