1 dnl Process this file with autoconf to produce a configure script.
3 dnl $Id: configure.in,v 1.122 2008/10/18 11:17:52 fabiankeil Exp $
5 dnl Written by and Copyright (C) 2001-2008 the SourceForge
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.122 2008/10/18 11:17:52 fabiankeil
32 dnl Connection keep-alive support is ready for testing,
33 dnl allow enabling it through the configure script.
35 dnl Revision 1.121 2008/08/30 12:03:07 fabiankeil
36 dnl Remove FEATURE_COOKIE_JAR.
38 dnl Revision 1.120 2008/08/21 17:19:50 fabiankeil
39 dnl Change version to 3.0.11 UNRELEASED.
41 dnl Revision 1.119 2008/08/13 16:53:50 fabiankeil
42 dnl Change version to 3.0.10 stable.
44 dnl Revision 1.118 2008/06/27 12:50:44 fabiankeil
45 dnl Here's looking at you, Gentoo Linux: Show a warning if
46 dnl --disable-pthread is used even though pthreads are available.
48 dnl Revision 1.117 2008/06/14 12:47:30 fabiankeil
49 dnl Set CODE_STATUS to beta.
51 dnl Revision 1.116 2008/06/08 11:55:09 fabiankeil
52 dnl - Show a warning if the soon-to-be-removed static PCRE code is used.
53 dnl - Hide the "using built-in static pcrs" message. With dynamic linking
54 dnl against PCRS disabled, the message isn't particularly useful.
56 dnl Revision 1.115 2008/05/25 15:50:14 fabiankeil
57 dnl Try to use zlib by default, but just show a warning if it's
58 dnl unavailable. Remove --enable-zlib, add --disable-zlib.
60 dnl Revision 1.114 2008/04/06 15:18:33 fabiankeil
61 dnl Oh well, rename the --enable-pcre-host-patterns option to
62 dnl --enable-extended-host-patterns as it's not really PCRE syntax.
64 dnl Revision 1.113 2008/04/06 14:54:26 fabiankeil
65 dnl Use PCRE syntax in host patterns when configured
66 dnl with --enable-pcre-host-patterns.
68 dnl Revision 1.112 2008/03/27 18:27:22 fabiankeil
69 dnl Remove kill-popups action.
71 dnl Revision 1.111 2008/02/03 14:40:47 fabiankeil
72 dnl Remove unused OSX_DARWIN macro. Reported by Mark Miller in #1852529.
74 dnl Revision 1.110 2008/01/26 10:52:13 fabiankeil
75 dnl Change version to 3.0.9 UNRELEASED.
77 dnl Revision 1.109 2008/01/20 14:07:09 fabiankeil
78 dnl Set CODE_STATUS to stable.
80 dnl Revision 1.108 2007/12/10 02:30:00 hal9
81 dnl Change versioning for > 3.0.7 && < 3.0.8
83 dnl Revision 1.107 2007/11/15 02:50:14 hal9
84 dnl Setting to "beta" (for doc builds, etc).
86 dnl Revision 1.106 2007/05/11 11:49:41 fabiankeil
87 dnl Check for strlcat().
89 dnl Revision 1.105 2007/04/09 17:34:58 fabiankeil
90 dnl Check for snprintf().
92 dnl Revision 1.104 2007/03/31 13:35:11 fabiankeil
93 dnl Add checks for gettimeofday() and strlcpy().
95 dnl Revision 1.103 2007/01/20 16:29:38 fabiankeil
96 dnl Suppress edit buttons for action files if Privoxy has
97 dnl no write access. Suggested by Roland in PR 1564026.
99 dnl Revision 1.102 2007/01/18 14:55:45 fabiankeil
100 dnl Check for tzset() and putenv() to make sure the
101 dnl replacement timegm() isn't included on systems
102 dnl where it fails to compile.
104 dnl Revision 1.101 2007/01/12 15:20:17 fabiankeil
105 dnl Temporarily ignore external libpcrs to prevent
106 dnl problems that are fixed in Privoxy's own version.
108 dnl Revision 1.100 2007/01/07 07:38:10 joergs
109 dnl Disabled -pipe for AmigaOS4.
111 dnl Revision 1.99 2007/01/01 19:36:37 fabiankeil
112 dnl Integrate a modified version of Wil Mahan's
113 dnl zlib patch (PR #895531).
115 dnl Revision 1.98 2006/12/17 19:15:26 fabiankeil
116 dnl Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
118 dnl Revision 1.97 2006/11/21 18:32:46 hal9
119 dnl Setting version to 3.0.7 UNRELEASED for lack of a better setting.
121 dnl Revision 1.96 2006/11/18 14:42:51 fabiankeil
124 dnl Revision 1.95 2006/11/14 02:08:59 hal9
125 dnl Setting version string to 3.0.6 UNRELEASED. This needs to be reset to 3.0.6
126 dnl stable just before CVS is tagged for release.
128 dnl Revision 1.94 2006/11/13 19:05:50 fabiankeil
129 dnl Make pthread mutex locking more generic. Instead of
130 dnl checking for OSX and OpenBSD, check for FEATURE_PTHREAD
131 dnl and use mutex locking unless there is an _r function
132 dnl available. Better safe than sorry.
134 dnl Fixes "./configure --disable-pthread" and should result
135 dnl in less threading-related problems on pthread-using platforms,
136 dnl but it still doesn't fix BR#1122404.
138 dnl Revision 1.93 2006/09/22 01:26:20 hal9
139 dnl Set version to 3.0.5 BETA for hopefully release this weekend.
141 dnl Revision 1.92 2006/08/17 17:09:49 fabiankeil
142 dnl Added check for timegm().
144 dnl Revision 1.91 2006/08/13 22:01:51 fabiankeil
145 dnl Added checks for strptime() and random()
147 dnl Revision 1.90 2006/07/18 14:48:45 david__schmidt
148 dnl Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
149 dnl with what was really the latest development (the v_3_0_branch branch)
151 dnl Revision 1.68.2.20 2004/01/31 16:31:46 oes
152 dnl Resetting version info to 0.0.0 UNRELEASED
154 dnl Revision 1.68.2.19 2004/01/30 09:26:03 oes
155 dnl Added docbook paths for debian sarge; set status for release
157 dnl Revision 1.68.2.18 2003/12/08 15:10:29 oes
158 dnl Bugfix: --with-docbook now correctly accepts its path parameter. Thanks, Roland!
160 dnl Revision 1.68.2.17 2003/10/18 18:41:26 david__schmidt
161 dnl Update to remain buildable on OS/2 - remove the failures
162 dnl due to missing unixisms
164 dnl Revision 1.68.2.16 2003/03/26 16:05:14 oes
165 dnl Marked as 0.0.0 UNRELEASED
167 dnl Revision 1.68.2.15 2003/03/26 00:25:00 oes
168 dnl Bump version for 3.0.2
170 dnl Revision 1.68.2.14 2003/03/25 13:27:12 hal9
171 dnl Manually apply Docbook/FreeBSD patch #708081 from a.go at tiscali.nl.
173 dnl Revision 1.68.2.13 2003/03/18 19:38:57 oes
174 dnl Set version info for 3.0.1 release
176 dnl Revision 1.68.2.12 2003/03/07 03:41:04 david__schmidt
177 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.
179 dnl Revision 1.68.2.11 2003/03/06 15:22:37 oes
180 dnl Fixed minor shell syntax bug
182 dnl Revision 1.68.2.10 2003/01/08 16:39:41 oes
183 dnl Changing default to exclude FEATURE_IMAGE_DETECT_MSIE because of problem reports with recent IEs
185 dnl Revision 1.68.2.9 2002/12/13 23:47:45 hal9
186 dnl Add openbsd $specialflags per gunner at styx2002.no-ip.org
188 dnl Revision 1.68.2.8 2002/11/27 12:55:26 oes
189 dnl Fixed broken handling of pre-set CFLAGS
191 dnl Revision 1.68.2.7 2002/10/25 02:44:22 hal9
192 dnl Port of make install, etc from main trunk. Needs testing! Add Slackware
193 dnl support, and other related changes. Update related docs.
195 dnl Revision 1.68.2.6 2002/09/25 15:35:15 oes
196 dnl Marking as non-release
198 dnl Revision 1.68.2.5 2002/08/25 23:37:00 hal9
199 dnl Getting ready for 3.0 release.
201 dnl Revision 1.68.2.4 2002/08/10 11:21:57 oes
202 dnl - Set Version to 2.9.20 (beta)
203 dnl - Add two AC_DEFINEs that indicate if the pcre*.h headers
204 dnl are located in a pcre/ subdir to the include path.
206 dnl Revision 1.68.2.3 2002/08/06 11:29:36 oes
207 dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH
209 dnl Revision 1.68.2.2 2002/07/30 19:36:09 hal9
210 dnl Bump version to 2.9.17.
212 dnl Revision 1.68.2.1 2002/07/26 15:21:12 oes
213 dnl Bumped version number for 2.9.16 freeze
215 dnl Revision 1.68 2002/05/25 16:54:54 jongfoster
216 dnl Detect if the compiler supports -pthread.
217 dnl Hopefully this will fix bug 560442. (I don't have a HP PA-RISC
218 dnl machine to test this!)
220 dnl Revision 1.67 2002/05/03 14:33:59 oes
221 dnl Generate doc/soucre/ldp.dsl
223 dnl Revision 1.66 2002/05/03 00:41:56 oes
224 dnl Set version to 2.9.15 to comply with new versioning scheme
226 dnl Revision 1.65 2002/04/25 19:13:57 morcego
227 dnl Removed RPM release number declaration on configure.in
228 dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading
229 dnl targets (will produce an error, explaining who to do it, if no value
232 dnl Revision 1.64 2002/04/22 16:32:31 morcego
233 dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2)
234 dnl -rh.spec: uid and gid are now macros
235 dnl -suse.spec: Changing the header Copyright to License (Copyright is
238 dnl Revision 1.63 2002/04/11 11:00:21 oes
239 dnl Applied Moritz' fix for socklen_t on Solaris
241 dnl Revision 1.62 2002/04/11 10:09:20 oes
244 dnl Revision 1.61 2002/04/10 18:14:45 morcego
245 dnl - (privoxy-rh.spec only) Relisting template files on the %%files section
246 dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5
248 dnl Revision 1.60 2002/04/09 16:38:49 oes
249 dnl Added detection of missing config.h.in
251 dnl Revision 1.59 2002/04/06 20:23:55 jongfoster
252 dnl Removing unnessacery tests (C++, ranlib)
254 dnl Revision 1.58 2002/04/04 20:49:20 swa
255 dnl attempt to consolidate the
256 dnl different dokbook versions.
258 dnl Revision 1.57 2002/04/04 00:36:36 gliptak
259 dnl always use pcre for matching
261 dnl Revision 1.56 2002/04/03 22:28:03 gliptak
262 dnl Removed references to gnu_regex
264 dnl Revision 1.55 2002/04/03 03:54:38 gliptak
265 dnl Checking pcre version
267 dnl Revision 1.54 2002/04/01 00:54:24 gliptak
268 dnl More changes needed around regex support.
270 dnl Revision 1.53 2002/03/29 20:09:01 swa
273 dnl Revision 1.52 2002/03/29 19:51:40 gliptak
274 dnl Correcting compile problem with Debian
276 dnl Revision 1.51 2002/03/28 20:43:00 swa
277 dnl set make correctly
279 dnl Revision 1.50 2002/03/27 03:03:45 hal9
280 dnl Add test for man2html
282 dnl Revision 1.49 2002/03/27 02:19:52 david__schmidt
283 dnl More Mac OSX support:
284 dnl - Get rid of extraneous, noisy -pthread warnings
285 dnl - Define unix so we get oes' unix-tagged changes
287 dnl Revision 1.48 2002/03/26 22:29:54 swa
288 dnl we have a new homepage!
290 dnl Revision 1.47 2002/03/26 16:41:00 hal9
291 dnl Upped RPM Release to 3 (need to build new RH packages)
293 dnl Revision 1.46 2002/03/24 18:55:06 jongfoster
294 dnl Making Docbook work under Windows
296 dnl Revision 1.45 2002/03/24 14:19:55 swa
297 dnl set rpm package release in configure.in. nowhere else.
299 dnl Revision 1.44 2002/03/24 13:25:43 swa
300 dnl name change related issues
302 dnl Revision 1.43 2002/03/24 12:56:21 swa
303 dnl name change related issues.
305 dnl Revision 1.42 2002/03/22 18:11:37 jongfoster
306 dnl Bumping version number to 2.9.12
308 dnl Revision 1.41 2002/03/19 19:30:04 morcego
309 dnl - Fixing stylesheet checking on configure. If it is found, no further checks
312 dnl - configure will now check for db2html or docbook2html (should work now
313 dnl on SuSe without the docbktls package)
315 dnl Revision 1.40 2002/03/09 14:33:30 oes
316 dnl Fixing the (harmless) AC_CHECK_FILE warnings
318 dnl Revision 1.39 2002/03/08 16:46:13 oes
319 dnl Added --enable-no-gifs
321 dnl Revision 1.38 2002/03/08 14:13:50 morcego
322 dnl Fixing configure, to remove a command not found error.
324 dnl Revision 1.37 2002/03/08 12:58:21 oes
325 dnl Tiny bugfix in AC_ARG_WITH(debug)
327 dnl Revision 1.36 2002/03/06 23:50:36 morcego
328 dnl Will not test for a text browser if we are not using docbook.
330 dnl Revision 1.35 2002/03/06 21:55:52 morcego
331 dnl New configure option: --with-docbook=(yes|no|directory)
332 dnl Preliminary new platform detection code included. Will work with the
333 dnl old one for now. No use just trowing it away
335 dnl Revision 1.34 2002/03/06 20:57:00 morcego
336 dnl Fixing detection of stylesheets on SuSe.
338 dnl Revision 1.33 2002/03/05 17:31:11 morcego
339 dnl Search for docbook.dsl. Should solve portability problems for SuSe.
341 dnl Revision 1.32 2002/03/05 14:07:43 morcego
342 dnl configure now detects rpm topdir, and change GNUmakefile acordingly
343 dnl (based on sugestion by Sarantis Paskalis)
345 dnl Revision 1.31 2002/03/05 13:43:28 morcego
346 dnl Checking for text browser, so redhat-dok can work.
348 dnl Revision 1.30 2002/03/04 17:58:01 oes
349 dnl Deleted _DEBUG and PID_FILE_PATH
351 dnl Revision 1.29 2002/02/28 14:20:53 oes
352 dnl Fixed detection of gethost*_r functions on Solaris
354 dnl Revision 1.28 2002/02/27 15:02:38 oes
355 dnl Incremented version number
357 dnl Revision 1.27 2002/01/10 12:35:18 oes
358 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
359 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
360 dnl Is there a better way?
362 dnl Revision 1.26 2002/01/09 14:29:49 oes
363 dnl - Added AC_CHECK_FUNC tests for the availability of
364 dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and
365 dnl localtime_r, as well as AC_TRY_COMPILE tests to
366 dnl determine their signatures.
368 dnl - Fixed a bug with the init of CFLAGS that was
369 dnl reported by barsnick
371 dnl Revision 1.25 2002/01/04 15:27:18 oes
372 dnl Changed quoting of CODE_STATUS for use in make
374 dnl Revision 1.24 2001/12/30 14:07:31 steudten
375 dnl - Add signal handling (unix)
376 dnl - Add SIGHUP handler (unix)
377 dnl - Add creation of pidfile (unix)
378 dnl - Add action 'top' in rc file (RH)
379 dnl - Add entry 'SIGNALS' to manpage
380 dnl - Add exit message to logfile (unix)
382 dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt
383 dnl Change from "alpha" to "beta" in configure.in
385 dnl Revision 1.22 2001/12/01 11:24:01 jongfoster
386 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
387 dnl make break in a more obvious way.
389 dnl Revision 1.21 2001/11/30 21:35:54 jongfoster
390 dnl Bumping version number to 2.9.10
392 dnl Revision 1.20 2001/10/23 21:24:09 jongfoster
393 dnl Support for FEATURE_CGI_EDIT_ACTIONS
395 dnl Revision 1.19 2001/10/07 15:33:14 oes
396 dnl Removed FEATURE_DENY_GZIP
397 dnl Bumped up version number
399 dnl Revision 1.18 2001/09/13 13:10:24 steudten
401 dnl PreWork for Debug Interface.
402 dnl Add new option "--with-debug" to enable debugging (flags aso.)
404 dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt
405 dnl Mac OSX (Darwin) support added.
407 dnl Revision 1.16 2001/09/12 22:55:45 joergs
408 dnl AmigaOS support added.
410 dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt
412 dnl OS/2 port: update autoconf'd support for the platform.
414 dnl Revision 1.14 2001/07/30 22:12:11 jongfoster
415 dnl Fixing Solaris build (I hope) and tidying up #defines:
416 dnl - All feature #defines are now of the form FEATURE_xxx
417 dnl - Permanently turned off WIN_GUI_EDIT
418 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
420 dnl Revision 1.13 2001/07/29 17:09:17 jongfoster
421 dnl Major changes to build system in order to fix these bugs:
422 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
423 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
424 dnl which shared libraries are available
425 dnl - Solaris support (?) (Not tested under Solaris yet)
427 dnl Revision 1.12 2001/07/25 19:16:27 oes
428 dnl Bumping version number to 2.9.8
430 dnl Revision 1.11 2001/07/21 18:00:07 jongfoster
431 dnl Bumping version number to 2.9.7
433 dnl Revision 1.10 2001/07/18 17:25:04 oes
436 dnl Revision 1.9 2001/07/15 19:45:13 jongfoster
437 dnl Added support for linking with POSIX threads library
439 dnl Revision 1.8 2001/07/15 17:54:29 jongfoster
440 dnl Renaming #define STATIC to STATIC_PCRE
441 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
442 dnl POSIX threads support.
444 dnl Revision 1.7 2001/07/13 13:58:05 oes
445 dnl Completely reorganized the selection scheme for
446 dnl pcre, pcreposix, pcrs and gnu_regex:
448 dnl The presence of shared pcre, pcreposix or pcrs
449 dnl libraried is now autodetected. Additionally, the
450 dnl user can enforce using the built-in static variants
451 dnl by specifying --disable-dynamic-(pcre|pcrs).
452 dnl Care is taken to avoid that pcre is dyn, while pcreposix
453 dnl is static, if both are used and that pcrs is static if
456 dnl The choice between pcre, gnu or no regex for actionsfile
457 dnl URL matching is now via
458 dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
459 dnl default being pcre.
461 dnl Revision 1.6 2001/06/29 21:56:40 oes
464 dnl Revision 1.5 2001/06/29 13:26:27 oes
465 dnl Introduced #define CODE_STATUS
467 dnl Revision 1.4 2001/05/29 09:50:24 jongfoster
468 dnl Unified blocklist/imagelist/permissionslist.
469 dnl File format is still under discussion, but the internal changes
470 dnl are (mostly) done.
472 dnl Also modified interceptor behaviour:
473 dnl - We now intercept all URLs beginning with one of the following
474 dnl prefixes (and *only* these prefixes):
476 dnl * http://ijbswa.sf.net/config/
477 dnl * http://ijbswa.sourceforge.net/config/
478 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
479 dnl - Internal changes so that intercepted and fast redirect pages
480 dnl are not replaced with an image.
481 dnl - Interceptors now have the option to send a binary page direct
482 dnl to the client. (i.e. ijb-send-banner uses this)
483 dnl - Implemented show-url-info interceptor. (Which is why I needed
484 dnl the above interceptors changes - a typical URL is
485 dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
486 dnl The previous mechanism would not have intercepted that, and
487 dnl if it had been intercepted then it then it would have replaced
488 dnl it with an image.)
490 dnl Revision 1.3 2001/05/22 18:46:04 oes
492 dnl - Enabled filtering banners by size rather than URL
493 dnl by adding patterns that replace all standard banner
494 dnl sizes with the "Junkbuster" gif to the re_filterfile
496 dnl - Enabled filtering WebBugs by providing a pattern
497 dnl which kills all 1x1 images
499 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
500 dnl which is selected by the (nonstandard and therefore
501 dnl capital) letter 'U' in the option string.
502 dnl It causes the quantifiers to be ungreedy by default.
503 dnl Appending a ? turns back to greedy (!).
505 dnl - Added a new interceptor ijb-send-banner, which
506 dnl sends back the "Junkbuster" gif. Without imagelist or
507 dnl MSIE detection support, or if tinygif = 1, or the
508 dnl URL isn't recognized as an imageurl, a lame HTML
509 dnl explanation is sent instead.
511 dnl - Added new feature, which permits blocking remote
512 dnl script redirects and firing back a local redirect
514 dnl The feature is conditionally compiled, i.e. it
515 dnl can be disabled with --disable-fast-redirects,
516 dnl plus it must be activated by a "fast-redirects"
517 dnl line in the config file, has its own log level
518 dnl and of course wants to be displayed by show-proxy-args
519 dnl Note: Boy, all the #ifdefs in 1001 locations and
520 dnl all the fumbling with configure.in and acconfig.h
521 dnl were *way* more work than the feature itself :-(
523 dnl - Because a generic redirect template was needed for
524 dnl this, tinygif = 3 now uses the same.
526 dnl - Moved GIFs, and other static HTTP response templates
529 dnl - Some minor fixes
531 dnl - Removed some >400 CRs again (Jon, you really worked
534 dnl Revision 1.2 2001/05/20 01:21:20 jongfoster
535 dnl Version 2.9.4 checkin.
536 dnl - Merged popupfile and cookiefile, and added control over PCRS
537 dnl filtering, in new "permissionsfile".
538 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
539 dnl file error you now get a message box (in the Win32 GUI) rather
540 dnl than the program exiting with no explanation.
541 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
543 dnl - Removed tabs from "config"
544 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
545 dnl - Bumped up version number.
547 dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes
548 dnl Initial import of version 2.9.3 source tree
553 dnl =================================================================
554 dnl AutoConf Initialization
555 dnl =================================================================
557 AC_REVISION($Revision: 1.122 $)
560 if test ! -f config.h.in; then
561 echo "You need to run autoheader first. "
562 echo -n "Shall I do this for you now? (y/n) "
564 if test "$answer" != "y"; then
571 AC_CONFIG_HEADER([config.h])
576 AC_ARG_WITH(docbook, dnl
577 --with-docbook=[[yes|no|directory]]
578 Enable docbook documentation creation
579 (default = yes, for gnu and linux),[dnl
580 case "$with_docbook" in
590 AC_ARG_WITH(db2html, dnl
591 --with-db2html=<path/executable>
592 Set the location of the docbook to html converter
593 (default = search),[dnl
597 dnl =================================================================
598 dnl Application version number
599 dnl =================================================================
604 CODE_STATUS="UNRELEASED"
606 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
607 dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
608 dnl whenever CVS in a stable branch differs from the last release.
610 dnl =================================================================
611 dnl Substitute the version numbers
612 dnl =================================================================
614 AC_SUBST(VERSION_MAJOR)
615 AC_SUBST(VERSION_MINOR)
616 AC_SUBST(VERSION_POINT)
617 AC_SUBST(CODE_STATUS)
620 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
621 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
622 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
623 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
624 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
626 dnl =================================================================
627 dnl Checks for programs needed to build.
628 dnl =================================================================
630 dnl Keep AC_PROG_CC from setting its own defaults:
631 if test "X$CFLAGS" = "X"; then
642 AC_CHECK_PROG(GDB,gdb,yes,no)
643 AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
644 AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
648 dnl =================================================================
649 dnl debug, gcc and gdb support
650 dnl =================================================================
653 [ --with-debug Enable debug mode],
655 if test "x$withval" != "xno" ; then
656 if test $ac_cv_prog_cc_g = yes; then
657 if test "$GCC" = yes; then
659 CFLAGS="$CFLAGS -ggdb"
663 CFLAGS="$CFLAGS -Wshadow -Wconversion"
671 if test "X$CFLAGS" = "X "; then # if CFLAGS were unset (see above)
672 if test "$GCC" = yes; then
679 dnl =================================================================
680 dnl Check for user and group validity
681 dnl =================================================================
684 if test "$EMXOS2" = yes; then
685 echo "Skipping user and group validity stuff.";
689 $ID privoxy >/dev/null 2>/dev/null
690 if test $? -ne 0 ; then
691 AC_MSG_WARN(There is no user 'privoxy' on this system)
693 AC_MSG_CHECKING([for user])
695 [ --with-user=privoxy Set user under which privoxy will run],
697 if test "x$withval" != "xyes"; then
698 if test $ID = no ; then
699 AC_MSG_ERROR(There is no 'id' program on this system)
701 AC_MSG_RESULT($with_user)
702 $ID $with_user 2>/dev/null >/dev/null
703 if test $? -eq 0 ; then
706 AC_MSG_ERROR(There is no user '$with_user' on this system)
710 AC_MSG_ERROR(We need a user if you give me this parameter)
714 if test $ID = no ; then
715 AC_MSG_ERROR(There is no 'id' programm on this system)
717 AC_MSG_RESULT(none specified)
724 AC_MSG_CHECKING([for group])
726 [ --with-group=privoxy Set group for privoxy],
728 if test "x$withval" != "xyes"; then
729 if test $BGROUPS = no ; then
730 AC_MSG_ERROR(There is no 'groups' program on this system)
732 AC_MSG_RESULT($with_group)
733 $BGROUPS $USER >/dev/null
734 if test $? -eq 0 ; then
735 # FIXME: this fails if valid group, but not first group
737 if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
738 AC_MSG_ERROR(The given value '$withval' does not match group entry)
743 AC_MSG_ERROR(There is no group entry for user '$USER')
747 AC_MSG_ERROR(We need a group if you give me this parameter)
751 if test $BGROUPS = no ; then
752 AC_MSG_ERROR(There is no 'groups' programm on this system)
754 AC_MSG_RESULT(none specified)
763 dnl =================================================================
764 dnl additional gcc flags
765 dnl =================================================================
768 if test "$host" != "powerpc-unknown-amigaos"; then
769 CFLAGS="-pipe $CFLAGS"
774 dnl =================================================================
776 dnl =================================================================
778 dnl Must do this first.
780 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
781 dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
782 dnl the compiler will use completely different sets of library
783 dnl and include files.
785 dnl =================================================================
790 if test "$MINGW32" = "yes"; then
793 if test "$CYGWIN" = "yes"; then
800 if test $dodk = auto; then
802 if test $target_type = unix; then
811 dnl Decide what to do based on target_type
812 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
813 dnl This is because we don't know yet whether pthread is enabled.
815 AC_ARG_ENABLE(mingw32,
816 [ --enable-mingw32 Use mingw32 for a Windows GUI],
817 [if test $enableval = yes; then
821 if test $target_type = mingw; then
823 SPECIAL_CFLAGS="-mwindows -mno-cygwin"
824 PTHREAD_LIB=-lpthreadGC
825 echo "Using mingw32 (Win32 GUI)"
828 if test $target_type = cygwin; then
829 SPECIAL_CFLAGS="-mno-win32"
831 echo "Using Cygnus (Win32 command line)"
834 PTHREAD_LIB=-lpthread
839 dnl Checking which text html browser we have avaliable
840 if test $dodk != no; then
841 AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
842 if test "$WDUMP" = false; then
843 AC_MSG_WARN(You need some kind of text browser to build documentation \(w3m, lynx and links are supported\))
845 if test $DB2HTML = false; then
846 dnl We need to clean the variable, otherwise AC_CHECK_PROGS
849 AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
855 dnl If we use rpm, we need to check where %_topdir is
856 AC_CHECK_PROGS(RPMBIN,rpm,false)
857 if test $RPMBIN != false; then
858 RPM_BASE=`rpm --eval "%{_topdir}"`
859 if test "$RPM_BASE" = ""; then
860 RPM_BASE=/usr/src/redhat
865 dnl Check for jade, so we can build the documentation
866 AC_CHECK_PROGS(JADEBIN,jade openjade,false)
869 dnl Check for man2html for docs.
870 AC_CHECK_PROGS(MAN2HTML,man2html,false)
873 dnl Set doc status flag for conditional content inclusions
874 DOC_STATUS=p-not-stable
875 if test $CODE_STATUS = stable; then
876 DOC_STATUS="p-stable"
880 dnl Checking for the docbook.dsl stylesheet file
881 dnl It is still not portable (directory slash)
883 if test $dodk = yes; then
884 if test $DKPREFIX = none; then
885 for i in /usr/share/sgml/docbook/dsssl-stylesheets \
886 /usr/share/sgml/docbkdsl /usr/share/sgml/docbook-dsssl \
887 /usr/local/share/sgml/docbook/dsssl/modular \
888 /usr/share/sgml/docbook/stylesheet/dsssl/modular/ \
890 dnl echo -n does not fly with /bin/sh.
891 dnl echo -n "checking for $i/html/docbook.dsl..."
892 AC_MSG_CHECKING([for $i])
893 if test -f $i/html/docbook.dsl; then
901 # where are the catalogs?
902 for i in /usr/share/sgml/CATALOG.docbk30 \
903 /usr/share/sgml/CATALOG.docbk31 \
904 /usr/share/sgml/CATALOG.docbk31 \
905 /usr/local/share/sgml/docbook/3.0/docbook.cat \
906 /usr/local/share/sgml/docbook/3.1/docbook.cat \
907 /usr/share/sgml/docbook/dtd/3.1/docbook.cat \
909 dnl echo -n "checking for $i..."
910 AC_MSG_CHECKING([for $i])
913 JADECAT="$JADECAT -c $i"
923 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
924 old_CFLAGS_nospecial=$CFLAGS
925 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
927 # Hack to force AutoConf to use the CFLAGS we just set
928 dnl Warning: This may break with a future version of Autoconf
929 dnl Tested with autoconf 2.13
930 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
931 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
932 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
935 dnl =================================================================
937 dnl =================================================================
939 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
941 AC_ARG_ENABLE(pthread,
942 [ --disable-pthread Don't use POSIX threads (pthreads)],
943 [if test $enableval = no; then
945 if test $have_pthread = yes; then
946 AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.])
947 AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.])
952 if test $have_pthread = yes; then
954 AC_DEFINE(FEATURE_PTHREAD)
955 echo Using POSIX threads
956 if test "$GCC" = "yes"; then
957 # Set a GCC specific switch:
958 if test "$target_type" = "unix"; then
959 ac_jgf_save_CFLAGS=$CFLAGS
960 CFLAGS="$CFLAGS -pthread"
961 AC_TRY_LINK([#include <pthread.h>],
962 [void *p = pthread_create;],
964 # This compiler switch makes GCC on Linux thread-safe
965 # However, it's not supported on most other OS.
967 SPECIAL_CFLAGS="-pthread"
969 CFLAGS=$ac_jgf_save_CFLAGS
974 echo Using native threads
977 AC_SUBST(PTHREAD_ONLY)
979 dnl =================================================================
980 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
981 dnl gmtime and localtime
982 dnl =================================================================
984 dnl Next line needed to find the gethost*_r functions on Solaris
985 AC_CHECK_LIB(nsl, gethostbyname)
987 AC_CHECK_FUNC(gethostbyaddr_r, [
988 AC_MSG_CHECKING([signature of gethostbyaddr_r])
992 struct hostent *h, *hp;
995 (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
997 AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
998 AC_MSG_RESULT([8 args])
1006 (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
1008 AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
1009 AC_MSG_RESULT([7 args])
1014 struct hostent_data *d;
1018 (void) gethostbyaddr_r(a, l, t, h, d)
1020 AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
1021 AC_MSG_RESULT([5 args])
1023 AC_MSG_RESULT(unrecognised)
1031 AC_CHECK_FUNC(gethostbyname_r, [
1032 AC_MSG_CHECKING([signature of gethostbyname_r])
1036 struct hostent *h, *r;
1039 (void) gethostbyname_r(n, h, b, bl, &r, &e)
1041 AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
1042 AC_MSG_RESULT([6 args])
1050 (void) gethostbyname_r(n, h, b, bl, &e)
1052 AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
1053 AC_MSG_RESULT([5 args])
1058 struct hostent_data *d;
1061 (void) gethostbyname_r(n, h, d)
1063 AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
1064 AC_MSG_RESULT([3 args])
1066 AC_MSG_RESULT(unrecognised)
1074 AC_CHECK_FUNC(gmtime_r, [
1075 AC_MSG_CHECKING([signature of gmtime_r])
1081 (void) gmtime_r(t, tm)
1084 AC_DEFINE(HAVE_GMTIME_R)
1086 AC_MSG_RESULT(unrecognised)
1092 AC_CHECK_FUNC(localtime_r, [
1093 AC_MSG_CHECKING([signature of localtime_r])
1099 (void) localtime_r(t, tm)
1102 AC_DEFINE(HAVE_LOCALTIME_R)
1104 AC_MSG_RESULT(unrecognised)
1110 dnl =================================================================
1111 dnl Solaris specific
1112 dnl FIXME: Not tested on Solaris yet...
1113 dnl ISFIXED: Have tested it on Solaris, but there are other ways to
1114 dnl make these checks generic, e.g.:
1115 dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt))
1116 dnl (Moritz Barsnick <moritz@barsnick.net>)
1117 dnl =================================================================
1123 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
1124 AC_DEFINE(__EXTENSIONS__)
1125 if test "$GCC" = "yes"; then
1126 # Set a GCC specific switch:
1127 # This compiler switch makes Solaris thread-safe
1129 SPECIAL_CFLAGS="-pthreads"
1131 # What do we do without GCC? Guess this:
1132 SPECIAL_CFLAGS="-D_REENTRANT"
1137 AC_SUBST(SOCKET_LIB)
1139 dnl =================================================================
1140 dnl Solaris problem, and others perhaps (socklen_t is undefined)
1141 dnl =================================================================
1143 AC_MSG_CHECKING([for socklen_t])
1144 AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
1146 AC_DEFINE(socklen_t,int,
1147 [ Define to 'int' if <sys/socket.h> doesn't have it. ]))
1150 dnl =================================================================
1152 dnl =================================================================
1155 *-os2-emx*) SOCKET_LIB=-lsocket
1159 AC_SUBST(SOCKET_LIB)
1161 dnl =================================================================
1162 dnl Mac OSX specific
1163 dnl =================================================================
1166 *-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
1170 dnl =================================================================
1171 dnl OpenBSD specific
1172 dnl =================================================================
1175 *-openbsd*) SPECIAL_CFLAGS="$SPECIAL_CFLAGS -Dunix"
1179 dnl =================================================================
1180 dnl AmigaOS specific
1181 dnl =================================================================
1186 *-amigaos) AMIGAOS_ONLY=
1190 AC_SUBST(AMIGAOS_ONLY)
1192 dnl =================================================================
1193 dnl Check for standard compiler stuff
1194 dnl =================================================================
1205 AC_CHECK_SIZEOF(int, 4)
1206 AC_CHECK_SIZEOF(char *, 4)
1207 AC_CHECK_SIZEOF(long, 4)
1208 AC_CHECK_SIZEOF(long long, 8)
1209 AC_CHECK_SIZEOF(size_t, 4)
1211 dnl Checks for header files.
1212 dnl AC_HEADER_SYS_WAIT
1213 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
1214 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])
1216 dnl Checks for library functions.
1218 dnl AC_CHECK_FUNC(strstr)
1219 dnl bcopy and memmove are for PCRE
1220 AC_CHECK_FUNCS([strerror bcopy memmove])
1221 AC_PROG_GCC_TRADITIONAL
1222 dnl uncommenting does not work for swa. suse linux
1226 dnl uncommenting does not work for swa. suse linux
1228 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])
1231 dnl =================================================================
1232 dnl Checks for libraries.
1233 dnl =================================================================
1234 dnl Note: Some systems may have the library but not the system header
1235 dnl file, so we must check for both.
1236 dnl Also check for correct version
1237 AC_CHECK_LIB(pcre, pcre_compile, [
1238 AC_CHECK_HEADER(pcre.h, [
1239 AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])
1241 AC_CHECK_HEADER(pcre/pcre.h, [
1242 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])
1247 AC_CHECK_LIB(pcreposix, regcomp, [
1248 AC_CHECK_HEADER(pcreposix.h, [
1249 AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])
1251 AC_CHECK_HEADER(pcre/pcreposix.h, [
1252 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)])
1253 ], [have_pcreposix=no])
1255 ], [have_pcreposix=no], -lpcre)
1257 dnl ================================================================
1258 dnl libpcrs is temporarily disabled.
1260 dnl Privoxy's own pcrs version fixes some problems that
1261 dnl are present in libpcrs 0.3, the last pcrs release we
1262 dnl know of, and as libpcrs seems to be currently unmaintained
1263 dnl we can't send these fixes upstream.
1264 dnl ================================================================
1266 dnl AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre)
1268 dnl =================================================================
1270 dnl =================================================================
1274 dnl =================================================================
1276 dnl =================================================================
1278 AC_ARG_ENABLE(toggle,
1279 [ --disable-toggle Don't support temporary disable],
1280 [if test $enableval = yes; then
1281 AC_DEFINE(FEATURE_TOGGLE)
1282 fi],AC_DEFINE(FEATURE_TOGGLE))
1284 AC_ARG_ENABLE(force,
1285 [ --disable-force Don't allow single-page disable],
1286 [if test $enableval = yes; then
1287 AC_DEFINE(FEATURE_FORCE_LOAD)
1288 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
1290 AC_ARG_ENABLE(fast-redirects,
1291 [ --disable-fast-redirects Don't support fast redirects],
1292 [if test $enableval = yes; then
1293 AC_DEFINE(FEATURE_FAST_REDIRECTS)
1294 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
1296 AC_ARG_ENABLE(stats,
1297 [ --disable-stats Don't keep statistics],
1298 [if test $enableval = yes; then
1299 AC_DEFINE(FEATURE_STATISTICS)
1300 fi],AC_DEFINE(FEATURE_STATISTICS))
1302 AC_ARG_ENABLE(ie-images,
1303 [ --enable-ie-images Enable a quick but not always reliable auto-detect whether requests from
1304 MS Internet Explorer are for an image or not.],
1305 [if test $enableval = yes; then
1306 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
1309 AC_ARG_ENABLE(image-blocking,
1310 [ --disable-image-blocking Don't try to figure out whether a request is
1311 for an image or HTML - assume HTML.],
1312 [if test $enableval = yes; then
1313 AC_DEFINE(FEATURE_IMAGE_BLOCKING)
1315 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
1317 AC_ARG_ENABLE(acl-files,
1318 [ --disable-acl-files Prevents the use of ACL files to control access to
1319 Privoxy by IP address.],
1320 [if test $enableval = yes; then
1321 AC_DEFINE(FEATURE_ACL)
1323 AC_DEFINE(FEATURE_ACL))
1325 AC_ARG_ENABLE(trust-files,
1326 [ --disable-trust-files Prevents the use of trust files.],
1327 [if test $enableval = yes; then
1328 AC_DEFINE(FEATURE_TRUST)
1330 AC_DEFINE(FEATURE_TRUST))
1332 AC_ARG_ENABLE(editor,
1333 [ --disable-editor Prevents the use of the web-based actions file
1334 editor and web-based temporary disable setting.],
1335 [if test $enableval = yes; then
1336 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
1338 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
1340 AC_ARG_ENABLE(no-gifs,
1341 [ --enable-no-gifs Use politically correct PNG format instead of GIF
1342 for built-in images. May not work with all browsers.],
1343 [if test $enableval = yes; then
1344 AC_DEFINE(FEATURE_NO_GIFS)
1347 AC_ARG_ENABLE(graceful-termination,
1348 [ --enable-graceful-termination Allow to shutdown Privoxy through the webinterface.],
1349 [if test $enableval = yes; then
1350 AC_DEFINE(FEATURE_GRACEFUL_TERMINATION)
1353 AC_ARG_ENABLE(extended-host-patterns,
1354 [ --enable-extended-host-patterns Allow extended regular expressions in host patterns.],
1355 [if test $enableval = yes; then
1356 AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
1359 dnl pcre/pcrs is needed for CGI anyway, so
1360 dnl the choice is only between static and
1363 AC_ARG_ENABLE(dynamic-pcre,
1364 [ --disable-dynamic-pcre Use the built-in, static pcre, even if libpcre is available],
1365 [ if test $enableval = "no"; then have_pcre=no; fi ])
1367 dnl =================================================
1368 dnl libpcrs is temporarily disabled,
1369 dnl see comment above for the reason.
1370 dnl =================================================
1371 dnl AC_ARG_ENABLE(dynamic-pcrs,
1372 dnl [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if libpcrs is available],
1373 dnl [ if test $enableval = "no"; then have_pcrs=no; fi ])
1376 dnl ====================================================
1377 dnl This check is incomplete. For mingw32 zlib is found
1378 dnl by configure, but not necessarily by the compiler.
1379 dnl ====================================================
1381 [ --disable-zlib Don't use zlib to decompress data before filtering.],
1382 [enableval2=$enableval],
1384 if test $enableval2 = yes; then
1385 AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
1386 if test $have_zlib = "yes"; then
1388 AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.])
1390 AC_MSG_WARN([No zlib found.
1391 Privoxy will not be able to filter compressed content.
1392 This may become a fatal error in the future.])
1397 # If we have libpcre and either we also have pcreposix or
1398 # we don't need pcreposix, then link pcre dynamically; else
1399 # build it and link statically
1401 if test $have_pcre = "yes"; then
1402 echo "using libpcre"
1405 LIBS="$LIBS -lpcre -lpcreposix"
1407 AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see:
1408 https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de])
1410 AC_DEFINE(STATIC_PCRE)
1414 if test $have_pthread = "yes" -o $target_type = "mingw"; then
1415 echo Enabling keep-alive support for outgoing connections.
1416 AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
1419 dnl =================================================
1420 dnl libpcrs is temporarily disabled,
1421 dnl see comment above for the reason.
1422 dnl =================================================
1423 dnl # If we have libpcrs and pcre is linked dynamically
1424 dnl # then also link pcrs dynamically, else build and link
1425 dnl # pcrs statically
1427 dnl if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
1428 dnl echo "using libpcrs"
1429 dnl STATIC_PCRS_ONLY=#
1430 dnl LIBS="$LIBS -lpcrs"
1432 dnl echo "using built-in static pcrs"
1433 AC_DEFINE(STATIC_PCRS)
1437 AC_SUBST(STATIC_PCRE_ONLY)
1438 AC_SUBST(STATIC_PCRS_ONLY)
1440 dnl =================================================================
1441 dnl Final cleanup and output
1442 dnl =================================================================
1444 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
1446 CFLAGS=$old_CFLAGS_nospecial
1447 AC_SUBST(SPECIAL_CFLAGS)
1449 AC_SUBST(PTHREAD_LIB)
1451 AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)