Added cgi_error_disabled
[privoxy.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 dnl 
3 dnl $Id: configure.in,v 1.68.2.7 2002/10/25 02:44:22 hal9 Exp $
4 dnl 
5 dnl Written by and Copyright (C) 2001, 2002 the SourceForge
6 dnl Privoxy team. http://www.privoxy.org/
7 dnl
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
11 dnl
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.
17 dnl 
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.
23 dnl 
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.
29 dnl 
30 dnl $Log: configure.in,v $
31 dnl Revision 1.68.2.7  2002/10/25 02:44:22  hal9
32 dnl Port of make install, etc from main trunk. Needs testing! Add Slackware
33 dnl support, and other related changes. Update related docs.
34 dnl
35 dnl Revision 1.68.2.6  2002/09/25 15:35:15  oes
36 dnl Marking as non-release
37 dnl
38 dnl Revision 1.68.2.5  2002/08/25 23:37:00  hal9
39 dnl Getting ready for 3.0 release.
40 dnl
41 dnl Revision 1.68.2.4  2002/08/10 11:21:57  oes
42 dnl - Set Version to 2.9.20 (beta)
43 dnl - Add two AC_DEFINEs that indicate if the pcre*.h headers
44 dnl   are located in a pcre/ subdir to the include path.
45 dnl
46 dnl Revision 1.68.2.3  2002/08/06 11:29:36  oes
47 dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH
48 dnl
49 dnl Revision 1.68.2.2  2002/07/30 19:36:09  hal9
50 dnl Bump version to 2.9.17.
51 dnl
52 dnl Revision 1.68.2.1  2002/07/26 15:21:12  oes
53 dnl  Bumped version number for 2.9.16 freeze
54 dnl
55 dnl Revision 1.68  2002/05/25 16:54:54  jongfoster
56 dnl Detect if the compiler supports -pthread.
57 dnl Hopefully this will fix bug 560442.  (I don't have a HP PA-RISC
58 dnl machine to test this!)
59 dnl
60 dnl Revision 1.67  2002/05/03 14:33:59  oes
61 dnl Generate doc/soucre/ldp.dsl
62 dnl
63 dnl Revision 1.66  2002/05/03 00:41:56  oes
64 dnl Set version to 2.9.15 to comply with new versioning scheme
65 dnl
66 dnl Revision 1.65  2002/04/25 19:13:57  morcego
67 dnl Removed RPM release number declaration on configure.in
68 dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading
69 dnl targets (will produce an error, explaining who to do it, if no value
70 dnl if provided).
71 dnl
72 dnl Revision 1.64  2002/04/22 16:32:31  morcego
73 dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2)
74 dnl -rh.spec: uid and gid are now macros
75 dnl -suse.spec: Changing the header Copyright to License (Copyright is
76 dnl             deprecable)
77 dnl
78 dnl Revision 1.63  2002/04/11 11:00:21  oes
79 dnl Applied Moritz' fix for socklen_t on Solaris
80 dnl
81 dnl Revision 1.62  2002/04/11 10:09:20  oes
82 dnl Version 2.9.14
83 dnl
84 dnl Revision 1.61  2002/04/10 18:14:45  morcego
85 dnl - (privoxy-rh.spec only) Relisting template files on the %%files section
86 dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5
87 dnl
88 dnl Revision 1.60  2002/04/09 16:38:49  oes
89 dnl Added detection of missing config.h.in
90 dnl
91 dnl Revision 1.59  2002/04/06 20:23:55  jongfoster
92 dnl Removing unnessacery tests (C++, ranlib)
93 dnl
94 dnl Revision 1.58  2002/04/04 20:49:20  swa
95 dnl attempt to consolidate the
96 dnl different dokbook versions.
97 dnl
98 dnl Revision 1.57  2002/04/04 00:36:36  gliptak
99 dnl always use pcre for matching
100 dnl
101 dnl Revision 1.56  2002/04/03 22:28:03  gliptak
102 dnl Removed references to gnu_regex
103 dnl
104 dnl Revision 1.55  2002/04/03 03:54:38  gliptak
105 dnl Checking pcre version
106 dnl
107 dnl Revision 1.54  2002/04/01 00:54:24  gliptak
108 dnl More changes needed around regex support.
109 dnl
110 dnl Revision 1.53  2002/03/29 20:09:01  swa
111 dnl al's patch
112 dnl
113 dnl Revision 1.52  2002/03/29 19:51:40  gliptak
114 dnl Correcting compile problem with Debian
115 dnl
116 dnl Revision 1.51  2002/03/28 20:43:00  swa
117 dnl set make correctly
118 dnl
119 dnl Revision 1.50  2002/03/27 03:03:45  hal9
120 dnl Add test for man2html
121 dnl
122 dnl Revision 1.49  2002/03/27 02:19:52  david__schmidt
123 dnl More Mac OSX support:
124 dnl - Get rid of extraneous, noisy -pthread warnings
125 dnl - Define unix so we get oes' unix-tagged changes
126 dnl
127 dnl Revision 1.48  2002/03/26 22:29:54  swa
128 dnl we have a new homepage!
129 dnl
130 dnl Revision 1.47  2002/03/26 16:41:00  hal9
131 dnl Upped RPM Release to 3 (need to build new RH packages)
132 dnl
133 dnl Revision 1.46  2002/03/24 18:55:06  jongfoster
134 dnl Making Docbook work under Windows
135 dnl
136 dnl Revision 1.45  2002/03/24 14:19:55  swa
137 dnl set rpm package release in configure.in. nowhere else.
138 dnl
139 dnl Revision 1.44  2002/03/24 13:25:43  swa
140 dnl name change related issues
141 dnl
142 dnl Revision 1.43  2002/03/24 12:56:21  swa
143 dnl name change related issues.
144 dnl
145 dnl Revision 1.42  2002/03/22 18:11:37  jongfoster
146 dnl Bumping version number to 2.9.12
147 dnl
148 dnl Revision 1.41  2002/03/19 19:30:04  morcego
149 dnl - Fixing stylesheet checking on configure. If it is found, no further checks
150 dnl   should be done
151 dnl
152 dnl - configure will now check for db2html or docbook2html (should work now
153 dnl   on SuSe without the docbktls package)
154 dnl
155 dnl Revision 1.40  2002/03/09 14:33:30  oes
156 dnl Fixing the (harmless) AC_CHECK_FILE warnings
157 dnl
158 dnl Revision 1.39  2002/03/08 16:46:13  oes
159 dnl Added --enable-no-gifs
160 dnl
161 dnl Revision 1.38  2002/03/08 14:13:50  morcego
162 dnl Fixing configure, to remove a command not found error.
163 dnl
164 dnl Revision 1.37  2002/03/08 12:58:21  oes
165 dnl Tiny bugfix in AC_ARG_WITH(debug)
166 dnl
167 dnl Revision 1.36  2002/03/06 23:50:36  morcego
168 dnl Will not test for a text browser if we are not using docbook.
169 dnl
170 dnl Revision 1.35  2002/03/06 21:55:52  morcego
171 dnl New configure option: --with-docbook=(yes|no|directory)
172 dnl Preliminary new platform detection code included. Will work with the
173 dnl old one for now. No use just trowing it away
174 dnl
175 dnl Revision 1.34  2002/03/06 20:57:00  morcego
176 dnl Fixing detection of stylesheets on SuSe.
177 dnl
178 dnl Revision 1.33  2002/03/05 17:31:11  morcego
179 dnl Search for docbook.dsl. Should solve portability problems for SuSe.
180 dnl
181 dnl Revision 1.32  2002/03/05 14:07:43  morcego
182 dnl configure now detects rpm topdir, and change GNUmakefile acordingly
183 dnl    (based on sugestion by Sarantis Paskalis)
184 dnl
185 dnl Revision 1.31  2002/03/05 13:43:28  morcego
186 dnl Checking for text browser, so redhat-dok can work.
187 dnl
188 dnl Revision 1.30  2002/03/04 17:58:01  oes
189 dnl Deleted _DEBUG and PID_FILE_PATH
190 dnl
191 dnl Revision 1.29  2002/02/28 14:20:53  oes
192 dnl Fixed detection of gethost*_r functions on Solaris
193 dnl
194 dnl Revision 1.28  2002/02/27 15:02:38  oes
195 dnl Incremented version number
196 dnl
197 dnl Revision 1.27  2002/01/10 12:35:18  oes
198 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
199 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
200 dnl Is there a better way?
201 dnl
202 dnl Revision 1.26  2002/01/09 14:29:49  oes
203 dnl - Added AC_CHECK_FUNC tests for the availability of
204 dnl   gethostbyname_r, gethostbyaddr_r, gmtime_r and
205 dnl   localtime_r, as well as AC_TRY_COMPILE tests to
206 dnl   determine their signatures.
207 dnl
208 dnl - Fixed a bug with the init of CFLAGS that was
209 dnl   reported by barsnick
210 dnl
211 dnl Revision 1.25  2002/01/04 15:27:18  oes
212 dnl Changed quoting of CODE_STATUS for use in make
213 dnl
214 dnl Revision 1.24  2001/12/30 14:07:31  steudten
215 dnl - Add signal handling (unix)
216 dnl - Add SIGHUP handler (unix)
217 dnl - Add creation of pidfile (unix)
218 dnl - Add action 'top' in rc file (RH)
219 dnl - Add entry 'SIGNALS' to manpage
220 dnl - Add exit message to logfile (unix)
221 dnl
222 dnl Revision 1.23  2001/12/09 20:24:42  david__schmidt
223 dnl Change from "alpha" to "beta" in configure.in
224 dnl
225 dnl Revision 1.22  2001/12/01 11:24:01  jongfoster
226 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
227 dnl make break in a more obvious way.
228 dnl
229 dnl Revision 1.21  2001/11/30 21:35:54  jongfoster
230 dnl Bumping version number to 2.9.10
231 dnl
232 dnl Revision 1.20  2001/10/23 21:24:09  jongfoster
233 dnl Support for FEATURE_CGI_EDIT_ACTIONS
234 dnl
235 dnl Revision 1.19  2001/10/07 15:33:14  oes
236 dnl Removed FEATURE_DENY_GZIP
237 dnl Bumped up version number
238 dnl
239 dnl Revision 1.18  2001/09/13 13:10:24  steudten
240 dnl
241 dnl PreWork for Debug Interface.
242 dnl Add new option "--with-debug" to enable debugging (flags aso.)
243 dnl
244 dnl Revision 1.17  2001/09/12 23:44:55  david__schmidt
245 dnl Mac OSX (Darwin) support added.
246 dnl
247 dnl Revision 1.16  2001/09/12 22:55:45  joergs
248 dnl AmigaOS support added.
249 dnl
250 dnl Revision 1.15  2001/09/12 17:28:59  david__schmidt
251 dnl
252 dnl OS/2 port: update autoconf'd support for the platform.
253 dnl
254 dnl Revision 1.14  2001/07/30 22:12:11  jongfoster
255 dnl Fixing Solaris build (I hope) and tidying up #defines:
256 dnl - All feature #defines are now of the form FEATURE_xxx
257 dnl - Permanently turned off WIN_GUI_EDIT
258 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
259 dnl
260 dnl Revision 1.13  2001/07/29 17:09:17  jongfoster
261 dnl Major changes to build system in order to fix these bugs:
262 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
263 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
264 dnl   which shared libraries are available
265 dnl - Solaris support (?) (Not tested under Solaris yet)
266 dnl
267 dnl Revision 1.12  2001/07/25 19:16:27  oes
268 dnl Bumping version number to 2.9.8
269 dnl
270 dnl Revision 1.11  2001/07/21 18:00:07  jongfoster
271 dnl Bumping version number to 2.9.7
272 dnl
273 dnl Revision 1.10  2001/07/18 17:25:04  oes
274 dnl Fixed a typo
275 dnl
276 dnl Revision 1.9  2001/07/15 19:45:13  jongfoster
277 dnl Added support for linking with POSIX threads library
278 dnl
279 dnl Revision 1.8  2001/07/15 17:54:29  jongfoster
280 dnl Renaming #define STATIC to STATIC_PCRE
281 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
282 dnl POSIX threads support.
283 dnl
284 dnl Revision 1.7  2001/07/13 13:58:05  oes
285 dnl    Completely reorganized the selection scheme for
286 dnl    pcre, pcreposix, pcrs and gnu_regex:
287 dnl
288 dnl    The presence of shared pcre, pcreposix or pcrs
289 dnl    libraried is now autodetected. Additionally, the
290 dnl    user can enforce using the built-in static variants
291 dnl    by specifying --disable-dynamic-(pcre|pcrs).
292 dnl    Care is taken to avoid that pcre is dyn, while pcreposix
293 dnl    is static, if both are used and that pcrs is static if
294 dnl    pcrs is.
295 dnl
296 dnl    The choice between pcre, gnu or no regex for actionsfile
297 dnl    URL matching is now via
298 dnl    --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
299 dnl    default being pcre.
300 dnl
301 dnl Revision 1.6  2001/06/29 21:56:40  oes
302 dnl Version -> 2.9.5
303 dnl
304 dnl Revision 1.5  2001/06/29 13:26:27  oes
305 dnl Introduced #define CODE_STATUS
306 dnl
307 dnl Revision 1.4  2001/05/29 09:50:24  jongfoster
308 dnl Unified blocklist/imagelist/permissionslist.
309 dnl File format is still under discussion, but the internal changes
310 dnl are (mostly) done.
311 dnl
312 dnl Also modified interceptor behaviour:
313 dnl - We now intercept all URLs beginning with one of the following
314 dnl   prefixes (and *only* these prefixes):
315 dnl     * http://i.j.b/
316 dnl     * http://ijbswa.sf.net/config/
317 dnl     * http://ijbswa.sourceforge.net/config/
318 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
319 dnl - Internal changes so that intercepted and fast redirect pages
320 dnl   are not replaced with an image.
321 dnl - Interceptors now have the option to send a binary page direct
322 dnl   to the client. (i.e. ijb-send-banner uses this)
323 dnl - Implemented show-url-info interceptor.  (Which is why I needed
324 dnl   the above interceptors changes - a typical URL is
325 dnl   "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
326 dnl   The previous mechanism would not have intercepted that, and
327 dnl   if it had been intercepted then it then it would have replaced
328 dnl   it with an image.)
329 dnl
330 dnl Revision 1.3  2001/05/22 18:46:04  oes
331 dnl
332 dnl - Enabled filtering banners by size rather than URL
333 dnl   by adding patterns that replace all standard banner
334 dnl   sizes with the "Junkbuster" gif to the re_filterfile
335 dnl
336 dnl - Enabled filtering WebBugs by providing a pattern
337 dnl   which kills all 1x1 images
338 dnl
339 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
340 dnl   which is selected by the (nonstandard and therefore
341 dnl   capital) letter 'U' in the option string.
342 dnl   It causes the quantifiers to be ungreedy by default.
343 dnl   Appending a ? turns back to greedy (!).
344 dnl
345 dnl - Added a new interceptor ijb-send-banner, which
346 dnl   sends back the "Junkbuster" gif. Without imagelist or
347 dnl   MSIE detection support, or if tinygif = 1, or the
348 dnl   URL isn't recognized as an imageurl, a lame HTML
349 dnl   explanation is sent instead.
350 dnl
351 dnl - Added new feature, which permits blocking remote
352 dnl   script redirects and firing back a local redirect
353 dnl   to the browser.
354 dnl   The feature is conditionally compiled, i.e. it
355 dnl   can be disabled with --disable-fast-redirects,
356 dnl   plus it must be activated by a "fast-redirects"
357 dnl   line in the config file, has its own log level
358 dnl   and of course wants to be displayed by show-proxy-args
359 dnl   Note: Boy, all the #ifdefs in 1001 locations and
360 dnl   all the fumbling with configure.in and acconfig.h
361 dnl   were *way* more work than the feature itself :-(
362 dnl
363 dnl - Because a generic redirect template was needed for
364 dnl   this, tinygif = 3 now uses the same.
365 dnl
366 dnl - Moved GIFs, and other static HTTP response templates
367 dnl   to project.h
368 dnl
369 dnl - Some minor fixes
370 dnl
371 dnl - Removed some >400 CRs again (Jon, you really worked
372 dnl   a lot! ;-)
373 dnl
374 dnl Revision 1.2  2001/05/20 01:21:20  jongfoster
375 dnl Version 2.9.4 checkin.
376 dnl - Merged popupfile and cookiefile, and added control over PCRS
377 dnl   filtering, in new "permissionsfile".
378 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
379 dnl   file error you now get a message box (in the Win32 GUI) rather
380 dnl   than the program exiting with no explanation.
381 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
382 dnl   skipping.
383 dnl - Removed tabs from "config"
384 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
385 dnl - Bumped up version number.
386 dnl
387 dnl Revision 1.1.1.1  2001/05/15 13:58:50  oes
388 dnl Initial import of version 2.9.3 source tree
389 dnl
390 dnl 
391
392
393 dnl =================================================================
394 dnl AutoConf Initialization
395 dnl =================================================================
396
397 AC_REVISION($Revision: 1.68.2.7 $)
398 AC_INIT(jcc.c)
399
400 if test ! -f config.h.in; then
401    echo "You need to run autoheader first. "
402    echo -n "Shall I do this for you now? (y/n) "
403    read answer
404    if test "$answer" != "y"; then
405       exit 1
406    else
407       autoheader
408   fi
409 fi  
410
411 AC_CONFIG_HEADER([config.h])
412 AC_CANONICAL_HOST
413
414 dodk=auto
415 DKPREFIX=none
416 AC_ARG_WITH(docbook, dnl
417   --with-docbook=[[yes|no|directory]]   
418                            Enable docbook documentation creation 
419                            (default = yes, for gnu and linux),[dnl
420 case "$with_docbook" in
421 yes) dodk=yes;;
422 no) dodk=no;;
423 *) 
424         dodk=no
425         DKPREFIX=$withval
426         ;;
427 esac
428 ])
429 DB2HTML=false
430 AC_ARG_WITH(db2html, dnl
431   --with-db2html=<path/executable>
432                           Set the location of the docbook to html converter
433                           (default = search),[dnl
434 DB2HTML=$withval
435 ])
436
437 dnl =================================================================
438 dnl Application version number
439 dnl =================================================================
440
441 VERSION_MAJOR=0
442 VERSION_MINOR=0
443 VERSION_POINT=0
444 CODE_STATUS="UNRELEASED"
445
446 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
447 dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
448 dnl whenever CVS in a stable branch differs from the last release.
449
450 dnl =================================================================
451 dnl Substitute the version numbers
452 dnl =================================================================
453
454 AC_SUBST(VERSION_MAJOR)
455 AC_SUBST(VERSION_MINOR)
456 AC_SUBST(VERSION_POINT)
457 AC_SUBST(CODE_STATUS)
458
459 dnl
460 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
461 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
462 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
463 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
464 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
465
466 dnl =================================================================
467 dnl Checks for programs needed to build.
468 dnl =================================================================
469
470 dnl Keep AC_PROG_CC from setting its own defaults:
471 if test "X$CFLAGS" = "X"; then
472    CFLAGS = " "
473 fi
474
475 AC_PROG_CC
476 AC_PROG_CPP
477 AC_PROG_INSTALL
478 AC_PROG_LN_S
479 AC_PROG_MAKE_SET
480 AC_PROG_AWK
481
482 AC_CHECK_PROG(GDB,gdb,yes,no)
483 AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
484 AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
485 AC_SUBST(ID)
486 AC_SUBST(BGROUPS)
487
488 dnl =================================================================
489 dnl debug, gcc and gdb support 
490 dnl =================================================================
491
492 AC_ARG_WITH(debug,
493         [  --with-debug            Enable debug mode],
494         [
495                 if test "x$withval" != "xno" ; then
496                     if test $ac_cv_prog_cc_g = yes; then
497                       if test "$GCC" = yes; then
498                         if test "$GDB"; then
499                           CFLAGS="$CFLAGS -ggdb"
500                         else
501                           CFLAGS="$CFLAGS -g"
502                         fi
503                         CFLAGS="$CFLAGS -Wshadow  -Wconversion"
504                       else
505                         CFLAGS="$CFLAGS -g"
506                       fi
507                    fi
508                 fi
509         ],
510         [
511             if test "X$CFLAGS" = "X "; then # if CFLAGS were unset (see above)
512               if test "$GCC" = yes; then
513                 CFLAGS="-O2"
514               fi
515             fi
516         ]
517 )
518
519 dnl =================================================================
520 dnl Check for user and group validity
521 dnl =================================================================
522
523 $ID privoxy >/dev/null 2>/dev/null
524 if test $? -ne 0 ; then
525  AC_MSG_WARN(There is no user 'privoxy' on this system)
526 fi
527 AC_MSG_CHECKING([for user])
528 AC_ARG_WITH(user,
529         [  --with-user=privoxy          Set user under which privoxy will run],
530         [
531                 if test "x$withval" != "xyes"; then
532                   if test $ID = no ; then
533                     AC_MSG_ERROR(There is no 'id' program on this system)
534                   else
535                     AC_MSG_RESULT($with_user)
536                     $ID $with_user 2>/dev/null >/dev/null
537                     if test $? -eq 0 ; then
538                       USER=$with_user;
539                     else
540                       AC_MSG_ERROR(There is no user '$with_user' on this system)
541                     fi
542                   fi
543                   else
544                    AC_MSG_ERROR(We need a user if you give me this parameter)
545                 fi
546         ],
547         [
548           if test $ID = no ; then
549             AC_MSG_ERROR(There is no 'id' programm on this system)
550           else
551             AC_MSG_RESULT(none specified)
552             USER=$with_user
553           fi
554         ]
555 )
556 AC_SUBST(USER)
557
558 AC_MSG_CHECKING([for group])
559 AC_ARG_WITH(group,
560         [  --with-group=privoxy         Set group for privoxy],
561         [ 
562                 if test "x$withval" != "xyes"; then
563                   if test $BGROUPS = no ; then
564                     AC_MSG_ERROR(There is no 'groups' program on this system)
565                   else
566                     AC_MSG_RESULT($with_group)
567                     $BGROUPS $USER >/dev/null
568                     if test $? -eq 0 ; then
569                     # FIXME: this fails if valid group, but not first group
570                     # listed.
571                       if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
572                         AC_MSG_ERROR(The given value '$withval' does not match group entry)
573                       else
574                         GROUP=$with_group;
575                       fi
576                     else
577                       AC_MSG_ERROR(There is no group entry for user '$USER')
578                     fi
579                   fi
580                 else
581                    AC_MSG_ERROR(We need a group if you give me this parameter)
582                 fi
583         ],
584         [
585           if test $BGROUPS = no ; then
586             AC_MSG_ERROR(There is no 'groups' programm on this system)
587           else
588             AC_MSG_RESULT(none specified)
589             GROUP=$with_group;
590           fi
591         ]
592 )
593 AC_SUBST(GROUP)
594
595 dnl =================================================================
596 dnl additional gcc flags
597 dnl =================================================================
598 dnl 
599 if test "$GCC"; then
600   CFLAGS="-pipe $CFLAGS"
601 fi
602
603
604 dnl =================================================================
605 dnl Build type
606 dnl =================================================================
607 dnl
608 dnl Must do this first.
609 dnl
610 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
611 dnl into Cygwin or MinGW32 modes.  Depending on the mode selected,
612 dnl the compiler will use completely different sets of library
613 dnl and include files.
614 dnl 
615 dnl =================================================================
616
617 AC_MINGW32
618 AC_CYGWIN
619
620 if test "$MINGW32" = "yes"; then
621   target_type=mingw
622 else
623   if test "$CYGWIN" = "yes"; then
624     target_type=cygwin
625   else
626     target_type=unix
627   fi
628 fi
629
630 if test $dodk = auto; then
631         dodk=no
632         if test $target_type = unix; then
633                 case "$host_os" in
634                 linux* | gnu*)
635                         dodk=yes
636                 ;;
637                 esac
638         fi
639 fi
640
641 dnl Decide what to do based on target_type
642 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
643 dnl This is because we don't know yet whether pthread is enabled.
644
645 AC_ARG_ENABLE(mingw32,
646 [  --enable-mingw32        Use mingw32 for a Windows GUI],
647 [if test $enableval = yes; then
648   target_type=mingw
649 fi])
650
651 if test $target_type = mingw; then
652   WIN_ONLY=
653   SPECIAL_CFLAGS="-mwindows -mno-cygwin"
654   PTHREAD_LIB=-lpthreadGC
655   echo "Using mingw32 (Win32 GUI)"
656 else
657   WIN_ONLY=#
658   if test $target_type = cygwin; then
659     SPECIAL_CFLAGS="-mno-win32"
660     PTHREAD_LIB=
661     echo "Using Cygnus (Win32 command line)"
662   else
663     SPECIAL_CFLAGS=
664     PTHREAD_LIB=-lpthread
665   fi
666 fi
667 AC_SUBST(WIN_ONLY)
668
669 dnl Checking which text html browser we have avaliable
670 if test $dodk != no; then
671         AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
672         if test "$WDUMP" = false; then
673                 AC_MSG_WARN(You need some kind of text browser to build documentation \(w3m, lynx and links are supported\))
674         fi
675         if test $DB2HTML = false; then
676                 dnl We need to clean the variable, otherwise AC_CHECK_PROGS
677                 dnl will fail   
678                 DB2HTML=""
679                 AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
680         fi
681 fi
682 AC_SUBST(WDUMP)
683 AC_SUBST(DB2HTML)
684
685 dnl If we use rpm, we need to check where %_topdir is
686 AC_CHECK_PROGS(RPMBIN,rpm,false)
687 if test $RPMBIN != false; then
688                 RPM_BASE=`rpm --eval "%{_topdir}"`
689                 if test "$RPM_BASE" = ""; then
690                         RPM_BASE=/usr/src/redhat
691                 fi
692 fi
693 AC_SUBST(RPM_BASE)
694
695 dnl Check for jade, so we can build the documentation
696 AC_CHECK_PROGS(JADEBIN,jade openjade,false)
697 AC_SUBST(JADEBIN)
698
699 dnl Check for man2html for docs.
700 AC_CHECK_PROGS(MAN2HTML,man2html,false)
701 AC_SUBST(MAN2HTML)
702
703 dnl Set doc status flag for conditional content inclusions
704 DOC_STATUS=p-not-stable
705 if  test $CODE_STATUS = stable; then
706      DOC_STATUS="p-stable"
707 fi
708 AC_SUBST(DOC_STATUS)
709
710 dnl Checking for the docbook.dsl stylesheet file
711 dnl It is still not portable (directory slash)
712 JADECAT=""
713 if test $dodk = yes; then
714   if test $DKPREFIX = none; then
715     for i in /usr/share/sgml/docbook/dsssl-stylesheets /usr/share/sgml/docbkdsl /usr/share/sgml/docbook-dsssl; do
716 dnl  echo -n does not fly with /bin/sh.
717 dnl      echo -n "checking for $i/html/docbook.dsl..."
718       AC_MSG_CHECKING([for $i])
719       if test -f $i/html/docbook.dsl; then
720         echo "yes"
721         DKPREFIX=$i
722         break
723       else
724         echo "no"
725       fi
726     done
727 # where are the catalogs?
728     for i in /usr/share/sgml/CATALOG.docbk30 /usr/share/sgml/CATALOG.docbk31; do
729 dnl     echo -n "checking for $i..."
730       AC_MSG_CHECKING([for $i])
731       if test -f $i; then
732         echo "yes"
733         JADECAT="$JADECAT -c $i"
734       else
735         echo "no"
736       fi
737     done
738   fi
739 fi
740 AC_SUBST(JADECAT)
741 AC_SUBST(DKPREFIX)
742
743 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
744 old_CFLAGS_nospecial=$CFLAGS
745 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
746
747 # Hack to force AutoConf to use the CFLAGS we just set
748 dnl Warning: This may break with a future version of Autoconf
749 dnl          Tested with autoconf 2.13
750 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
751 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
752 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
753
754
755 dnl =================================================================
756 dnl Thread support
757 dnl =================================================================
758
759 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
760
761 AC_ARG_ENABLE(pthread,
762 [  --disable-pthread       Don't use POSIX threads (pthreads)],
763 [if test $enableval = no; then
764   # Disable pthreads
765   have_pthread=no
766 fi])
767
768 if test $have_pthread = yes; then
769   PTHREAD_ONLY=
770   AC_DEFINE(FEATURE_PTHREAD)
771   echo Using POSIX threads
772   if test "$GCC" = "yes"; then
773     # Set a GCC specific switch:
774     if test "$target_type" = "unix"; then
775       ac_jgf_save_CFLAGS=$CFLAGS
776       CFLAGS="$CFLAGS -pthread"
777       AC_TRY_LINK([#include <pthread.h>],
778         [void *p = pthread_create;],
779         [
780           # This compiler switch makes GCC on Linux thread-safe
781           # However, it's not supported on most other OS.
782           PTHREAD_LIB=
783           SPECIAL_CFLAGS="-pthread"
784         ])
785       CFLAGS=$ac_jgf_save_CFLAGS
786     fi
787   fi
788 else
789   PTHREAD_ONLY=#
790   echo Using native threads
791 fi
792
793 AC_SUBST(PTHREAD_ONLY)
794
795 dnl =================================================================
796 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
797 dnl gmtime and localtime
798 dnl =================================================================
799
800 dnl Next line needed to find the gethost*_r functions on Solaris
801 AC_CHECK_LIB(nsl, gethostbyname)
802
803 AC_CHECK_FUNC(gethostbyaddr_r, [
804   AC_MSG_CHECKING([signature of gethostbyaddr_r])
805   AC_TRY_COMPILE([
806 #   include <netdb.h>
807   ], [
808     struct hostent *h, *hp;
809     char *a, *b;
810     int l, bl, t, e;
811     (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
812   ], [
813     AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
814     AC_MSG_RESULT([8 args])
815   ], [
816     AC_TRY_COMPILE([
817 #     include <netdb.h>
818     ], [
819       struct hostent *h;
820       char *a, *b;
821       int l, bl, t, e;
822       (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
823     ], [
824       AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
825       AC_MSG_RESULT([7 args])
826     ], [
827       AC_TRY_COMPILE([
828 #       include <netdb.h>
829       ], [
830         struct hostent_data *d;
831         struct hostent *h;
832         char a,
833         int l, t;
834         (void) gethostbyaddr_r(a, l, t, h, d)
835       ], [
836         AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
837         AC_MSG_RESULT([5 args])
838       ], [
839         AC_MSG_RESULT(unrecognised)
840       ])
841     ])
842   ])
843 ], [
844   AC_MSG_RESULT(no)
845 ])
846
847 AC_CHECK_FUNC(gethostbyname_r, [
848   AC_MSG_CHECKING([signature of gethostbyname_r])
849   AC_TRY_COMPILE([
850 #   include <netdb.h>
851   ], [
852     struct hostent *h, *r;
853     char *n, *b;
854     int bl, e;
855     (void) gethostbyname_r(n, h, b, bl, &r, &e)
856   ], [
857     AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
858     AC_MSG_RESULT([6 args])
859   ], [
860     AC_TRY_COMPILE([
861 #     include <netdb.h>
862     ], [
863       struct hostent *h;
864       char *n, *b;
865       int bl, e;
866       (void) gethostbyname_r(n, h, b, bl, &e)
867     ], [
868       AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
869       AC_MSG_RESULT([5 args])
870     ], [
871       AC_TRY_COMPILE([
872 #       include <netdb.h>
873       ], [
874         struct hostent_data *d;
875         struct hostent *h;
876         char *n,
877         (void) gethostbyname_r(n, h, d)
878       ], [
879         AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
880         AC_MSG_RESULT([3 args])
881       ], [
882         AC_MSG_RESULT(unrecognised)
883       ])
884     ])
885   ])
886 ], [
887   AC_MSG_RESULT(no)
888 ])
889
890 AC_CHECK_FUNC(gmtime_r, [
891   AC_MSG_CHECKING([signature of gmtime_r])
892   AC_TRY_COMPILE([
893 #   include <time.h>
894   ], [
895     struct time *t;
896     struct tm *tm;
897     (void) gmtime_r(t, tm)
898   ], [
899     AC_MSG_RESULT(ok)
900     AC_DEFINE(HAVE_GMTIME_R)
901   ], [
902     AC_MSG_RESULT(unrecognised)
903   ])
904 ], [
905   AC_MSG_RESULT(no)
906 ])
907
908 AC_CHECK_FUNC(localtime_r, [
909   AC_MSG_CHECKING([signature of localtime_r])
910   AC_TRY_COMPILE([
911 #   include <time.h>
912   ], [
913     struct time *t;
914     struct tm *tm;
915     (void) localtime_r(t, tm)
916   ], [
917     AC_MSG_RESULT(ok)
918     AC_DEFINE(HAVE_LOCALTIME_R)
919   ], [
920     AC_MSG_RESULT(unrecognised)
921   ])
922 ], [
923   AC_MSG_RESULT(no)
924 ])
925
926 dnl =================================================================
927 dnl Solaris specific
928 dnl FIXME: Not tested on Solaris yet...
929 dnl ISFIXED: Have tested it on Solaris, but there are other ways to
930 dnl     make these checks generic, e.g.:
931 dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt))
932 dnl     (Moritz Barsnick <moritz@barsnick.net>)
933 dnl =================================================================
934
935
936 SOCKET_LIB=
937
938 case "$host" in
939 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
940             AC_DEFINE(__EXTENSIONS__)
941             if test "$GCC" = "yes"; then
942               # Set a GCC specific switch:
943               # This compiler switch makes Solaris thread-safe
944               PTHREAD_LIB=
945               SPECIAL_CFLAGS="-pthreads"
946             else
947               # What do we do without GCC? Guess this:
948               SPECIAL_CFLAGS="-D_REENTRANT"
949             fi
950 ;;
951 esac
952
953 AC_SUBST(SOCKET_LIB)
954
955 dnl =================================================================
956 dnl Solaris problem, and others perhaps (socklen_t is undefined)
957 dnl =================================================================
958
959 AC_MSG_CHECKING([for socklen_t])
960 AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
961         AC_MSG_RESULT([no])
962         AC_DEFINE(socklen_t,int,
963                 [ Define to 'int' if <sys/socket.h> doesn't have it. ]))
964
965
966 dnl =================================================================
967 dnl OS/2 specific
968 dnl =================================================================
969
970 case "$host" in
971 *-os2-emx*) SOCKET_LIB=-lsocket
972 ;;
973 esac
974
975 AC_SUBST(SOCKET_LIB)
976
977 dnl =================================================================
978 dnl Mac OSX specific
979 dnl =================================================================
980     
981 case "$host" in
982 *-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
983 ;;  
984 esac
985
986 dnl =================================================================
987 dnl AmigaOS specific
988 dnl =================================================================
989
990 AMIGAOS_ONLY=#
991
992 case "$host" in
993 *-amigaos) AMIGAOS_ONLY=
994 ;;
995 esac
996
997 AC_SUBST(AMIGAOS_ONLY)
998
999 dnl =================================================================
1000 dnl Check for standard compiler stuff
1001 dnl =================================================================
1002
1003 AC_EXEEXT
1004 AC_OBJEXT
1005 AC_HEADER_STDC
1006 AC_HEADER_DIRENT
1007 AC_C_CONST
1008 AC_TYPE_SIZE_T
1009 AC_TYPE_PID_T
1010 AC_HEADER_TIME
1011 AC_STRUCT_TM
1012 AC_CHECK_SIZEOF(int, 4)
1013 AC_CHECK_SIZEOF(char *, 4)
1014 AC_CHECK_SIZEOF(long, 4)
1015 AC_CHECK_SIZEOF(long long, 8)
1016 AC_CHECK_SIZEOF(size_t, 4)
1017
1018 dnl Checks for header files.
1019 dnl AC_HEADER_SYS_WAIT
1020 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
1021 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])
1022
1023 dnl Checks for library functions.
1024 dnl AC_TYPE_SIGNAL
1025 dnl AC_CHECK_FUNC(strstr)
1026 dnl bcopy and memmove are for PCRE
1027 AC_CHECK_FUNCS([strerror bcopy memmove])
1028 AC_PROG_GCC_TRADITIONAL
1029 dnl uncommenting does not work for swa. suse linux
1030 dnl AC_FUNC_MALLOC
1031 AC_FUNC_SETPGRP
1032 AC_TYPE_SIGNAL
1033 dnl uncommenting does not work for swa. suse linux
1034 dnl AC_FUNC_STAT
1035 AC_CHECK_FUNCS([atexit getcwd gethostbyaddr gethostbyname inet_ntoa localtime_r memchr memmove memset regcomp select setlocale socket strchr strdup strerror strftime strstr strtoul])
1036
1037
1038 dnl =================================================================
1039 dnl Checks for libraries.
1040 dnl =================================================================
1041 dnl Note: Some systems may have the library but not the system header
1042 dnl       file, so we must check for both.
1043 dnl       Also check for correct version
1044 AC_CHECK_LIB(pcre, pcre_compile, [
1045    AC_CHECK_HEADER(pcre.h, [
1046       AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])
1047    ], [
1048       AC_CHECK_HEADER(pcre/pcre.h, [
1049          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])
1050       ], [have_pcre=no])
1051    ])
1052 ], [have_pcre=no])
1053  
1054 AC_CHECK_LIB(pcreposix, regcomp, [
1055    AC_CHECK_HEADER(pcreposix.h, [
1056       AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])
1057    ], [
1058       AC_CHECK_HEADER(pcre/pcreposix.h, [
1059          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)])
1060       ], [have_pcreposix=no])
1061    ])
1062 ], [have_pcreposix=no], -lpcre) 
1063
1064 AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre)
1065
1066 dnl =================================================================
1067 dnl Always defined
1068 dnl =================================================================
1069
1070 AC_DEFINE(__MT__)
1071
1072 dnl =================================================================
1073 dnl Features
1074 dnl =================================================================
1075
1076 AC_ARG_ENABLE(toggle,
1077 [  --disable-toggle         Don't support temporary disable],
1078 [if test $enableval = yes; then
1079   AC_DEFINE(FEATURE_TOGGLE)
1080 fi],AC_DEFINE(FEATURE_TOGGLE))
1081
1082 AC_ARG_ENABLE(force,
1083 [  --disable-force          Don't allow single-page disable],
1084 [if test $enableval = yes; then
1085   AC_DEFINE(FEATURE_FORCE_LOAD)
1086 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
1087
1088 AC_ARG_ENABLE(fast-redirects,
1089 [  --disable-fast-redirects Don't support fast redirects],
1090 [if test $enableval = yes; then
1091   AC_DEFINE(FEATURE_FAST_REDIRECTS)
1092 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
1093
1094 AC_ARG_ENABLE(killpopup,
1095 [  --disable-killpopup      Never block popups],
1096 [if test $enableval = yes; then
1097   AC_DEFINE(FEATURE_KILL_POPUPS)
1098 fi],AC_DEFINE(FEATURE_KILL_POPUPS))
1099
1100 AC_ARG_ENABLE(stats,
1101 [  --disable-stats          Don't keep statistics],
1102 [if test $enableval = yes; then
1103   AC_DEFINE(FEATURE_STATISTICS)
1104 fi],AC_DEFINE(FEATURE_STATISTICS))
1105
1106 AC_ARG_ENABLE(ie-images,
1107 [  --disable-ie-images      Don't auto-detect whether a request from MS Internet
1108                            Explorer is for an image or HTML.],
1109 [if test $enableval = yes; then
1110   AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
1111 fi],
1112 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE))
1113
1114 AC_ARG_ENABLE(image-blocking,
1115 [  --disable-image-blocking Don't try to figure out whether a request is 
1116                            for an image or HTML - assume HTML.],
1117 [if test $enableval = yes; then
1118   AC_DEFINE(FEATURE_IMAGE_BLOCKING)
1119 fi],
1120 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
1121
1122 AC_ARG_ENABLE(acl-files,
1123 [  --disable-acl-files      Prevents the use of ACL files to control access to
1124                            the proxy by IP address.],
1125 [if test $enableval = yes; then
1126   AC_DEFINE(FEATURE_ACL)
1127 fi],
1128 AC_DEFINE(FEATURE_ACL))
1129
1130 AC_ARG_ENABLE(trust-files,
1131 [  --disable-trust-files    Prevents the use of trust files.],
1132 [if test $enableval = yes; then
1133   AC_DEFINE(FEATURE_TRUST)
1134 fi],
1135 AC_DEFINE(FEATURE_TRUST))
1136
1137 AC_ARG_ENABLE(jar-files,
1138 [  --disable-jar-files      Prevents the use of jar files to capture cookies.],
1139 [if test $enableval = yes; then
1140   AC_DEFINE(FEATURE_COOKIE_JAR)
1141 fi],
1142 AC_DEFINE(FEATURE_COOKIE_JAR))
1143
1144 AC_ARG_ENABLE(editor,
1145 [  --disable-editor         Prevents the use of the web-based actions file
1146                            editor and web-based temporary disable setting.],
1147 [if test $enableval = yes; then
1148   AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
1149 fi],
1150 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
1151
1152 AC_ARG_ENABLE(no-gifs,
1153 [  --enable-no-gifs         Use politically correct PNG format instead of GIF
1154                            for built-in images. May not work with all browsers.],
1155 [if test $enableval = yes; then
1156   AC_DEFINE(FEATURE_NO_GIFS)
1157 fi])
1158
1159
1160 dnl pcre/pcrs is needed for CGI anyway, so
1161 dnl the choice is only between static and
1162 dnl dynamic:
1163
1164 AC_ARG_ENABLE(dynamic-pcre,
1165 [  --disable-dynamic-pcre        Use the built-in, static pcre, even if
1166                                 libpcre is available],
1167 [ if test $enableval = "no"; then have_pcre=no; fi ])
1168
1169 AC_ARG_ENABLE(dynamic-pcrs,
1170 [  --disable-dynamic-pcrs        Use the built-in, static pcrs, even if
1171                                 libpcrs is available],
1172 [ if test $enableval = "no"; then have_pcrs=no; fi ])
1173
1174
1175 # If we have libpcre and either we also have pcreposix or
1176 # we don't need pcreposix, then link pcre dynamically; else
1177 # build it and link statically
1178 #
1179 if test $have_pcre = "yes"; then
1180   echo "using libpcre"
1181   pcre_dyn=yes
1182   STATIC_PCRE_ONLY=#
1183   LIBS="$LIBS -lpcre -lpcreposix"
1184 else
1185   echo "using built-in static pcre"
1186   pcre_dyn=no
1187   AC_DEFINE(STATIC_PCRE)
1188   STATIC_PCRE_ONLY=
1189 fi
1190
1191 # If we have libpcrs and pcre is linked dynamically
1192 # then also link pcrs dynamically, else build and link
1193 # pcrs statically
1194 #
1195 if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
1196   echo "using libpcrs"
1197   STATIC_PCRS_ONLY=#
1198   LIBS="$LIBS -lpcrs"
1199 else
1200   echo "using built-in static pcrs"
1201   AC_DEFINE(STATIC_PCRS)
1202   STATIC_PCRS_ONLY=
1203 fi
1204
1205 AC_SUBST(STATIC_PCRE_ONLY)
1206 AC_SUBST(STATIC_PCRS_ONLY)
1207
1208 dnl =================================================================
1209 dnl Final cleanup and output
1210 dnl =================================================================
1211
1212 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
1213 dnl in the Makefile
1214 CFLAGS=$old_CFLAGS_nospecial
1215 AC_SUBST(SPECIAL_CFLAGS)
1216
1217 AC_SUBST(PTHREAD_LIB)
1218
1219 AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)