1 dnl Process this file with autoconf to produce a configure script.
3 dnl $Id: configure.in,v 1.125 2009/02/25 16:58:03 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.125 2009/02/25 16:58:03 fabiankeil
32 dnl And the journey continues. Bump version to 3.0.12 UNRELEASED.
34 dnl Revision 1.124 2009/02/12 15:42:00 fabiankeil
35 dnl Declare the code stable.
37 dnl Revision 1.123 2009/02/06 18:17:32 fabiankeil
38 dnl Boldly enable keep-alive support where possible.
40 dnl Revision 1.122 2008/10/18 11:17:52 fabiankeil
41 dnl Connection keep-alive support is ready for testing,
42 dnl allow enabling it through the configure script.
44 dnl Revision 1.121 2008/08/30 12:03:07 fabiankeil
45 dnl Remove FEATURE_COOKIE_JAR.
47 dnl Revision 1.120 2008/08/21 17:19:50 fabiankeil
48 dnl Change version to 3.0.11 UNRELEASED.
50 dnl Revision 1.119 2008/08/13 16:53:50 fabiankeil
51 dnl Change version to 3.0.10 stable.
53 dnl Revision 1.118 2008/06/27 12:50:44 fabiankeil
54 dnl Here's looking at you, Gentoo Linux: Show a warning if
55 dnl --disable-pthread is used even though pthreads are available.
57 dnl Revision 1.117 2008/06/14 12:47:30 fabiankeil
58 dnl Set CODE_STATUS to beta.
60 dnl Revision 1.116 2008/06/08 11:55:09 fabiankeil
61 dnl - Show a warning if the soon-to-be-removed static PCRE code is used.
62 dnl - Hide the "using built-in static pcrs" message. With dynamic linking
63 dnl against PCRS disabled, the message isn't particularly useful.
65 dnl Revision 1.115 2008/05/25 15:50:14 fabiankeil
66 dnl Try to use zlib by default, but just show a warning if it's
67 dnl unavailable. Remove --enable-zlib, add --disable-zlib.
69 dnl Revision 1.114 2008/04/06 15:18:33 fabiankeil
70 dnl Oh well, rename the --enable-pcre-host-patterns option to
71 dnl --enable-extended-host-patterns as it's not really PCRE syntax.
73 dnl Revision 1.113 2008/04/06 14:54:26 fabiankeil
74 dnl Use PCRE syntax in host patterns when configured
75 dnl with --enable-pcre-host-patterns.
77 dnl Revision 1.112 2008/03/27 18:27:22 fabiankeil
78 dnl Remove kill-popups action.
80 dnl Revision 1.111 2008/02/03 14:40:47 fabiankeil
81 dnl Remove unused OSX_DARWIN macro. Reported by Mark Miller in #1852529.
83 dnl Revision 1.110 2008/01/26 10:52:13 fabiankeil
84 dnl Change version to 3.0.9 UNRELEASED.
86 dnl Revision 1.109 2008/01/20 14:07:09 fabiankeil
87 dnl Set CODE_STATUS to stable.
89 dnl Revision 1.108 2007/12/10 02:30:00 hal9
90 dnl Change versioning for > 3.0.7 && < 3.0.8
92 dnl Revision 1.107 2007/11/15 02:50:14 hal9
93 dnl Setting to "beta" (for doc builds, etc).
95 dnl Revision 1.106 2007/05/11 11:49:41 fabiankeil
96 dnl Check for strlcat().
98 dnl Revision 1.105 2007/04/09 17:34:58 fabiankeil
99 dnl Check for snprintf().
101 dnl Revision 1.104 2007/03/31 13:35:11 fabiankeil
102 dnl Add checks for gettimeofday() and strlcpy().
104 dnl Revision 1.103 2007/01/20 16:29:38 fabiankeil
105 dnl Suppress edit buttons for action files if Privoxy has
106 dnl no write access. Suggested by Roland in PR 1564026.
108 dnl Revision 1.102 2007/01/18 14:55:45 fabiankeil
109 dnl Check for tzset() and putenv() to make sure the
110 dnl replacement timegm() isn't included on systems
111 dnl where it fails to compile.
113 dnl Revision 1.101 2007/01/12 15:20:17 fabiankeil
114 dnl Temporarily ignore external libpcrs to prevent
115 dnl problems that are fixed in Privoxy's own version.
117 dnl Revision 1.100 2007/01/07 07:38:10 joergs
118 dnl Disabled -pipe for AmigaOS4.
120 dnl Revision 1.99 2007/01/01 19:36:37 fabiankeil
121 dnl Integrate a modified version of Wil Mahan's
122 dnl zlib patch (PR #895531).
124 dnl Revision 1.98 2006/12/17 19:15:26 fabiankeil
125 dnl Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
127 dnl Revision 1.97 2006/11/21 18:32:46 hal9
128 dnl Setting version to 3.0.7 UNRELEASED for lack of a better setting.
130 dnl Revision 1.96 2006/11/18 14:42:51 fabiankeil
133 dnl Revision 1.95 2006/11/14 02:08:59 hal9
134 dnl Setting version string to 3.0.6 UNRELEASED. This needs to be reset to 3.0.6
135 dnl stable just before CVS is tagged for release.
137 dnl Revision 1.94 2006/11/13 19:05:50 fabiankeil
138 dnl Make pthread mutex locking more generic. Instead of
139 dnl checking for OSX and OpenBSD, check for FEATURE_PTHREAD
140 dnl and use mutex locking unless there is an _r function
141 dnl available. Better safe than sorry.
143 dnl Fixes "./configure --disable-pthread" and should result
144 dnl in less threading-related problems on pthread-using platforms,
145 dnl but it still doesn't fix BR#1122404.
147 dnl Revision 1.93 2006/09/22 01:26:20 hal9
148 dnl Set version to 3.0.5 BETA for hopefully release this weekend.
150 dnl Revision 1.92 2006/08/17 17:09:49 fabiankeil
151 dnl Added check for timegm().
153 dnl Revision 1.91 2006/08/13 22:01:51 fabiankeil
154 dnl Added checks for strptime() and random()
156 dnl Revision 1.90 2006/07/18 14:48:45 david__schmidt
157 dnl Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
158 dnl with what was really the latest development (the v_3_0_branch branch)
160 dnl Revision 1.68.2.20 2004/01/31 16:31:46 oes
161 dnl Resetting version info to 0.0.0 UNRELEASED
163 dnl Revision 1.68.2.19 2004/01/30 09:26:03 oes
164 dnl Added docbook paths for debian sarge; set status for release
166 dnl Revision 1.68.2.18 2003/12/08 15:10:29 oes
167 dnl Bugfix: --with-docbook now correctly accepts its path parameter. Thanks, Roland!
169 dnl Revision 1.68.2.17 2003/10/18 18:41:26 david__schmidt
170 dnl Update to remain buildable on OS/2 - remove the failures
171 dnl due to missing unixisms
173 dnl Revision 1.68.2.16 2003/03/26 16:05:14 oes
174 dnl Marked as 0.0.0 UNRELEASED
176 dnl Revision 1.68.2.15 2003/03/26 00:25:00 oes
177 dnl Bump version for 3.0.2
179 dnl Revision 1.68.2.14 2003/03/25 13:27:12 hal9
180 dnl Manually apply Docbook/FreeBSD patch #708081 from a.go at tiscali.nl.
182 dnl Revision 1.68.2.13 2003/03/18 19:38:57 oes
183 dnl Set version info for 3.0.1 release
185 dnl Revision 1.68.2.12 2003/03/07 03:41:04 david__schmidt
186 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.
188 dnl Revision 1.68.2.11 2003/03/06 15:22:37 oes
189 dnl Fixed minor shell syntax bug
191 dnl Revision 1.68.2.10 2003/01/08 16:39:41 oes
192 dnl Changing default to exclude FEATURE_IMAGE_DETECT_MSIE because of problem reports with recent IEs
194 dnl Revision 1.68.2.9 2002/12/13 23:47:45 hal9
195 dnl Add openbsd $specialflags per gunner at styx2002.no-ip.org
197 dnl Revision 1.68.2.8 2002/11/27 12:55:26 oes
198 dnl Fixed broken handling of pre-set CFLAGS
200 dnl Revision 1.68.2.7 2002/10/25 02:44:22 hal9
201 dnl Port of make install, etc from main trunk. Needs testing! Add Slackware
202 dnl support, and other related changes. Update related docs.
204 dnl Revision 1.68.2.6 2002/09/25 15:35:15 oes
205 dnl Marking as non-release
207 dnl Revision 1.68.2.5 2002/08/25 23:37:00 hal9
208 dnl Getting ready for 3.0 release.
210 dnl Revision 1.68.2.4 2002/08/10 11:21:57 oes
211 dnl - Set Version to 2.9.20 (beta)
212 dnl - Add two AC_DEFINEs that indicate if the pcre*.h headers
213 dnl are located in a pcre/ subdir to the include path.
215 dnl Revision 1.68.2.3 2002/08/06 11:29:36 oes
216 dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH
218 dnl Revision 1.68.2.2 2002/07/30 19:36:09 hal9
219 dnl Bump version to 2.9.17.
221 dnl Revision 1.68.2.1 2002/07/26 15:21:12 oes
222 dnl Bumped version number for 2.9.16 freeze
224 dnl Revision 1.68 2002/05/25 16:54:54 jongfoster
225 dnl Detect if the compiler supports -pthread.
226 dnl Hopefully this will fix bug 560442. (I don't have a HP PA-RISC
227 dnl machine to test this!)
229 dnl Revision 1.67 2002/05/03 14:33:59 oes
230 dnl Generate doc/soucre/ldp.dsl
232 dnl Revision 1.66 2002/05/03 00:41:56 oes
233 dnl Set version to 2.9.15 to comply with new versioning scheme
235 dnl Revision 1.65 2002/04/25 19:13:57 morcego
236 dnl Removed RPM release number declaration on configure.in
237 dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading
238 dnl targets (will produce an error, explaining who to do it, if no value
241 dnl Revision 1.64 2002/04/22 16:32:31 morcego
242 dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2)
243 dnl -rh.spec: uid and gid are now macros
244 dnl -suse.spec: Changing the header Copyright to License (Copyright is
247 dnl Revision 1.63 2002/04/11 11:00:21 oes
248 dnl Applied Moritz' fix for socklen_t on Solaris
250 dnl Revision 1.62 2002/04/11 10:09:20 oes
253 dnl Revision 1.61 2002/04/10 18:14:45 morcego
254 dnl - (privoxy-rh.spec only) Relisting template files on the %%files section
255 dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5
257 dnl Revision 1.60 2002/04/09 16:38:49 oes
258 dnl Added detection of missing config.h.in
260 dnl Revision 1.59 2002/04/06 20:23:55 jongfoster
261 dnl Removing unnessacery tests (C++, ranlib)
263 dnl Revision 1.58 2002/04/04 20:49:20 swa
264 dnl attempt to consolidate the
265 dnl different dokbook versions.
267 dnl Revision 1.57 2002/04/04 00:36:36 gliptak
268 dnl always use pcre for matching
270 dnl Revision 1.56 2002/04/03 22:28:03 gliptak
271 dnl Removed references to gnu_regex
273 dnl Revision 1.55 2002/04/03 03:54:38 gliptak
274 dnl Checking pcre version
276 dnl Revision 1.54 2002/04/01 00:54:24 gliptak
277 dnl More changes needed around regex support.
279 dnl Revision 1.53 2002/03/29 20:09:01 swa
282 dnl Revision 1.52 2002/03/29 19:51:40 gliptak
283 dnl Correcting compile problem with Debian
285 dnl Revision 1.51 2002/03/28 20:43:00 swa
286 dnl set make correctly
288 dnl Revision 1.50 2002/03/27 03:03:45 hal9
289 dnl Add test for man2html
291 dnl Revision 1.49 2002/03/27 02:19:52 david__schmidt
292 dnl More Mac OSX support:
293 dnl - Get rid of extraneous, noisy -pthread warnings
294 dnl - Define unix so we get oes' unix-tagged changes
296 dnl Revision 1.48 2002/03/26 22:29:54 swa
297 dnl we have a new homepage!
299 dnl Revision 1.47 2002/03/26 16:41:00 hal9
300 dnl Upped RPM Release to 3 (need to build new RH packages)
302 dnl Revision 1.46 2002/03/24 18:55:06 jongfoster
303 dnl Making Docbook work under Windows
305 dnl Revision 1.45 2002/03/24 14:19:55 swa
306 dnl set rpm package release in configure.in. nowhere else.
308 dnl Revision 1.44 2002/03/24 13:25:43 swa
309 dnl name change related issues
311 dnl Revision 1.43 2002/03/24 12:56:21 swa
312 dnl name change related issues.
314 dnl Revision 1.42 2002/03/22 18:11:37 jongfoster
315 dnl Bumping version number to 2.9.12
317 dnl Revision 1.41 2002/03/19 19:30:04 morcego
318 dnl - Fixing stylesheet checking on configure. If it is found, no further checks
321 dnl - configure will now check for db2html or docbook2html (should work now
322 dnl on SuSe without the docbktls package)
324 dnl Revision 1.40 2002/03/09 14:33:30 oes
325 dnl Fixing the (harmless) AC_CHECK_FILE warnings
327 dnl Revision 1.39 2002/03/08 16:46:13 oes
328 dnl Added --enable-no-gifs
330 dnl Revision 1.38 2002/03/08 14:13:50 morcego
331 dnl Fixing configure, to remove a command not found error.
333 dnl Revision 1.37 2002/03/08 12:58:21 oes
334 dnl Tiny bugfix in AC_ARG_WITH(debug)
336 dnl Revision 1.36 2002/03/06 23:50:36 morcego
337 dnl Will not test for a text browser if we are not using docbook.
339 dnl Revision 1.35 2002/03/06 21:55:52 morcego
340 dnl New configure option: --with-docbook=(yes|no|directory)
341 dnl Preliminary new platform detection code included. Will work with the
342 dnl old one for now. No use just trowing it away
344 dnl Revision 1.34 2002/03/06 20:57:00 morcego
345 dnl Fixing detection of stylesheets on SuSe.
347 dnl Revision 1.33 2002/03/05 17:31:11 morcego
348 dnl Search for docbook.dsl. Should solve portability problems for SuSe.
350 dnl Revision 1.32 2002/03/05 14:07:43 morcego
351 dnl configure now detects rpm topdir, and change GNUmakefile acordingly
352 dnl (based on sugestion by Sarantis Paskalis)
354 dnl Revision 1.31 2002/03/05 13:43:28 morcego
355 dnl Checking for text browser, so redhat-dok can work.
357 dnl Revision 1.30 2002/03/04 17:58:01 oes
358 dnl Deleted _DEBUG and PID_FILE_PATH
360 dnl Revision 1.29 2002/02/28 14:20:53 oes
361 dnl Fixed detection of gethost*_r functions on Solaris
363 dnl Revision 1.28 2002/02/27 15:02:38 oes
364 dnl Incremented version number
366 dnl Revision 1.27 2002/01/10 12:35:18 oes
367 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
368 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
369 dnl Is there a better way?
371 dnl Revision 1.26 2002/01/09 14:29:49 oes
372 dnl - Added AC_CHECK_FUNC tests for the availability of
373 dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and
374 dnl localtime_r, as well as AC_TRY_COMPILE tests to
375 dnl determine their signatures.
377 dnl - Fixed a bug with the init of CFLAGS that was
378 dnl reported by barsnick
380 dnl Revision 1.25 2002/01/04 15:27:18 oes
381 dnl Changed quoting of CODE_STATUS for use in make
383 dnl Revision 1.24 2001/12/30 14:07:31 steudten
384 dnl - Add signal handling (unix)
385 dnl - Add SIGHUP handler (unix)
386 dnl - Add creation of pidfile (unix)
387 dnl - Add action 'top' in rc file (RH)
388 dnl - Add entry 'SIGNALS' to manpage
389 dnl - Add exit message to logfile (unix)
391 dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt
392 dnl Change from "alpha" to "beta" in configure.in
394 dnl Revision 1.22 2001/12/01 11:24:01 jongfoster
395 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
396 dnl make break in a more obvious way.
398 dnl Revision 1.21 2001/11/30 21:35:54 jongfoster
399 dnl Bumping version number to 2.9.10
401 dnl Revision 1.20 2001/10/23 21:24:09 jongfoster
402 dnl Support for FEATURE_CGI_EDIT_ACTIONS
404 dnl Revision 1.19 2001/10/07 15:33:14 oes
405 dnl Removed FEATURE_DENY_GZIP
406 dnl Bumped up version number
408 dnl Revision 1.18 2001/09/13 13:10:24 steudten
410 dnl PreWork for Debug Interface.
411 dnl Add new option "--with-debug" to enable debugging (flags aso.)
413 dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt
414 dnl Mac OSX (Darwin) support added.
416 dnl Revision 1.16 2001/09/12 22:55:45 joergs
417 dnl AmigaOS support added.
419 dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt
421 dnl OS/2 port: update autoconf'd support for the platform.
423 dnl Revision 1.14 2001/07/30 22:12:11 jongfoster
424 dnl Fixing Solaris build (I hope) and tidying up #defines:
425 dnl - All feature #defines are now of the form FEATURE_xxx
426 dnl - Permanently turned off WIN_GUI_EDIT
427 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
429 dnl Revision 1.13 2001/07/29 17:09:17 jongfoster
430 dnl Major changes to build system in order to fix these bugs:
431 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
432 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
433 dnl which shared libraries are available
434 dnl - Solaris support (?) (Not tested under Solaris yet)
436 dnl Revision 1.12 2001/07/25 19:16:27 oes
437 dnl Bumping version number to 2.9.8
439 dnl Revision 1.11 2001/07/21 18:00:07 jongfoster
440 dnl Bumping version number to 2.9.7
442 dnl Revision 1.10 2001/07/18 17:25:04 oes
445 dnl Revision 1.9 2001/07/15 19:45:13 jongfoster
446 dnl Added support for linking with POSIX threads library
448 dnl Revision 1.8 2001/07/15 17:54:29 jongfoster
449 dnl Renaming #define STATIC to STATIC_PCRE
450 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
451 dnl POSIX threads support.
453 dnl Revision 1.7 2001/07/13 13:58:05 oes
454 dnl Completely reorganized the selection scheme for
455 dnl pcre, pcreposix, pcrs and gnu_regex:
457 dnl The presence of shared pcre, pcreposix or pcrs
458 dnl libraried is now autodetected. Additionally, the
459 dnl user can enforce using the built-in static variants
460 dnl by specifying --disable-dynamic-(pcre|pcrs).
461 dnl Care is taken to avoid that pcre is dyn, while pcreposix
462 dnl is static, if both are used and that pcrs is static if
465 dnl The choice between pcre, gnu or no regex for actionsfile
466 dnl URL matching is now via
467 dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
468 dnl default being pcre.
470 dnl Revision 1.6 2001/06/29 21:56:40 oes
473 dnl Revision 1.5 2001/06/29 13:26:27 oes
474 dnl Introduced #define CODE_STATUS
476 dnl Revision 1.4 2001/05/29 09:50:24 jongfoster
477 dnl Unified blocklist/imagelist/permissionslist.
478 dnl File format is still under discussion, but the internal changes
479 dnl are (mostly) done.
481 dnl Also modified interceptor behaviour:
482 dnl - We now intercept all URLs beginning with one of the following
483 dnl prefixes (and *only* these prefixes):
485 dnl * http://ijbswa.sf.net/config/
486 dnl * http://ijbswa.sourceforge.net/config/
487 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
488 dnl - Internal changes so that intercepted and fast redirect pages
489 dnl are not replaced with an image.
490 dnl - Interceptors now have the option to send a binary page direct
491 dnl to the client. (i.e. ijb-send-banner uses this)
492 dnl - Implemented show-url-info interceptor. (Which is why I needed
493 dnl the above interceptors changes - a typical URL is
494 dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
495 dnl The previous mechanism would not have intercepted that, and
496 dnl if it had been intercepted then it then it would have replaced
497 dnl it with an image.)
499 dnl Revision 1.3 2001/05/22 18:46:04 oes
501 dnl - Enabled filtering banners by size rather than URL
502 dnl by adding patterns that replace all standard banner
503 dnl sizes with the "Junkbuster" gif to the re_filterfile
505 dnl - Enabled filtering WebBugs by providing a pattern
506 dnl which kills all 1x1 images
508 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
509 dnl which is selected by the (nonstandard and therefore
510 dnl capital) letter 'U' in the option string.
511 dnl It causes the quantifiers to be ungreedy by default.
512 dnl Appending a ? turns back to greedy (!).
514 dnl - Added a new interceptor ijb-send-banner, which
515 dnl sends back the "Junkbuster" gif. Without imagelist or
516 dnl MSIE detection support, or if tinygif = 1, or the
517 dnl URL isn't recognized as an imageurl, a lame HTML
518 dnl explanation is sent instead.
520 dnl - Added new feature, which permits blocking remote
521 dnl script redirects and firing back a local redirect
523 dnl The feature is conditionally compiled, i.e. it
524 dnl can be disabled with --disable-fast-redirects,
525 dnl plus it must be activated by a "fast-redirects"
526 dnl line in the config file, has its own log level
527 dnl and of course wants to be displayed by show-proxy-args
528 dnl Note: Boy, all the #ifdefs in 1001 locations and
529 dnl all the fumbling with configure.in and acconfig.h
530 dnl were *way* more work than the feature itself :-(
532 dnl - Because a generic redirect template was needed for
533 dnl this, tinygif = 3 now uses the same.
535 dnl - Moved GIFs, and other static HTTP response templates
538 dnl - Some minor fixes
540 dnl - Removed some >400 CRs again (Jon, you really worked
543 dnl Revision 1.2 2001/05/20 01:21:20 jongfoster
544 dnl Version 2.9.4 checkin.
545 dnl - Merged popupfile and cookiefile, and added control over PCRS
546 dnl filtering, in new "permissionsfile".
547 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
548 dnl file error you now get a message box (in the Win32 GUI) rather
549 dnl than the program exiting with no explanation.
550 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
552 dnl - Removed tabs from "config"
553 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
554 dnl - Bumped up version number.
556 dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes
557 dnl Initial import of version 2.9.3 source tree
562 dnl =================================================================
563 dnl AutoConf Initialization
564 dnl =================================================================
566 AC_REVISION($Revision: 1.125 $)
569 if test ! -f config.h.in; then
570 echo "You need to run autoheader first. "
571 echo -n "Shall I do this for you now? (y/n) "
573 if test "$answer" != "y"; then
580 AC_CONFIG_HEADER([config.h])
585 AC_ARG_WITH(docbook, dnl
586 --with-docbook=[[yes|no|directory]]
587 Enable docbook documentation creation
588 (default = yes, for gnu and linux),[dnl
589 case "$with_docbook" in
599 AC_ARG_WITH(db2html, dnl
600 --with-db2html=<path/executable>
601 Set the location of the docbook to html converter
602 (default = search),[dnl
606 dnl =================================================================
607 dnl Application version number
608 dnl =================================================================
615 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
616 dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
617 dnl whenever CVS in a stable branch differs from the last release.
619 dnl =================================================================
620 dnl Substitute the version numbers
621 dnl =================================================================
623 AC_SUBST(VERSION_MAJOR)
624 AC_SUBST(VERSION_MINOR)
625 AC_SUBST(VERSION_POINT)
626 AC_SUBST(CODE_STATUS)
629 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
630 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
631 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
632 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
633 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
635 dnl =================================================================
636 dnl Checks for programs needed to build.
637 dnl =================================================================
639 dnl Keep AC_PROG_CC from setting its own defaults:
640 if test "X$CFLAGS" = "X"; then
651 AC_CHECK_PROG(GDB,gdb,yes,no)
652 AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
653 AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
657 dnl =================================================================
658 dnl debug, gcc and gdb support
659 dnl =================================================================
662 [ --with-debug Enable debug mode],
664 if test "x$withval" != "xno" ; then
665 if test $ac_cv_prog_cc_g = yes; then
666 if test "$GCC" = yes; then
668 CFLAGS="$CFLAGS -ggdb"
672 CFLAGS="$CFLAGS -Wshadow -Wconversion"
680 if test "X$CFLAGS" = "X "; then # if CFLAGS were unset (see above)
681 if test "$GCC" = yes; then
688 dnl =================================================================
689 dnl Check for user and group validity
690 dnl =================================================================
693 if test "$EMXOS2" = yes; then
694 echo "Skipping user and group validity stuff.";
698 $ID privoxy >/dev/null 2>/dev/null
699 if test $? -ne 0 ; then
700 AC_MSG_WARN(There is no user 'privoxy' on this system)
702 AC_MSG_CHECKING([for user])
704 [ --with-user=privoxy Set user under which privoxy will run],
706 if test "x$withval" != "xyes"; then
707 if test $ID = no ; then
708 AC_MSG_ERROR(There is no 'id' program on this system)
710 AC_MSG_RESULT($with_user)
711 $ID $with_user 2>/dev/null >/dev/null
712 if test $? -eq 0 ; then
715 AC_MSG_ERROR(There is no user '$with_user' on this system)
719 AC_MSG_ERROR(We need a user if you give me this parameter)
723 if test $ID = no ; then
724 AC_MSG_ERROR(There is no 'id' programm on this system)
726 AC_MSG_RESULT(none specified)
733 AC_MSG_CHECKING([for group])
735 [ --with-group=privoxy Set group for privoxy],
737 if test "x$withval" != "xyes"; then
738 if test $BGROUPS = no ; then
739 AC_MSG_ERROR(There is no 'groups' program on this system)
741 AC_MSG_RESULT($with_group)
742 $BGROUPS $USER >/dev/null
743 if test $? -eq 0 ; then
744 # FIXME: this fails if valid group, but not first group
746 if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
747 AC_MSG_ERROR(The given value '$withval' does not match group entry)
752 AC_MSG_ERROR(There is no group entry for user '$USER')
756 AC_MSG_ERROR(We need a group if you give me this parameter)
760 if test $BGROUPS = no ; then
761 AC_MSG_ERROR(There is no 'groups' programm on this system)
763 AC_MSG_RESULT(none specified)
772 dnl =================================================================
773 dnl additional gcc flags
774 dnl =================================================================
777 if test "$host" != "powerpc-unknown-amigaos"; then
778 CFLAGS="-pipe $CFLAGS"
783 dnl =================================================================
785 dnl =================================================================
787 dnl Must do this first.
789 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
790 dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
791 dnl the compiler will use completely different sets of library
792 dnl and include files.
794 dnl =================================================================
799 if test "$MINGW32" = "yes"; then
802 if test "$CYGWIN" = "yes"; then
809 if test $dodk = auto; then
811 if test $target_type = unix; then
820 dnl Decide what to do based on target_type
821 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
822 dnl This is because we don't know yet whether pthread is enabled.
824 AC_ARG_ENABLE(mingw32,
825 [ --enable-mingw32 Use mingw32 for a Windows GUI],
826 [if test $enableval = yes; then
830 if test $target_type = mingw; then
832 SPECIAL_CFLAGS="-mwindows -mno-cygwin"
833 PTHREAD_LIB=-lpthreadGC
834 echo "Using mingw32 (Win32 GUI)"
837 if test $target_type = cygwin; then
838 SPECIAL_CFLAGS="-mno-win32"
840 echo "Using Cygnus (Win32 command line)"
843 PTHREAD_LIB=-lpthread
848 dnl Checking which text html browser we have avaliable
849 if test $dodk != no; then
850 AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
851 if test "$WDUMP" = false; then
852 AC_MSG_WARN(You need some kind of text browser to build documentation \(w3m, lynx and links are supported\))
854 if test $DB2HTML = false; then
855 dnl We need to clean the variable, otherwise AC_CHECK_PROGS
858 AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
864 dnl If we use rpm, we need to check where %_topdir is
865 AC_CHECK_PROGS(RPMBIN,rpm,false)
866 if test $RPMBIN != false; then
867 RPM_BASE=`rpm --eval "%{_topdir}"`
868 if test "$RPM_BASE" = ""; then
869 RPM_BASE=/usr/src/redhat
874 dnl Check for jade, so we can build the documentation
875 AC_CHECK_PROGS(JADEBIN,jade openjade,false)
878 dnl Check for man2html for docs.
879 AC_CHECK_PROGS(MAN2HTML,man2html,false)
882 dnl Set doc status flag for conditional content inclusions
883 DOC_STATUS=p-not-stable
884 if test $CODE_STATUS = stable; then
885 DOC_STATUS="p-stable"
889 dnl Checking for the docbook.dsl stylesheet file
890 dnl It is still not portable (directory slash)
892 if test $dodk = yes; then
893 if test $DKPREFIX = none; then
894 for i in /usr/share/sgml/docbook/dsssl-stylesheets \
895 /usr/share/sgml/docbkdsl /usr/share/sgml/docbook-dsssl \
896 /usr/local/share/sgml/docbook/dsssl/modular \
897 /usr/share/sgml/docbook/stylesheet/dsssl/modular/ \
899 dnl echo -n does not fly with /bin/sh.
900 dnl echo -n "checking for $i/html/docbook.dsl..."
901 AC_MSG_CHECKING([for $i])
902 if test -f $i/html/docbook.dsl; then
910 # where are the catalogs?
911 for i in /usr/share/sgml/CATALOG.docbk30 \
912 /usr/share/sgml/CATALOG.docbk31 \
913 /usr/share/sgml/CATALOG.docbk31 \
914 /usr/local/share/sgml/docbook/3.0/docbook.cat \
915 /usr/local/share/sgml/docbook/3.1/docbook.cat \
916 /usr/share/sgml/docbook/dtd/3.1/docbook.cat \
918 dnl echo -n "checking for $i..."
919 AC_MSG_CHECKING([for $i])
922 JADECAT="$JADECAT -c $i"
932 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
933 old_CFLAGS_nospecial=$CFLAGS
934 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
936 # Hack to force AutoConf to use the CFLAGS we just set
937 dnl Warning: This may break with a future version of Autoconf
938 dnl Tested with autoconf 2.13
939 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
940 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
941 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
944 dnl =================================================================
946 dnl =================================================================
948 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
950 AC_ARG_ENABLE(pthread,
951 [ --disable-pthread Don't use POSIX threads (pthreads)],
952 [if test $enableval = no; then
954 if test $have_pthread = yes; then
955 AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.])
956 AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.])
961 if test $have_pthread = yes; then
963 AC_DEFINE(FEATURE_PTHREAD)
964 echo Using POSIX threads
965 if test "$GCC" = "yes"; then
966 # Set a GCC specific switch:
967 if test "$target_type" = "unix"; then
968 ac_jgf_save_CFLAGS=$CFLAGS
969 CFLAGS="$CFLAGS -pthread"
970 AC_TRY_LINK([#include <pthread.h>],
971 [void *p = pthread_create;],
973 # This compiler switch makes GCC on Linux thread-safe
974 # However, it's not supported on most other OS.
976 SPECIAL_CFLAGS="-pthread"
978 CFLAGS=$ac_jgf_save_CFLAGS
983 echo Using native threads
986 AC_SUBST(PTHREAD_ONLY)
988 dnl =================================================================
989 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
990 dnl gmtime and localtime
991 dnl =================================================================
993 dnl Next line needed to find the gethost*_r functions on Solaris
994 AC_CHECK_LIB(nsl, gethostbyname)
996 AC_CHECK_FUNC(gethostbyaddr_r, [
997 AC_MSG_CHECKING([signature of gethostbyaddr_r])
1001 struct hostent *h, *hp;
1004 (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
1006 AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
1007 AC_MSG_RESULT([8 args])
1015 (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
1017 AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
1018 AC_MSG_RESULT([7 args])
1023 struct hostent_data *d;
1027 (void) gethostbyaddr_r(a, l, t, h, d)
1029 AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
1030 AC_MSG_RESULT([5 args])
1032 AC_MSG_RESULT(unrecognised)
1040 AC_CHECK_FUNC(gethostbyname_r, [
1041 AC_MSG_CHECKING([signature of gethostbyname_r])
1045 struct hostent *h, *r;
1048 (void) gethostbyname_r(n, h, b, bl, &r, &e)
1050 AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
1051 AC_MSG_RESULT([6 args])
1059 (void) gethostbyname_r(n, h, b, bl, &e)
1061 AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
1062 AC_MSG_RESULT([5 args])
1067 struct hostent_data *d;
1070 (void) gethostbyname_r(n, h, d)
1072 AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
1073 AC_MSG_RESULT([3 args])
1075 AC_MSG_RESULT(unrecognised)
1083 AC_CHECK_FUNC(gmtime_r, [
1084 AC_MSG_CHECKING([signature of gmtime_r])
1090 (void) gmtime_r(t, tm)
1093 AC_DEFINE(HAVE_GMTIME_R)
1095 AC_MSG_RESULT(unrecognised)
1101 AC_CHECK_FUNC(localtime_r, [
1102 AC_MSG_CHECKING([signature of localtime_r])
1108 (void) localtime_r(t, tm)
1111 AC_DEFINE(HAVE_LOCALTIME_R)
1113 AC_MSG_RESULT(unrecognised)
1119 dnl =================================================================
1120 dnl Solaris specific
1121 dnl FIXME: Not tested on Solaris yet...
1122 dnl ISFIXED: Have tested it on Solaris, but there are other ways to
1123 dnl make these checks generic, e.g.:
1124 dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt))
1125 dnl (Moritz Barsnick <moritz@barsnick.net>)
1126 dnl =================================================================
1132 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
1133 AC_DEFINE(__EXTENSIONS__)
1134 if test "$GCC" = "yes"; then
1135 # Set a GCC specific switch:
1136 # This compiler switch makes Solaris thread-safe
1138 SPECIAL_CFLAGS="-pthreads"
1140 # What do we do without GCC? Guess this:
1141 SPECIAL_CFLAGS="-D_REENTRANT"
1146 AC_SUBST(SOCKET_LIB)
1148 dnl =================================================================
1149 dnl Solaris problem, and others perhaps (socklen_t is undefined)
1150 dnl =================================================================
1152 AC_MSG_CHECKING([for socklen_t])
1153 AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
1155 AC_DEFINE(socklen_t,int,
1156 [ Define to 'int' if <sys/socket.h> doesn't have it. ]))
1159 dnl =================================================================
1161 dnl =================================================================
1164 *-os2-emx*) SOCKET_LIB=-lsocket
1168 AC_SUBST(SOCKET_LIB)
1170 dnl =================================================================
1171 dnl Mac OSX specific
1172 dnl =================================================================
1175 *-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
1179 dnl =================================================================
1180 dnl OpenBSD specific
1181 dnl =================================================================
1184 *-openbsd*) SPECIAL_CFLAGS="$SPECIAL_CFLAGS -Dunix"
1188 dnl =================================================================
1189 dnl AmigaOS specific
1190 dnl =================================================================
1195 *-amigaos) AMIGAOS_ONLY=
1199 AC_SUBST(AMIGAOS_ONLY)
1201 dnl =================================================================
1202 dnl Check for standard compiler stuff
1203 dnl =================================================================
1214 AC_CHECK_SIZEOF(int, 4)
1215 AC_CHECK_SIZEOF(char *, 4)
1216 AC_CHECK_SIZEOF(long, 4)
1217 AC_CHECK_SIZEOF(long long, 8)
1218 AC_CHECK_SIZEOF(size_t, 4)
1220 dnl Checks for header files.
1221 dnl AC_HEADER_SYS_WAIT
1222 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
1223 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])
1225 dnl Checks for library functions.
1227 dnl AC_CHECK_FUNC(strstr)
1228 dnl bcopy and memmove are for PCRE
1229 AC_CHECK_FUNCS([strerror bcopy memmove])
1230 AC_PROG_GCC_TRADITIONAL
1231 dnl uncommenting does not work for swa. suse linux
1235 dnl uncommenting does not work for swa. suse linux
1237 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])
1240 dnl =================================================================
1241 dnl Checks for libraries.
1242 dnl =================================================================
1243 dnl Note: Some systems may have the library but not the system header
1244 dnl file, so we must check for both.
1245 dnl Also check for correct version
1246 AC_CHECK_LIB(pcre, pcre_compile, [
1247 AC_CHECK_HEADER(pcre.h, [
1248 AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])
1250 AC_CHECK_HEADER(pcre/pcre.h, [
1251 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])
1256 AC_CHECK_LIB(pcreposix, regcomp, [
1257 AC_CHECK_HEADER(pcreposix.h, [
1258 AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])
1260 AC_CHECK_HEADER(pcre/pcreposix.h, [
1261 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)])
1262 ], [have_pcreposix=no])
1264 ], [have_pcreposix=no], -lpcre)
1266 dnl ================================================================
1267 dnl libpcrs is temporarily disabled.
1269 dnl Privoxy's own pcrs version fixes some problems that
1270 dnl are present in libpcrs 0.3, the last pcrs release we
1271 dnl know of, and as libpcrs seems to be currently unmaintained
1272 dnl we can't send these fixes upstream.
1273 dnl ================================================================
1275 dnl AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre)
1277 dnl =================================================================
1279 dnl =================================================================
1283 dnl =================================================================
1285 dnl =================================================================
1287 AC_ARG_ENABLE(toggle,
1288 [ --disable-toggle Don't support temporary disable],
1289 [if test $enableval = yes; then
1290 AC_DEFINE(FEATURE_TOGGLE)
1291 fi],AC_DEFINE(FEATURE_TOGGLE))
1293 AC_ARG_ENABLE(force,
1294 [ --disable-force Don't allow single-page disable],
1295 [if test $enableval = yes; then
1296 AC_DEFINE(FEATURE_FORCE_LOAD)
1297 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
1299 AC_ARG_ENABLE(fast-redirects,
1300 [ --disable-fast-redirects Don't support fast redirects],
1301 [if test $enableval = yes; then
1302 AC_DEFINE(FEATURE_FAST_REDIRECTS)
1303 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
1305 AC_ARG_ENABLE(stats,
1306 [ --disable-stats Don't keep statistics],
1307 [if test $enableval = yes; then
1308 AC_DEFINE(FEATURE_STATISTICS)
1309 fi],AC_DEFINE(FEATURE_STATISTICS))
1311 AC_ARG_ENABLE(ie-images,
1312 [ --enable-ie-images Enable a quick but not always reliable auto-detect whether requests from
1313 MS Internet Explorer are for an image or not.],
1314 [if test $enableval = yes; then
1315 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
1318 AC_ARG_ENABLE(image-blocking,
1319 [ --disable-image-blocking Don't try to figure out whether a request is
1320 for an image or HTML - assume HTML.],
1321 [if test $enableval = yes; then
1322 AC_DEFINE(FEATURE_IMAGE_BLOCKING)
1324 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
1326 AC_ARG_ENABLE(acl-files,
1327 [ --disable-acl-files Prevents the use of ACL files to control access to
1328 Privoxy by IP address.],
1329 [if test $enableval = yes; then
1330 AC_DEFINE(FEATURE_ACL)
1332 AC_DEFINE(FEATURE_ACL))
1334 AC_ARG_ENABLE(trust-files,
1335 [ --disable-trust-files Prevents the use of trust files.],
1336 [if test $enableval = yes; then
1337 AC_DEFINE(FEATURE_TRUST)
1339 AC_DEFINE(FEATURE_TRUST))
1341 AC_ARG_ENABLE(editor,
1342 [ --disable-editor Prevents the use of the web-based actions file
1343 editor and web-based temporary disable setting.],
1344 [if test $enableval = yes; then
1345 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
1347 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
1349 AC_ARG_ENABLE(no-gifs,
1350 [ --enable-no-gifs Use politically correct PNG format instead of GIF
1351 for built-in images. May not work with all browsers.],
1352 [if test $enableval = yes; then
1353 AC_DEFINE(FEATURE_NO_GIFS)
1356 AC_ARG_ENABLE(graceful-termination,
1357 [ --enable-graceful-termination Allow to shutdown Privoxy through the webinterface.],
1358 [if test $enableval = yes; then
1359 AC_DEFINE(FEATURE_GRACEFUL_TERMINATION)
1362 AC_ARG_ENABLE(extended-host-patterns,
1363 [ --enable-extended-host-patterns Allow extended regular expressions in host patterns.],
1364 [if test $enableval = yes; then
1365 AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
1368 dnl pcre/pcrs is needed for CGI anyway, so
1369 dnl the choice is only between static and
1372 AC_ARG_ENABLE(dynamic-pcre,
1373 [ --disable-dynamic-pcre Use the built-in, static pcre, even if libpcre is available],
1374 [ if test $enableval = "no"; then have_pcre=no; fi ])
1376 dnl =================================================
1377 dnl libpcrs is temporarily disabled,
1378 dnl see comment above for the reason.
1379 dnl =================================================
1380 dnl AC_ARG_ENABLE(dynamic-pcrs,
1381 dnl [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if libpcrs is available],
1382 dnl [ if test $enableval = "no"; then have_pcrs=no; fi ])
1385 dnl ====================================================
1386 dnl This check is incomplete. For mingw32 zlib is found
1387 dnl by configure, but not necessarily by the compiler.
1388 dnl ====================================================
1390 [ --disable-zlib Don't use zlib to decompress data before filtering.],
1391 [enableval2=$enableval],
1393 if test $enableval2 = yes; then
1394 AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
1395 if test $have_zlib = "yes"; then
1397 AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.])
1399 AC_MSG_WARN([No zlib found.
1400 Privoxy will not be able to filter compressed content.
1401 This may become a fatal error in the future.])
1406 # If we have libpcre and either we also have pcreposix or
1407 # we don't need pcreposix, then link pcre dynamically; else
1408 # build it and link statically
1410 if test $have_pcre = "yes"; then
1411 echo "using libpcre"
1414 LIBS="$LIBS -lpcre -lpcreposix"
1416 AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see:
1417 https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de])
1419 AC_DEFINE(STATIC_PCRE)
1423 if test $have_pthread = "yes" -o $target_type = "mingw"; then
1424 echo Enabling keep-alive support for outgoing connections.
1425 AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
1428 dnl =================================================
1429 dnl libpcrs is temporarily disabled,
1430 dnl see comment above for the reason.
1431 dnl =================================================
1432 dnl # If we have libpcrs and pcre is linked dynamically
1433 dnl # then also link pcrs dynamically, else build and link
1434 dnl # pcrs statically
1436 dnl if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
1437 dnl echo "using libpcrs"
1438 dnl STATIC_PCRS_ONLY=#
1439 dnl LIBS="$LIBS -lpcrs"
1441 dnl echo "using built-in static pcrs"
1442 AC_DEFINE(STATIC_PCRS)
1446 AC_SUBST(STATIC_PCRE_ONLY)
1447 AC_SUBST(STATIC_PCRS_ONLY)
1449 dnl =================================================================
1450 dnl Final cleanup and output
1451 dnl =================================================================
1453 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
1455 CFLAGS=$old_CFLAGS_nospecial
1456 AC_SUBST(SPECIAL_CFLAGS)
1458 AC_SUBST(PTHREAD_LIB)
1460 AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)