1 dnl Process this file with autoconf to produce a configure script.
3 dnl $Id: configure.in,v 1.124 2009/02/12 15:42:00 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.124 2009/02/12 15:42:00 fabiankeil
32 dnl Declare the code stable.
34 dnl Revision 1.123 2009/02/06 18:17:32 fabiankeil
35 dnl Boldly enable keep-alive support where possible.
37 dnl Revision 1.122 2008/10/18 11:17:52 fabiankeil
38 dnl Connection keep-alive support is ready for testing,
39 dnl allow enabling it through the configure script.
41 dnl Revision 1.121 2008/08/30 12:03:07 fabiankeil
42 dnl Remove FEATURE_COOKIE_JAR.
44 dnl Revision 1.120 2008/08/21 17:19:50 fabiankeil
45 dnl Change version to 3.0.11 UNRELEASED.
47 dnl Revision 1.119 2008/08/13 16:53:50 fabiankeil
48 dnl Change version to 3.0.10 stable.
50 dnl Revision 1.118 2008/06/27 12:50:44 fabiankeil
51 dnl Here's looking at you, Gentoo Linux: Show a warning if
52 dnl --disable-pthread is used even though pthreads are available.
54 dnl Revision 1.117 2008/06/14 12:47:30 fabiankeil
55 dnl Set CODE_STATUS to beta.
57 dnl Revision 1.116 2008/06/08 11:55:09 fabiankeil
58 dnl - Show a warning if the soon-to-be-removed static PCRE code is used.
59 dnl - Hide the "using built-in static pcrs" message. With dynamic linking
60 dnl against PCRS disabled, the message isn't particularly useful.
62 dnl Revision 1.115 2008/05/25 15:50:14 fabiankeil
63 dnl Try to use zlib by default, but just show a warning if it's
64 dnl unavailable. Remove --enable-zlib, add --disable-zlib.
66 dnl Revision 1.114 2008/04/06 15:18:33 fabiankeil
67 dnl Oh well, rename the --enable-pcre-host-patterns option to
68 dnl --enable-extended-host-patterns as it's not really PCRE syntax.
70 dnl Revision 1.113 2008/04/06 14:54:26 fabiankeil
71 dnl Use PCRE syntax in host patterns when configured
72 dnl with --enable-pcre-host-patterns.
74 dnl Revision 1.112 2008/03/27 18:27:22 fabiankeil
75 dnl Remove kill-popups action.
77 dnl Revision 1.111 2008/02/03 14:40:47 fabiankeil
78 dnl Remove unused OSX_DARWIN macro. Reported by Mark Miller in #1852529.
80 dnl Revision 1.110 2008/01/26 10:52:13 fabiankeil
81 dnl Change version to 3.0.9 UNRELEASED.
83 dnl Revision 1.109 2008/01/20 14:07:09 fabiankeil
84 dnl Set CODE_STATUS to stable.
86 dnl Revision 1.108 2007/12/10 02:30:00 hal9
87 dnl Change versioning for > 3.0.7 && < 3.0.8
89 dnl Revision 1.107 2007/11/15 02:50:14 hal9
90 dnl Setting to "beta" (for doc builds, etc).
92 dnl Revision 1.106 2007/05/11 11:49:41 fabiankeil
93 dnl Check for strlcat().
95 dnl Revision 1.105 2007/04/09 17:34:58 fabiankeil
96 dnl Check for snprintf().
98 dnl Revision 1.104 2007/03/31 13:35:11 fabiankeil
99 dnl Add checks for gettimeofday() and strlcpy().
101 dnl Revision 1.103 2007/01/20 16:29:38 fabiankeil
102 dnl Suppress edit buttons for action files if Privoxy has
103 dnl no write access. Suggested by Roland in PR 1564026.
105 dnl Revision 1.102 2007/01/18 14:55:45 fabiankeil
106 dnl Check for tzset() and putenv() to make sure the
107 dnl replacement timegm() isn't included on systems
108 dnl where it fails to compile.
110 dnl Revision 1.101 2007/01/12 15:20:17 fabiankeil
111 dnl Temporarily ignore external libpcrs to prevent
112 dnl problems that are fixed in Privoxy's own version.
114 dnl Revision 1.100 2007/01/07 07:38:10 joergs
115 dnl Disabled -pipe for AmigaOS4.
117 dnl Revision 1.99 2007/01/01 19:36:37 fabiankeil
118 dnl Integrate a modified version of Wil Mahan's
119 dnl zlib patch (PR #895531).
121 dnl Revision 1.98 2006/12/17 19:15:26 fabiankeil
122 dnl Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
124 dnl Revision 1.97 2006/11/21 18:32:46 hal9
125 dnl Setting version to 3.0.7 UNRELEASED for lack of a better setting.
127 dnl Revision 1.96 2006/11/18 14:42:51 fabiankeil
130 dnl Revision 1.95 2006/11/14 02:08:59 hal9
131 dnl Setting version string to 3.0.6 UNRELEASED. This needs to be reset to 3.0.6
132 dnl stable just before CVS is tagged for release.
134 dnl Revision 1.94 2006/11/13 19:05:50 fabiankeil
135 dnl Make pthread mutex locking more generic. Instead of
136 dnl checking for OSX and OpenBSD, check for FEATURE_PTHREAD
137 dnl and use mutex locking unless there is an _r function
138 dnl available. Better safe than sorry.
140 dnl Fixes "./configure --disable-pthread" and should result
141 dnl in less threading-related problems on pthread-using platforms,
142 dnl but it still doesn't fix BR#1122404.
144 dnl Revision 1.93 2006/09/22 01:26:20 hal9
145 dnl Set version to 3.0.5 BETA for hopefully release this weekend.
147 dnl Revision 1.92 2006/08/17 17:09:49 fabiankeil
148 dnl Added check for timegm().
150 dnl Revision 1.91 2006/08/13 22:01:51 fabiankeil
151 dnl Added checks for strptime() and random()
153 dnl Revision 1.90 2006/07/18 14:48:45 david__schmidt
154 dnl Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
155 dnl with what was really the latest development (the v_3_0_branch branch)
157 dnl Revision 1.68.2.20 2004/01/31 16:31:46 oes
158 dnl Resetting version info to 0.0.0 UNRELEASED
160 dnl Revision 1.68.2.19 2004/01/30 09:26:03 oes
161 dnl Added docbook paths for debian sarge; set status for release
163 dnl Revision 1.68.2.18 2003/12/08 15:10:29 oes
164 dnl Bugfix: --with-docbook now correctly accepts its path parameter. Thanks, Roland!
166 dnl Revision 1.68.2.17 2003/10/18 18:41:26 david__schmidt
167 dnl Update to remain buildable on OS/2 - remove the failures
168 dnl due to missing unixisms
170 dnl Revision 1.68.2.16 2003/03/26 16:05:14 oes
171 dnl Marked as 0.0.0 UNRELEASED
173 dnl Revision 1.68.2.15 2003/03/26 00:25:00 oes
174 dnl Bump version for 3.0.2
176 dnl Revision 1.68.2.14 2003/03/25 13:27:12 hal9
177 dnl Manually apply Docbook/FreeBSD patch #708081 from a.go at tiscali.nl.
179 dnl Revision 1.68.2.13 2003/03/18 19:38:57 oes
180 dnl Set version info for 3.0.1 release
182 dnl Revision 1.68.2.12 2003/03/07 03:41:04 david__schmidt
183 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.
185 dnl Revision 1.68.2.11 2003/03/06 15:22:37 oes
186 dnl Fixed minor shell syntax bug
188 dnl Revision 1.68.2.10 2003/01/08 16:39:41 oes
189 dnl Changing default to exclude FEATURE_IMAGE_DETECT_MSIE because of problem reports with recent IEs
191 dnl Revision 1.68.2.9 2002/12/13 23:47:45 hal9
192 dnl Add openbsd $specialflags per gunner at styx2002.no-ip.org
194 dnl Revision 1.68.2.8 2002/11/27 12:55:26 oes
195 dnl Fixed broken handling of pre-set CFLAGS
197 dnl Revision 1.68.2.7 2002/10/25 02:44:22 hal9
198 dnl Port of make install, etc from main trunk. Needs testing! Add Slackware
199 dnl support, and other related changes. Update related docs.
201 dnl Revision 1.68.2.6 2002/09/25 15:35:15 oes
202 dnl Marking as non-release
204 dnl Revision 1.68.2.5 2002/08/25 23:37:00 hal9
205 dnl Getting ready for 3.0 release.
207 dnl Revision 1.68.2.4 2002/08/10 11:21:57 oes
208 dnl - Set Version to 2.9.20 (beta)
209 dnl - Add two AC_DEFINEs that indicate if the pcre*.h headers
210 dnl are located in a pcre/ subdir to the include path.
212 dnl Revision 1.68.2.3 2002/08/06 11:29:36 oes
213 dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH
215 dnl Revision 1.68.2.2 2002/07/30 19:36:09 hal9
216 dnl Bump version to 2.9.17.
218 dnl Revision 1.68.2.1 2002/07/26 15:21:12 oes
219 dnl Bumped version number for 2.9.16 freeze
221 dnl Revision 1.68 2002/05/25 16:54:54 jongfoster
222 dnl Detect if the compiler supports -pthread.
223 dnl Hopefully this will fix bug 560442. (I don't have a HP PA-RISC
224 dnl machine to test this!)
226 dnl Revision 1.67 2002/05/03 14:33:59 oes
227 dnl Generate doc/soucre/ldp.dsl
229 dnl Revision 1.66 2002/05/03 00:41:56 oes
230 dnl Set version to 2.9.15 to comply with new versioning scheme
232 dnl Revision 1.65 2002/04/25 19:13:57 morcego
233 dnl Removed RPM release number declaration on configure.in
234 dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading
235 dnl targets (will produce an error, explaining who to do it, if no value
238 dnl Revision 1.64 2002/04/22 16:32:31 morcego
239 dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2)
240 dnl -rh.spec: uid and gid are now macros
241 dnl -suse.spec: Changing the header Copyright to License (Copyright is
244 dnl Revision 1.63 2002/04/11 11:00:21 oes
245 dnl Applied Moritz' fix for socklen_t on Solaris
247 dnl Revision 1.62 2002/04/11 10:09:20 oes
250 dnl Revision 1.61 2002/04/10 18:14:45 morcego
251 dnl - (privoxy-rh.spec only) Relisting template files on the %%files section
252 dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5
254 dnl Revision 1.60 2002/04/09 16:38:49 oes
255 dnl Added detection of missing config.h.in
257 dnl Revision 1.59 2002/04/06 20:23:55 jongfoster
258 dnl Removing unnessacery tests (C++, ranlib)
260 dnl Revision 1.58 2002/04/04 20:49:20 swa
261 dnl attempt to consolidate the
262 dnl different dokbook versions.
264 dnl Revision 1.57 2002/04/04 00:36:36 gliptak
265 dnl always use pcre for matching
267 dnl Revision 1.56 2002/04/03 22:28:03 gliptak
268 dnl Removed references to gnu_regex
270 dnl Revision 1.55 2002/04/03 03:54:38 gliptak
271 dnl Checking pcre version
273 dnl Revision 1.54 2002/04/01 00:54:24 gliptak
274 dnl More changes needed around regex support.
276 dnl Revision 1.53 2002/03/29 20:09:01 swa
279 dnl Revision 1.52 2002/03/29 19:51:40 gliptak
280 dnl Correcting compile problem with Debian
282 dnl Revision 1.51 2002/03/28 20:43:00 swa
283 dnl set make correctly
285 dnl Revision 1.50 2002/03/27 03:03:45 hal9
286 dnl Add test for man2html
288 dnl Revision 1.49 2002/03/27 02:19:52 david__schmidt
289 dnl More Mac OSX support:
290 dnl - Get rid of extraneous, noisy -pthread warnings
291 dnl - Define unix so we get oes' unix-tagged changes
293 dnl Revision 1.48 2002/03/26 22:29:54 swa
294 dnl we have a new homepage!
296 dnl Revision 1.47 2002/03/26 16:41:00 hal9
297 dnl Upped RPM Release to 3 (need to build new RH packages)
299 dnl Revision 1.46 2002/03/24 18:55:06 jongfoster
300 dnl Making Docbook work under Windows
302 dnl Revision 1.45 2002/03/24 14:19:55 swa
303 dnl set rpm package release in configure.in. nowhere else.
305 dnl Revision 1.44 2002/03/24 13:25:43 swa
306 dnl name change related issues
308 dnl Revision 1.43 2002/03/24 12:56:21 swa
309 dnl name change related issues.
311 dnl Revision 1.42 2002/03/22 18:11:37 jongfoster
312 dnl Bumping version number to 2.9.12
314 dnl Revision 1.41 2002/03/19 19:30:04 morcego
315 dnl - Fixing stylesheet checking on configure. If it is found, no further checks
318 dnl - configure will now check for db2html or docbook2html (should work now
319 dnl on SuSe without the docbktls package)
321 dnl Revision 1.40 2002/03/09 14:33:30 oes
322 dnl Fixing the (harmless) AC_CHECK_FILE warnings
324 dnl Revision 1.39 2002/03/08 16:46:13 oes
325 dnl Added --enable-no-gifs
327 dnl Revision 1.38 2002/03/08 14:13:50 morcego
328 dnl Fixing configure, to remove a command not found error.
330 dnl Revision 1.37 2002/03/08 12:58:21 oes
331 dnl Tiny bugfix in AC_ARG_WITH(debug)
333 dnl Revision 1.36 2002/03/06 23:50:36 morcego
334 dnl Will not test for a text browser if we are not using docbook.
336 dnl Revision 1.35 2002/03/06 21:55:52 morcego
337 dnl New configure option: --with-docbook=(yes|no|directory)
338 dnl Preliminary new platform detection code included. Will work with the
339 dnl old one for now. No use just trowing it away
341 dnl Revision 1.34 2002/03/06 20:57:00 morcego
342 dnl Fixing detection of stylesheets on SuSe.
344 dnl Revision 1.33 2002/03/05 17:31:11 morcego
345 dnl Search for docbook.dsl. Should solve portability problems for SuSe.
347 dnl Revision 1.32 2002/03/05 14:07:43 morcego
348 dnl configure now detects rpm topdir, and change GNUmakefile acordingly
349 dnl (based on sugestion by Sarantis Paskalis)
351 dnl Revision 1.31 2002/03/05 13:43:28 morcego
352 dnl Checking for text browser, so redhat-dok can work.
354 dnl Revision 1.30 2002/03/04 17:58:01 oes
355 dnl Deleted _DEBUG and PID_FILE_PATH
357 dnl Revision 1.29 2002/02/28 14:20:53 oes
358 dnl Fixed detection of gethost*_r functions on Solaris
360 dnl Revision 1.28 2002/02/27 15:02:38 oes
361 dnl Incremented version number
363 dnl Revision 1.27 2002/01/10 12:35:18 oes
364 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
365 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
366 dnl Is there a better way?
368 dnl Revision 1.26 2002/01/09 14:29:49 oes
369 dnl - Added AC_CHECK_FUNC tests for the availability of
370 dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and
371 dnl localtime_r, as well as AC_TRY_COMPILE tests to
372 dnl determine their signatures.
374 dnl - Fixed a bug with the init of CFLAGS that was
375 dnl reported by barsnick
377 dnl Revision 1.25 2002/01/04 15:27:18 oes
378 dnl Changed quoting of CODE_STATUS for use in make
380 dnl Revision 1.24 2001/12/30 14:07:31 steudten
381 dnl - Add signal handling (unix)
382 dnl - Add SIGHUP handler (unix)
383 dnl - Add creation of pidfile (unix)
384 dnl - Add action 'top' in rc file (RH)
385 dnl - Add entry 'SIGNALS' to manpage
386 dnl - Add exit message to logfile (unix)
388 dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt
389 dnl Change from "alpha" to "beta" in configure.in
391 dnl Revision 1.22 2001/12/01 11:24:01 jongfoster
392 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
393 dnl make break in a more obvious way.
395 dnl Revision 1.21 2001/11/30 21:35:54 jongfoster
396 dnl Bumping version number to 2.9.10
398 dnl Revision 1.20 2001/10/23 21:24:09 jongfoster
399 dnl Support for FEATURE_CGI_EDIT_ACTIONS
401 dnl Revision 1.19 2001/10/07 15:33:14 oes
402 dnl Removed FEATURE_DENY_GZIP
403 dnl Bumped up version number
405 dnl Revision 1.18 2001/09/13 13:10:24 steudten
407 dnl PreWork for Debug Interface.
408 dnl Add new option "--with-debug" to enable debugging (flags aso.)
410 dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt
411 dnl Mac OSX (Darwin) support added.
413 dnl Revision 1.16 2001/09/12 22:55:45 joergs
414 dnl AmigaOS support added.
416 dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt
418 dnl OS/2 port: update autoconf'd support for the platform.
420 dnl Revision 1.14 2001/07/30 22:12:11 jongfoster
421 dnl Fixing Solaris build (I hope) and tidying up #defines:
422 dnl - All feature #defines are now of the form FEATURE_xxx
423 dnl - Permanently turned off WIN_GUI_EDIT
424 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
426 dnl Revision 1.13 2001/07/29 17:09:17 jongfoster
427 dnl Major changes to build system in order to fix these bugs:
428 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
429 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
430 dnl which shared libraries are available
431 dnl - Solaris support (?) (Not tested under Solaris yet)
433 dnl Revision 1.12 2001/07/25 19:16:27 oes
434 dnl Bumping version number to 2.9.8
436 dnl Revision 1.11 2001/07/21 18:00:07 jongfoster
437 dnl Bumping version number to 2.9.7
439 dnl Revision 1.10 2001/07/18 17:25:04 oes
442 dnl Revision 1.9 2001/07/15 19:45:13 jongfoster
443 dnl Added support for linking with POSIX threads library
445 dnl Revision 1.8 2001/07/15 17:54:29 jongfoster
446 dnl Renaming #define STATIC to STATIC_PCRE
447 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
448 dnl POSIX threads support.
450 dnl Revision 1.7 2001/07/13 13:58:05 oes
451 dnl Completely reorganized the selection scheme for
452 dnl pcre, pcreposix, pcrs and gnu_regex:
454 dnl The presence of shared pcre, pcreposix or pcrs
455 dnl libraried is now autodetected. Additionally, the
456 dnl user can enforce using the built-in static variants
457 dnl by specifying --disable-dynamic-(pcre|pcrs).
458 dnl Care is taken to avoid that pcre is dyn, while pcreposix
459 dnl is static, if both are used and that pcrs is static if
462 dnl The choice between pcre, gnu or no regex for actionsfile
463 dnl URL matching is now via
464 dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
465 dnl default being pcre.
467 dnl Revision 1.6 2001/06/29 21:56:40 oes
470 dnl Revision 1.5 2001/06/29 13:26:27 oes
471 dnl Introduced #define CODE_STATUS
473 dnl Revision 1.4 2001/05/29 09:50:24 jongfoster
474 dnl Unified blocklist/imagelist/permissionslist.
475 dnl File format is still under discussion, but the internal changes
476 dnl are (mostly) done.
478 dnl Also modified interceptor behaviour:
479 dnl - We now intercept all URLs beginning with one of the following
480 dnl prefixes (and *only* these prefixes):
482 dnl * http://ijbswa.sf.net/config/
483 dnl * http://ijbswa.sourceforge.net/config/
484 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
485 dnl - Internal changes so that intercepted and fast redirect pages
486 dnl are not replaced with an image.
487 dnl - Interceptors now have the option to send a binary page direct
488 dnl to the client. (i.e. ijb-send-banner uses this)
489 dnl - Implemented show-url-info interceptor. (Which is why I needed
490 dnl the above interceptors changes - a typical URL is
491 dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
492 dnl The previous mechanism would not have intercepted that, and
493 dnl if it had been intercepted then it then it would have replaced
494 dnl it with an image.)
496 dnl Revision 1.3 2001/05/22 18:46:04 oes
498 dnl - Enabled filtering banners by size rather than URL
499 dnl by adding patterns that replace all standard banner
500 dnl sizes with the "Junkbuster" gif to the re_filterfile
502 dnl - Enabled filtering WebBugs by providing a pattern
503 dnl which kills all 1x1 images
505 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
506 dnl which is selected by the (nonstandard and therefore
507 dnl capital) letter 'U' in the option string.
508 dnl It causes the quantifiers to be ungreedy by default.
509 dnl Appending a ? turns back to greedy (!).
511 dnl - Added a new interceptor ijb-send-banner, which
512 dnl sends back the "Junkbuster" gif. Without imagelist or
513 dnl MSIE detection support, or if tinygif = 1, or the
514 dnl URL isn't recognized as an imageurl, a lame HTML
515 dnl explanation is sent instead.
517 dnl - Added new feature, which permits blocking remote
518 dnl script redirects and firing back a local redirect
520 dnl The feature is conditionally compiled, i.e. it
521 dnl can be disabled with --disable-fast-redirects,
522 dnl plus it must be activated by a "fast-redirects"
523 dnl line in the config file, has its own log level
524 dnl and of course wants to be displayed by show-proxy-args
525 dnl Note: Boy, all the #ifdefs in 1001 locations and
526 dnl all the fumbling with configure.in and acconfig.h
527 dnl were *way* more work than the feature itself :-(
529 dnl - Because a generic redirect template was needed for
530 dnl this, tinygif = 3 now uses the same.
532 dnl - Moved GIFs, and other static HTTP response templates
535 dnl - Some minor fixes
537 dnl - Removed some >400 CRs again (Jon, you really worked
540 dnl Revision 1.2 2001/05/20 01:21:20 jongfoster
541 dnl Version 2.9.4 checkin.
542 dnl - Merged popupfile and cookiefile, and added control over PCRS
543 dnl filtering, in new "permissionsfile".
544 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
545 dnl file error you now get a message box (in the Win32 GUI) rather
546 dnl than the program exiting with no explanation.
547 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
549 dnl - Removed tabs from "config"
550 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
551 dnl - Bumped up version number.
553 dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes
554 dnl Initial import of version 2.9.3 source tree
559 dnl =================================================================
560 dnl AutoConf Initialization
561 dnl =================================================================
563 AC_REVISION($Revision: 1.124 $)
566 if test ! -f config.h.in; then
567 echo "You need to run autoheader first. "
568 echo -n "Shall I do this for you now? (y/n) "
570 if test "$answer" != "y"; then
577 AC_CONFIG_HEADER([config.h])
582 AC_ARG_WITH(docbook, dnl
583 --with-docbook=[[yes|no|directory]]
584 Enable docbook documentation creation
585 (default = yes, for gnu and linux),[dnl
586 case "$with_docbook" in
596 AC_ARG_WITH(db2html, dnl
597 --with-db2html=<path/executable>
598 Set the location of the docbook to html converter
599 (default = search),[dnl
603 dnl =================================================================
604 dnl Application version number
605 dnl =================================================================
610 CODE_STATUS="UNRELEASED"
612 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
613 dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
614 dnl whenever CVS in a stable branch differs from the last release.
616 dnl =================================================================
617 dnl Substitute the version numbers
618 dnl =================================================================
620 AC_SUBST(VERSION_MAJOR)
621 AC_SUBST(VERSION_MINOR)
622 AC_SUBST(VERSION_POINT)
623 AC_SUBST(CODE_STATUS)
626 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
627 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
628 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
629 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
630 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
632 dnl =================================================================
633 dnl Checks for programs needed to build.
634 dnl =================================================================
636 dnl Keep AC_PROG_CC from setting its own defaults:
637 if test "X$CFLAGS" = "X"; then
648 AC_CHECK_PROG(GDB,gdb,yes,no)
649 AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
650 AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
654 dnl =================================================================
655 dnl debug, gcc and gdb support
656 dnl =================================================================
659 [ --with-debug Enable debug mode],
661 if test "x$withval" != "xno" ; then
662 if test $ac_cv_prog_cc_g = yes; then
663 if test "$GCC" = yes; then
665 CFLAGS="$CFLAGS -ggdb"
669 CFLAGS="$CFLAGS -Wshadow -Wconversion"
677 if test "X$CFLAGS" = "X "; then # if CFLAGS were unset (see above)
678 if test "$GCC" = yes; then
685 dnl =================================================================
686 dnl Check for user and group validity
687 dnl =================================================================
690 if test "$EMXOS2" = yes; then
691 echo "Skipping user and group validity stuff.";
695 $ID privoxy >/dev/null 2>/dev/null
696 if test $? -ne 0 ; then
697 AC_MSG_WARN(There is no user 'privoxy' on this system)
699 AC_MSG_CHECKING([for user])
701 [ --with-user=privoxy Set user under which privoxy will run],
703 if test "x$withval" != "xyes"; then
704 if test $ID = no ; then
705 AC_MSG_ERROR(There is no 'id' program on this system)
707 AC_MSG_RESULT($with_user)
708 $ID $with_user 2>/dev/null >/dev/null
709 if test $? -eq 0 ; then
712 AC_MSG_ERROR(There is no user '$with_user' on this system)
716 AC_MSG_ERROR(We need a user if you give me this parameter)
720 if test $ID = no ; then
721 AC_MSG_ERROR(There is no 'id' programm on this system)
723 AC_MSG_RESULT(none specified)
730 AC_MSG_CHECKING([for group])
732 [ --with-group=privoxy Set group for privoxy],
734 if test "x$withval" != "xyes"; then
735 if test $BGROUPS = no ; then
736 AC_MSG_ERROR(There is no 'groups' program on this system)
738 AC_MSG_RESULT($with_group)
739 $BGROUPS $USER >/dev/null
740 if test $? -eq 0 ; then
741 # FIXME: this fails if valid group, but not first group
743 if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
744 AC_MSG_ERROR(The given value '$withval' does not match group entry)
749 AC_MSG_ERROR(There is no group entry for user '$USER')
753 AC_MSG_ERROR(We need a group if you give me this parameter)
757 if test $BGROUPS = no ; then
758 AC_MSG_ERROR(There is no 'groups' programm on this system)
760 AC_MSG_RESULT(none specified)
769 dnl =================================================================
770 dnl additional gcc flags
771 dnl =================================================================
774 if test "$host" != "powerpc-unknown-amigaos"; then
775 CFLAGS="-pipe $CFLAGS"
780 dnl =================================================================
782 dnl =================================================================
784 dnl Must do this first.
786 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
787 dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
788 dnl the compiler will use completely different sets of library
789 dnl and include files.
791 dnl =================================================================
796 if test "$MINGW32" = "yes"; then
799 if test "$CYGWIN" = "yes"; then
806 if test $dodk = auto; then
808 if test $target_type = unix; then
817 dnl Decide what to do based on target_type
818 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
819 dnl This is because we don't know yet whether pthread is enabled.
821 AC_ARG_ENABLE(mingw32,
822 [ --enable-mingw32 Use mingw32 for a Windows GUI],
823 [if test $enableval = yes; then
827 if test $target_type = mingw; then
829 SPECIAL_CFLAGS="-mwindows -mno-cygwin"
830 PTHREAD_LIB=-lpthreadGC
831 echo "Using mingw32 (Win32 GUI)"
834 if test $target_type = cygwin; then
835 SPECIAL_CFLAGS="-mno-win32"
837 echo "Using Cygnus (Win32 command line)"
840 PTHREAD_LIB=-lpthread
845 dnl Checking which text html browser we have avaliable
846 if test $dodk != no; then
847 AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
848 if test "$WDUMP" = false; then
849 AC_MSG_WARN(You need some kind of text browser to build documentation \(w3m, lynx and links are supported\))
851 if test $DB2HTML = false; then
852 dnl We need to clean the variable, otherwise AC_CHECK_PROGS
855 AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
861 dnl If we use rpm, we need to check where %_topdir is
862 AC_CHECK_PROGS(RPMBIN,rpm,false)
863 if test $RPMBIN != false; then
864 RPM_BASE=`rpm --eval "%{_topdir}"`
865 if test "$RPM_BASE" = ""; then
866 RPM_BASE=/usr/src/redhat
871 dnl Check for jade, so we can build the documentation
872 AC_CHECK_PROGS(JADEBIN,jade openjade,false)
875 dnl Check for man2html for docs.
876 AC_CHECK_PROGS(MAN2HTML,man2html,false)
879 dnl Set doc status flag for conditional content inclusions
880 DOC_STATUS=p-not-stable
881 if test $CODE_STATUS = stable; then
882 DOC_STATUS="p-stable"
886 dnl Checking for the docbook.dsl stylesheet file
887 dnl It is still not portable (directory slash)
889 if test $dodk = yes; then
890 if test $DKPREFIX = none; then
891 for i in /usr/share/sgml/docbook/dsssl-stylesheets \
892 /usr/share/sgml/docbkdsl /usr/share/sgml/docbook-dsssl \
893 /usr/local/share/sgml/docbook/dsssl/modular \
894 /usr/share/sgml/docbook/stylesheet/dsssl/modular/ \
896 dnl echo -n does not fly with /bin/sh.
897 dnl echo -n "checking for $i/html/docbook.dsl..."
898 AC_MSG_CHECKING([for $i])
899 if test -f $i/html/docbook.dsl; then
907 # where are the catalogs?
908 for i in /usr/share/sgml/CATALOG.docbk30 \
909 /usr/share/sgml/CATALOG.docbk31 \
910 /usr/share/sgml/CATALOG.docbk31 \
911 /usr/local/share/sgml/docbook/3.0/docbook.cat \
912 /usr/local/share/sgml/docbook/3.1/docbook.cat \
913 /usr/share/sgml/docbook/dtd/3.1/docbook.cat \
915 dnl echo -n "checking for $i..."
916 AC_MSG_CHECKING([for $i])
919 JADECAT="$JADECAT -c $i"
929 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
930 old_CFLAGS_nospecial=$CFLAGS
931 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
933 # Hack to force AutoConf to use the CFLAGS we just set
934 dnl Warning: This may break with a future version of Autoconf
935 dnl Tested with autoconf 2.13
936 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
937 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
938 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
941 dnl =================================================================
943 dnl =================================================================
945 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
947 AC_ARG_ENABLE(pthread,
948 [ --disable-pthread Don't use POSIX threads (pthreads)],
949 [if test $enableval = no; then
951 if test $have_pthread = yes; then
952 AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.])
953 AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.])
958 if test $have_pthread = yes; then
960 AC_DEFINE(FEATURE_PTHREAD)
961 echo Using POSIX threads
962 if test "$GCC" = "yes"; then
963 # Set a GCC specific switch:
964 if test "$target_type" = "unix"; then
965 ac_jgf_save_CFLAGS=$CFLAGS
966 CFLAGS="$CFLAGS -pthread"
967 AC_TRY_LINK([#include <pthread.h>],
968 [void *p = pthread_create;],
970 # This compiler switch makes GCC on Linux thread-safe
971 # However, it's not supported on most other OS.
973 SPECIAL_CFLAGS="-pthread"
975 CFLAGS=$ac_jgf_save_CFLAGS
980 echo Using native threads
983 AC_SUBST(PTHREAD_ONLY)
985 dnl =================================================================
986 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
987 dnl gmtime and localtime
988 dnl =================================================================
990 dnl Next line needed to find the gethost*_r functions on Solaris
991 AC_CHECK_LIB(nsl, gethostbyname)
993 AC_CHECK_FUNC(gethostbyaddr_r, [
994 AC_MSG_CHECKING([signature of gethostbyaddr_r])
998 struct hostent *h, *hp;
1001 (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
1003 AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
1004 AC_MSG_RESULT([8 args])
1012 (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
1014 AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
1015 AC_MSG_RESULT([7 args])
1020 struct hostent_data *d;
1024 (void) gethostbyaddr_r(a, l, t, h, d)
1026 AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
1027 AC_MSG_RESULT([5 args])
1029 AC_MSG_RESULT(unrecognised)
1037 AC_CHECK_FUNC(gethostbyname_r, [
1038 AC_MSG_CHECKING([signature of gethostbyname_r])
1042 struct hostent *h, *r;
1045 (void) gethostbyname_r(n, h, b, bl, &r, &e)
1047 AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
1048 AC_MSG_RESULT([6 args])
1056 (void) gethostbyname_r(n, h, b, bl, &e)
1058 AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
1059 AC_MSG_RESULT([5 args])
1064 struct hostent_data *d;
1067 (void) gethostbyname_r(n, h, d)
1069 AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
1070 AC_MSG_RESULT([3 args])
1072 AC_MSG_RESULT(unrecognised)
1080 AC_CHECK_FUNC(gmtime_r, [
1081 AC_MSG_CHECKING([signature of gmtime_r])
1087 (void) gmtime_r(t, tm)
1090 AC_DEFINE(HAVE_GMTIME_R)
1092 AC_MSG_RESULT(unrecognised)
1098 AC_CHECK_FUNC(localtime_r, [
1099 AC_MSG_CHECKING([signature of localtime_r])
1105 (void) localtime_r(t, tm)
1108 AC_DEFINE(HAVE_LOCALTIME_R)
1110 AC_MSG_RESULT(unrecognised)
1116 dnl =================================================================
1117 dnl Solaris specific
1118 dnl FIXME: Not tested on Solaris yet...
1119 dnl ISFIXED: Have tested it on Solaris, but there are other ways to
1120 dnl make these checks generic, e.g.:
1121 dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt))
1122 dnl (Moritz Barsnick <moritz@barsnick.net>)
1123 dnl =================================================================
1129 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
1130 AC_DEFINE(__EXTENSIONS__)
1131 if test "$GCC" = "yes"; then
1132 # Set a GCC specific switch:
1133 # This compiler switch makes Solaris thread-safe
1135 SPECIAL_CFLAGS="-pthreads"
1137 # What do we do without GCC? Guess this:
1138 SPECIAL_CFLAGS="-D_REENTRANT"
1143 AC_SUBST(SOCKET_LIB)
1145 dnl =================================================================
1146 dnl Solaris problem, and others perhaps (socklen_t is undefined)
1147 dnl =================================================================
1149 AC_MSG_CHECKING([for socklen_t])
1150 AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
1152 AC_DEFINE(socklen_t,int,
1153 [ Define to 'int' if <sys/socket.h> doesn't have it. ]))
1156 dnl =================================================================
1158 dnl =================================================================
1161 *-os2-emx*) SOCKET_LIB=-lsocket
1165 AC_SUBST(SOCKET_LIB)
1167 dnl =================================================================
1168 dnl Mac OSX specific
1169 dnl =================================================================
1172 *-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
1176 dnl =================================================================
1177 dnl OpenBSD specific
1178 dnl =================================================================
1181 *-openbsd*) SPECIAL_CFLAGS="$SPECIAL_CFLAGS -Dunix"
1185 dnl =================================================================
1186 dnl AmigaOS specific
1187 dnl =================================================================
1192 *-amigaos) AMIGAOS_ONLY=
1196 AC_SUBST(AMIGAOS_ONLY)
1198 dnl =================================================================
1199 dnl Check for standard compiler stuff
1200 dnl =================================================================
1211 AC_CHECK_SIZEOF(int, 4)
1212 AC_CHECK_SIZEOF(char *, 4)
1213 AC_CHECK_SIZEOF(long, 4)
1214 AC_CHECK_SIZEOF(long long, 8)
1215 AC_CHECK_SIZEOF(size_t, 4)
1217 dnl Checks for header files.
1218 dnl AC_HEADER_SYS_WAIT
1219 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
1220 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])
1222 dnl Checks for library functions.
1224 dnl AC_CHECK_FUNC(strstr)
1225 dnl bcopy and memmove are for PCRE
1226 AC_CHECK_FUNCS([strerror bcopy memmove])
1227 AC_PROG_GCC_TRADITIONAL
1228 dnl uncommenting does not work for swa. suse linux
1232 dnl uncommenting does not work for swa. suse linux
1234 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])
1237 dnl =================================================================
1238 dnl Checks for libraries.
1239 dnl =================================================================
1240 dnl Note: Some systems may have the library but not the system header
1241 dnl file, so we must check for both.
1242 dnl Also check for correct version
1243 AC_CHECK_LIB(pcre, pcre_compile, [
1244 AC_CHECK_HEADER(pcre.h, [
1245 AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])
1247 AC_CHECK_HEADER(pcre/pcre.h, [
1248 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])
1253 AC_CHECK_LIB(pcreposix, regcomp, [
1254 AC_CHECK_HEADER(pcreposix.h, [
1255 AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])
1257 AC_CHECK_HEADER(pcre/pcreposix.h, [
1258 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)])
1259 ], [have_pcreposix=no])
1261 ], [have_pcreposix=no], -lpcre)
1263 dnl ================================================================
1264 dnl libpcrs is temporarily disabled.
1266 dnl Privoxy's own pcrs version fixes some problems that
1267 dnl are present in libpcrs 0.3, the last pcrs release we
1268 dnl know of, and as libpcrs seems to be currently unmaintained
1269 dnl we can't send these fixes upstream.
1270 dnl ================================================================
1272 dnl AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre)
1274 dnl =================================================================
1276 dnl =================================================================
1280 dnl =================================================================
1282 dnl =================================================================
1284 AC_ARG_ENABLE(toggle,
1285 [ --disable-toggle Don't support temporary disable],
1286 [if test $enableval = yes; then
1287 AC_DEFINE(FEATURE_TOGGLE)
1288 fi],AC_DEFINE(FEATURE_TOGGLE))
1290 AC_ARG_ENABLE(force,
1291 [ --disable-force Don't allow single-page disable],
1292 [if test $enableval = yes; then
1293 AC_DEFINE(FEATURE_FORCE_LOAD)
1294 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
1296 AC_ARG_ENABLE(fast-redirects,
1297 [ --disable-fast-redirects Don't support fast redirects],
1298 [if test $enableval = yes; then
1299 AC_DEFINE(FEATURE_FAST_REDIRECTS)
1300 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
1302 AC_ARG_ENABLE(stats,
1303 [ --disable-stats Don't keep statistics],
1304 [if test $enableval = yes; then
1305 AC_DEFINE(FEATURE_STATISTICS)
1306 fi],AC_DEFINE(FEATURE_STATISTICS))
1308 AC_ARG_ENABLE(ie-images,
1309 [ --enable-ie-images Enable a quick but not always reliable auto-detect whether requests from
1310 MS Internet Explorer are for an image or not.],
1311 [if test $enableval = yes; then
1312 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
1315 AC_ARG_ENABLE(image-blocking,
1316 [ --disable-image-blocking Don't try to figure out whether a request is
1317 for an image or HTML - assume HTML.],
1318 [if test $enableval = yes; then
1319 AC_DEFINE(FEATURE_IMAGE_BLOCKING)
1321 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
1323 AC_ARG_ENABLE(acl-files,
1324 [ --disable-acl-files Prevents the use of ACL files to control access to
1325 Privoxy by IP address.],
1326 [if test $enableval = yes; then
1327 AC_DEFINE(FEATURE_ACL)
1329 AC_DEFINE(FEATURE_ACL))
1331 AC_ARG_ENABLE(trust-files,
1332 [ --disable-trust-files Prevents the use of trust files.],
1333 [if test $enableval = yes; then
1334 AC_DEFINE(FEATURE_TRUST)
1336 AC_DEFINE(FEATURE_TRUST))
1338 AC_ARG_ENABLE(editor,
1339 [ --disable-editor Prevents the use of the web-based actions file
1340 editor and web-based temporary disable setting.],
1341 [if test $enableval = yes; then
1342 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
1344 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
1346 AC_ARG_ENABLE(no-gifs,
1347 [ --enable-no-gifs Use politically correct PNG format instead of GIF
1348 for built-in images. May not work with all browsers.],
1349 [if test $enableval = yes; then
1350 AC_DEFINE(FEATURE_NO_GIFS)
1353 AC_ARG_ENABLE(graceful-termination,
1354 [ --enable-graceful-termination Allow to shutdown Privoxy through the webinterface.],
1355 [if test $enableval = yes; then
1356 AC_DEFINE(FEATURE_GRACEFUL_TERMINATION)
1359 AC_ARG_ENABLE(extended-host-patterns,
1360 [ --enable-extended-host-patterns Allow extended regular expressions in host patterns.],
1361 [if test $enableval = yes; then
1362 AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
1365 dnl pcre/pcrs is needed for CGI anyway, so
1366 dnl the choice is only between static and
1369 AC_ARG_ENABLE(dynamic-pcre,
1370 [ --disable-dynamic-pcre Use the built-in, static pcre, even if libpcre is available],
1371 [ if test $enableval = "no"; then have_pcre=no; fi ])
1373 dnl =================================================
1374 dnl libpcrs is temporarily disabled,
1375 dnl see comment above for the reason.
1376 dnl =================================================
1377 dnl AC_ARG_ENABLE(dynamic-pcrs,
1378 dnl [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if libpcrs is available],
1379 dnl [ if test $enableval = "no"; then have_pcrs=no; fi ])
1382 dnl ====================================================
1383 dnl This check is incomplete. For mingw32 zlib is found
1384 dnl by configure, but not necessarily by the compiler.
1385 dnl ====================================================
1387 [ --disable-zlib Don't use zlib to decompress data before filtering.],
1388 [enableval2=$enableval],
1390 if test $enableval2 = yes; then
1391 AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
1392 if test $have_zlib = "yes"; then
1394 AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.])
1396 AC_MSG_WARN([No zlib found.
1397 Privoxy will not be able to filter compressed content.
1398 This may become a fatal error in the future.])
1403 # If we have libpcre and either we also have pcreposix or
1404 # we don't need pcreposix, then link pcre dynamically; else
1405 # build it and link statically
1407 if test $have_pcre = "yes"; then
1408 echo "using libpcre"
1411 LIBS="$LIBS -lpcre -lpcreposix"
1413 AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see:
1414 https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de])
1416 AC_DEFINE(STATIC_PCRE)
1420 if test $have_pthread = "yes" -o $target_type = "mingw"; then
1421 echo Enabling keep-alive support for outgoing connections.
1422 AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
1425 dnl =================================================
1426 dnl libpcrs is temporarily disabled,
1427 dnl see comment above for the reason.
1428 dnl =================================================
1429 dnl # If we have libpcrs and pcre is linked dynamically
1430 dnl # then also link pcrs dynamically, else build and link
1431 dnl # pcrs statically
1433 dnl if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
1434 dnl echo "using libpcrs"
1435 dnl STATIC_PCRS_ONLY=#
1436 dnl LIBS="$LIBS -lpcrs"
1438 dnl echo "using built-in static pcrs"
1439 AC_DEFINE(STATIC_PCRS)
1443 AC_SUBST(STATIC_PCRE_ONLY)
1444 AC_SUBST(STATIC_PCRS_ONLY)
1446 dnl =================================================================
1447 dnl Final cleanup and output
1448 dnl =================================================================
1450 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
1452 CFLAGS=$old_CFLAGS_nospecial
1453 AC_SUBST(SPECIAL_CFLAGS)
1455 AC_SUBST(PTHREAD_LIB)
1457 AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)