Show enablement/disablement status in almost all templates.
[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.19 2001/10/07 15:33:14 oes Exp $
4 dnl 
5 dnl Written by and Copyright (C) 2001 the SourceForge
6 dnl IJBSWA team.  http://ijbswa.sourceforge.net
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.19  2001/10/07 15:33:14  oes
32 dnl Removed FEATURE_DENY_GZIP
33 dnl Bumped up version number
34 dnl
35 dnl Revision 1.18  2001/09/13 13:10:24  steudten
36 dnl
37 dnl PreWork for Debug Interface.
38 dnl Add new option "--with-debug" to enable debugging (flags aso.)
39 dnl
40 dnl Revision 1.17  2001/09/12 23:44:55  david__schmidt
41 dnl Mac OSX (Darwin) support added.
42 dnl
43 dnl Revision 1.16  2001/09/12 22:55:45  joergs
44 dnl AmigaOS support added.
45 dnl
46 dnl Revision 1.15  2001/09/12 17:28:59  david__schmidt
47 dnl
48 dnl OS/2 port: update autoconf'd support for the platform.
49 dnl
50 dnl Revision 1.14  2001/07/30 22:12:11  jongfoster
51 dnl Fixing Solaris build (I hope) and tidying up #defines:
52 dnl - All feature #defines are now of the form FEATURE_xxx
53 dnl - Permanently turned off WIN_GUI_EDIT
54 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
55 dnl
56 dnl Revision 1.13  2001/07/29 17:09:17  jongfoster
57 dnl Major changes to build system in order to fix these bugs:
58 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
59 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
60 dnl   which shared libraries are available
61 dnl - Solaris support (?) (Not tested under Solaris yet)
62 dnl
63 dnl Revision 1.12  2001/07/25 19:16:27  oes
64 dnl Bumping version number to 2.9.8
65 dnl
66 dnl Revision 1.11  2001/07/21 18:00:07  jongfoster
67 dnl Bumping version number to 2.9.7
68 dnl
69 dnl Revision 1.10  2001/07/18 17:25:04  oes
70 dnl Fixed a typo
71 dnl
72 dnl Revision 1.9  2001/07/15 19:45:13  jongfoster
73 dnl Added support for linking with POSIX threads library
74 dnl
75 dnl Revision 1.8  2001/07/15 17:54:29  jongfoster
76 dnl Renaming #define STATIC to STATIC_PCRE
77 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
78 dnl POSIX threads support.
79 dnl
80 dnl Revision 1.7  2001/07/13 13:58:05  oes
81 dnl    Completely reorganized the selection scheme for
82 dnl    pcre, pcreposix, pcrs and gnu_regex:
83 dnl
84 dnl    The presence of shared pcre, pcreposix or pcrs
85 dnl    libraried is now autodetected. Additionally, the
86 dnl    user can enforce using the built-in static variants
87 dnl    by specifying --disable-dynamic-(pcre|pcrs).
88 dnl    Care is taken to avoid that pcre is dyn, while pcreposix
89 dnl    is static, if both are used and that pcrs is static if
90 dnl    pcrs is.
91 dnl
92 dnl    The choice between pcre, gnu or no regex for actionsfile
93 dnl    URL matching is now via
94 dnl    --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
95 dnl    default being pcre.
96 dnl
97 dnl Revision 1.6  2001/06/29 21:56:40  oes
98 dnl Version -> 2.9.5
99 dnl
100 dnl Revision 1.5  2001/06/29 13:26:27  oes
101 dnl Introduced #define CODE_STATUS
102 dnl
103 dnl Revision 1.4  2001/05/29 09:50:24  jongfoster
104 dnl Unified blocklist/imagelist/permissionslist.
105 dnl File format is still under discussion, but the internal changes
106 dnl are (mostly) done.
107 dnl
108 dnl Also modified interceptor behaviour:
109 dnl - We now intercept all URLs beginning with one of the following
110 dnl   prefixes (and *only* these prefixes):
111 dnl     * http://i.j.b/
112 dnl     * http://ijbswa.sf.net/config/
113 dnl     * http://ijbswa.sourceforge.net/config/
114 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
115 dnl - Internal changes so that intercepted and fast redirect pages
116 dnl   are not replaced with an image.
117 dnl - Interceptors now have the option to send a binary page direct
118 dnl   to the client. (i.e. ijb-send-banner uses this)
119 dnl - Implemented show-url-info interceptor.  (Which is why I needed
120 dnl   the above interceptors changes - a typical URL is
121 dnl   "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
122 dnl   The previous mechanism would not have intercepted that, and
123 dnl   if it had been intercepted then it then it would have replaced
124 dnl   it with an image.)
125 dnl
126 dnl Revision 1.3  2001/05/22 18:46:04  oes
127 dnl
128 dnl - Enabled filtering banners by size rather than URL
129 dnl   by adding patterns that replace all standard banner
130 dnl   sizes with the "Junkbuster" gif to the re_filterfile
131 dnl
132 dnl - Enabled filtering WebBugs by providing a pattern
133 dnl   which kills all 1x1 images
134 dnl
135 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
136 dnl   which is selected by the (nonstandard and therefore
137 dnl   capital) letter 'U' in the option string.
138 dnl   It causes the quantifiers to be ungreedy by default.
139 dnl   Appending a ? turns back to greedy (!).
140 dnl
141 dnl - Added a new interceptor ijb-send-banner, which
142 dnl   sends back the "Junkbuster" gif. Without imagelist or
143 dnl   MSIE detection support, or if tinygif = 1, or the
144 dnl   URL isn't recognized as an imageurl, a lame HTML
145 dnl   explanation is sent instead.
146 dnl
147 dnl - Added new feature, which permits blocking remote
148 dnl   script redirects and firing back a local redirect
149 dnl   to the browser.
150 dnl   The feature is conditionally compiled, i.e. it
151 dnl   can be disabled with --disable-fast-redirects,
152 dnl   plus it must be activated by a "fast-redirects"
153 dnl   line in the config file, has its own log level
154 dnl   and of course wants to be displayed by show-proxy-args
155 dnl   Note: Boy, all the #ifdefs in 1001 locations and
156 dnl   all the fumbling with configure.in and acconfig.h
157 dnl   were *way* more work than the feature itself :-(
158 dnl
159 dnl - Because a generic redirect template was needed for
160 dnl   this, tinygif = 3 now uses the same.
161 dnl
162 dnl - Moved GIFs, and other static HTTP response templates
163 dnl   to project.h
164 dnl
165 dnl - Some minor fixes
166 dnl
167 dnl - Removed some >400 CRs again (Jon, you really worked
168 dnl   a lot! ;-)
169 dnl
170 dnl Revision 1.2  2001/05/20 01:21:20  jongfoster
171 dnl Version 2.9.4 checkin.
172 dnl - Merged popupfile and cookiefile, and added control over PCRS
173 dnl   filtering, in new "permissionsfile".
174 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
175 dnl   file error you now get a message box (in the Win32 GUI) rather
176 dnl   than the program exiting with no explanation.
177 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
178 dnl   skipping.
179 dnl - Removed tabs from "config"
180 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
181 dnl - Bumped up version number.
182 dnl
183 dnl Revision 1.1.1.1  2001/05/15 13:58:50  oes
184 dnl Initial import of version 2.9.3 source tree
185 dnl
186 dnl 
187
188
189 dnl =================================================================
190 dnl AutoConf Initialization
191 dnl =================================================================
192
193 AC_REVISION($Revision: 1.19 $)
194 AC_INIT(jcc.c)
195 AC_CONFIG_HEADER(config.h)
196 AC_CANONICAL_HOST
197
198
199 dnl =================================================================
200 dnl Application version number
201 dnl =================================================================
202
203 VERSION_MAJOR=2
204 VERSION_MINOR=9
205 VERSION_POINT=9
206 CODE_STATUS="\"alpha\""
207
208 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
209 dnl used for CGI output
210
211 dnl =================================================================
212 dnl Substitute the version numbers
213 dnl =================================================================
214
215 AC_SUBST(VERSION_MAJOR)
216 AC_SUBST(VERSION_MINOR)
217 AC_SUBST(VERSION_POINT)
218
219 dnl
220 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
221 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
222 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
223 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
224 AC_DEFINE_UNQUOTED(CODE_STATUS,${CODE_STATUS})
225
226
227 dnl =================================================================
228 dnl Checks for programs needed to build.
229 dnl =================================================================
230 AC_PROG_CC
231 AC_PROG_CPP
232 dnl AC_PROG_CXX
233 dnl AC_PROG_INSTALL
234 dnl AC_PROG_LN_S
235 dnl AC_PROG_MAKE_SET
236 dnl RANLIB is for PCRE:
237 dnl AC_PROG_RANLIB
238
239 AC_CHECK_PROG(GDB,gdb,yes,no)
240
241 dnl =================================================================
242 dnl debug, gcc and gdb support 
243 dnl =================================================================
244
245 AC_ARG_WITH(debug,
246         [  --with-debug            Enable debug mode],
247         [
248                 if test "x$withval" != "$xno" ; then
249                     if test $ac_cv_prog_cc_g = yes; then
250                       if test "$GCC" = yes; then
251                         if test "$GDB"; then
252                           CFLAGS="-ggdb"
253                         else
254                           CFLAGS="-g"
255                         fi
256                         CFLAGS="$CFLAGS -Wshadow  -Wconversion"
257                       else
258                         CFLAGS="-g"
259                       fi
260                    fi
261                    CFLAGS="$CFLAGS -D_DEBUG"
262                 fi
263         ],
264         [
265             if test "$GCC" = yes; then
266               CFLAGS="-O2"
267             else
268               CFLAGS=
269             fi
270         ]
271 )
272
273 dnl =================================================================
274 dnl additional gcc flags
275 dnl =================================================================
276 dnl 
277 if test "$GCC"; then
278   CFLAGS="-pipe $CFLAGS"
279 fi
280
281
282 dnl =================================================================
283 dnl Build type
284 dnl =================================================================
285 dnl
286 dnl Must do this first.
287 dnl
288 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
289 dnl into Cygwin or MinGW32 modes.  Depending on the mode selected,
290 dnl the compiler will use completely different sets of library
291 dnl and include files.
292 dnl 
293 dnl =================================================================
294
295 AC_MINGW32
296 AC_CYGWIN
297
298 if test "$MINGW32" = "yes"; then
299   target_type=mingw
300 else
301   if test "$CYGWIN" = "yes"; then
302     target_type=cygwin
303   else
304     target_type=unix
305   fi
306 fi
307
308 dnl Decide what to do based on target_type
309 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
310 dnl This is because we don't know yet whether pthread is enabled.
311
312 AC_ARG_ENABLE(mingw32,
313 [  --enable-mingw32        Use mingw32 for a Windows GUI],
314 [if test $enableval = yes; then
315   target_type=mingw
316 fi])
317
318 if test $target_type = mingw; then
319   WIN_ONLY=
320   SPECIAL_CFLAGS="-mwindows -mno-cygwin"
321   PTHREAD_LIB=-lpthreadGC
322   echo "Using mingw32 (Win32 GUI)"
323 else
324   WIN_ONLY=#
325   if test $target_type = cygwin; then
326     SPECIAL_CFLAGS="-mno-win32"
327     PTHREAD_LIB=
328     echo "Using Cygnus (Win32 command line)"
329   else
330     SPECIAL_CFLAGS=
331     PTHREAD_LIB=-lpthread
332   fi
333 fi
334 AC_SUBST(WIN_ONLY)
335
336
337 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
338 old_CFLAGS_nospecial=$CFLAGS
339 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
340
341 # Hack to force AutoConf to use the CFLAGS we just set
342 dnl Warning: This may break with a future version of Autoconf
343 dnl          Tested with autoconf 2.13
344 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
345 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
346 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
347
348
349 dnl =================================================================
350 dnl Thread support
351 dnl =================================================================
352
353 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
354
355 AC_ARG_ENABLE(pthread,
356 [  --disable-pthread       Don't use POSIX threads (pthreads)],
357 [if test $enableval = no; then
358   # Disable pthreads
359   have_pthread=no
360 fi])
361
362 if test $have_pthread = yes; then
363   PTHREAD_ONLY=
364   AC_DEFINE(FEATURE_PTHREAD)
365   echo Using POSIX threads
366   if test "$GCC" = "yes"; then
367     # Set a GCC specific switch:
368     if test "$target_type" = "unix"; then
369       # This compiler switch makes Linux thread-safe
370       # Don't know about other OS's?  Is this switch
371       # supported?
372       PTHREAD_LIB=
373       SPECIAL_CFLAGS="-pthread"
374     fi
375   fi
376 else
377   PTHREAD_ONLY=#
378   echo Using native threads
379 fi
380
381 AC_SUBST(PTHREAD_ONLY)
382
383
384 dnl =================================================================
385 dnl Solaris specific
386 dnl FIXME: Not tested on Solaris yet...
387 dnl =================================================================
388
389
390 SOCKET_LIB=
391
392 case "$host" in
393 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
394             AC_DEFINE(__EXTENSIONS__)
395             if test "$GCC" = "yes"; then
396               # Set a GCC specific switch:
397               # This compiler switch makes Solaris thread-safe
398               PTHREAD_LIB=
399               SPECIAL_CFLAGS="-pthreads"
400             else
401               # What do we do without GCC? Guess this:
402               SPECIAL_CFLAGS="-D_REENTRANT"
403             fi
404 ;;
405 esac
406
407 AC_SUBST(SOCKET_LIB)
408
409 dnl =================================================================
410 dnl OS/2 specific
411 dnl =================================================================
412
413 case "$host" in
414 *-os2-emx*) SOCKET_LIB=-lsocket
415 ;;
416 esac
417
418 AC_SUBST(SOCKET_LIB)
419
420 dnl =================================================================
421 dnl AmigaOS specific
422 dnl =================================================================
423
424 AMIGAOS_ONLY=#
425
426 case "$host" in
427 *-amigaos) AMIGAOS_ONLY=
428 ;;
429 esac
430
431 AC_SUBST(AMIGAOS_ONLY)
432
433 dnl =================================================================
434 dnl Check for standard compiler stuff
435 dnl =================================================================
436
437 AC_EXEEXT
438 AC_OBJEXT
439 AC_HEADER_STDC
440 AC_C_CONST
441 AC_TYPE_SIZE_T
442 AC_CHECK_SIZEOF(int)
443 AC_CHECK_SIZEOF(char *)
444 AC_CHECK_SIZEOF(long)
445 AC_CHECK_SIZEOF(long long)
446 AC_CHECK_SIZEOF(size_t)
447
448 dnl Checks for header files.
449 dnl AC_HEADER_SYS_WAIT
450 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
451
452 dnl Checks for library functions.
453 dnl AC_TYPE_SIGNAL
454 dnl AC_CHECK_FUNC(strstr)
455 dnl bcopy and memmove are for PCRE
456 AC_CHECK_FUNCS(strerror bcopy memmove)
457
458
459 dnl =================================================================
460 dnl Checks for libraries.
461 dnl =================================================================
462 dnl Note: Some systems may have the library but not the system header
463 dnl       file, so we must check for both.
464 AC_CHECK_LIB(pcre, pcre_compile, [AC_CHECK_HEADER(pcre.h, [have_pcre=yes], [have_pcre=no])], [have_pcre=no])
465 AC_CHECK_LIB(pcreposix, regcomp, [AC_CHECK_HEADER(pcreposix.h, [have_pcreposix=yes], [have_pcreposix=no])], [have_pcreposix=no], -lpcre)
466 AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no])
467
468
469 dnl =================================================================
470 dnl Always defined
471 dnl =================================================================
472
473 AC_DEFINE(__MT__)
474
475 dnl =================================================================
476 dnl Features
477 dnl =================================================================
478
479 AC_ARG_ENABLE(toggle,
480 [  --disable-toggle         Don't support temporary disable],
481 [if test $enableval = yes; then
482   AC_DEFINE(FEATURE_TOGGLE)
483 fi],AC_DEFINE(FEATURE_TOGGLE))
484
485 AC_ARG_ENABLE(force,
486 [  --disable-force          Don't allow single-page disable],
487 [if test $enableval = yes; then
488   AC_DEFINE(FEATURE_FORCE_LOAD)
489 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
490
491 AC_ARG_ENABLE(fast-redirects,
492 [  --disable-fast-redirects Don't support fast redirects],
493 [if test $enableval = yes; then
494   AC_DEFINE(FEATURE_FAST_REDIRECTS)
495 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
496
497 AC_ARG_ENABLE(killpopup,
498 [  --disable-killpopup      Never block popups],
499 [if test $enableval = yes; then
500   AC_DEFINE(FEATURE_KILL_POPUPS)
501 fi],AC_DEFINE(FEATURE_KILL_POPUPS))
502
503 AC_ARG_ENABLE(stats,
504 [  --disable-stats          Don't keep statistics],
505 [if test $enableval = yes; then
506   AC_DEFINE(FEATURE_STATISTICS)
507 fi],AC_DEFINE(FEATURE_STATISTICS))
508
509 AC_ARG_ENABLE(ie-images,
510 [  --disable-ie-images      Don't auto-detect whether a request from MS Internet
511                            Explorer is for an image or HTML.],
512 [if test $enableval = yes; then
513   AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
514 fi],
515 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE))
516
517 AC_ARG_ENABLE(image-blocking,
518 [  --disable-image-blocking Don't try to figure out whether a request is 
519                            for an image or HTML - assume HTML.],
520 [if test $enableval = yes; then
521   AC_DEFINE(FEATURE_IMAGE_BLOCKING)
522 fi],
523 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
524
525 AC_ARG_ENABLE(acl-files,
526 [  --disable-acl-files      Prevents the use of ACL files to control access to
527                            the proxy by IP address.],
528 [if test $enableval = yes; then
529   AC_DEFINE(FEATURE_ACL)
530 fi],
531 AC_DEFINE(FEATURE_ACL))
532
533 AC_ARG_ENABLE(trust-files,
534 [  --disable-trust-files    Prevents the use of trust files.],
535 [if test $enableval = yes; then
536   AC_DEFINE(FEATURE_TRUST)
537 fi],
538 AC_DEFINE(FEATURE_TRUST))
539
540 AC_ARG_ENABLE(jar-files,
541 [  --disable-jar-files      Prevents the use of jar files to capture cookies.],
542 [if test $enableval = yes; then
543   AC_DEFINE(FEATURE_COOKIE_JAR)
544 fi],
545 AC_DEFINE(FEATURE_COOKIE_JAR))
546
547 AC_ARG_ENABLE(editor,
548 [  --disable-editor         Prevents the use of the web-based actions file
549                            editor and web-based temporary disable setting.],
550 [if test $enableval = yes; then
551   AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
552 fi],
553 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
554
555 dnl pcre/pcrs is needed for CGI anyway, so
556 dnl the choice is only between static and
557 dnl dynamic:
558
559 AC_ARG_ENABLE(regex-matching,
560 [  --enable-regex-matching=pcre  Use perl-compatible regex for actionsfile
561                                 pattern matching (default)
562   --enable-regex-matching=gnu   Use gnu style regex for actionsfile pattern
563                                 matching (-> bigger binary)
564   --disable-regex-matching      Don't use regex matching, compare URL
565                                 prefix instead (won't shrink birary)],
566 [ regex_matching=$enableval ],
567 [ regex_matching=pcre ])
568
569 AC_ARG_ENABLE(dynamic-pcre,
570 [  --disable-dynamic-pcre        Use the built-in, static pcre, even if
571                                 libpcre is available],
572 [ if test $enableval = "no"; then have_pcre=no; fi ])
573
574 AC_ARG_ENABLE(dynamic-pcrs,
575 [  --disable-dynamic-pcrs        Use the built-in, static pcrs, even if
576                                 libpcrs is available],
577 [ if test $enableval = "no"; then have_pcrs=no; fi ])
578
579
580 # Is the regex URL matching based on libpcreposix, but we
581 # don't have that library?
582 #
583 if test $have_pcreposix = "yes" -o $regex_matching != "pcre"; then
584   dont_miss_pcreposix=yes
585 else
586   dont_miss_pcreposix=no
587 fi
588
589 # If we have libpcre and either we also have pcreposix or
590 # we don't need pcreposix, then link pcre dynamically; else
591 # build it and link statically
592 #
593 if test $have_pcre = "yes" -a $dont_miss_pcreposix = "yes"; then
594   echo "using libpcre"
595   pcre_dyn=yes
596   STATIC_PCRE_ONLY=#
597   LIBS="$LIBS -lpcre"
598 else
599   echo "using built-in static pcre"
600   pcre_dyn=no
601   AC_DEFINE(STATIC_PCRE)
602   STATIC_PCRE_ONLY=
603 fi
604
605 # If we have libpcrs and pcre is linked dynamically
606 # then also link pcrs dynamically, else build and link
607 # pcrs statically
608 #
609 if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
610   echo "using libpcrs"
611   STATIC_PCRS_ONLY=#
612   LIBS="$LIBS -lpcrs"
613 else
614   echo "using built-in static pcrs"
615   AC_DEFINE(STATIC_PCRS)
616   STATIC_PCRS_ONLY=
617 fi
618
619 # Which method should be used for URL matching?
620 # pcre, gnu regex or prefix matching?
621 #
622 if test $regex_matching = "gnu"; then
623   echo "using gnu regex for URL matching"
624   AC_DEFINE(REGEX_GNU)
625   GNU_REGEX_ONLY=
626   PCRE_REGEX_ONLY=#
627 elif test $regex_matching = "pcre"; then
628   echo "using pcre regex for URL matching"
629   AC_DEFINE(REGEX_PCRE)
630   GNU_REGEX_ONLY=#
631   PCRE_REGEX_ONLY=
632   if test $pcre_dyn = "yes"; then
633     LIBS="$LIBS -lpcreposix"
634   fi
635 else
636   echo -e "using prefix matching for URLs\nHint: This does NOT make the executable any smaller!"
637   GNU_REGEX_ONLY=#
638   PCRE_REGEX_ONLY=#
639 fi
640
641 AC_SUBST(GNU_REGEX_ONLY)
642 AC_SUBST(PCRE_REGEX_ONLY)
643 AC_SUBST(STATIC_PCRE_ONLY)
644 AC_SUBST(STATIC_PCRS_ONLY)
645
646 dnl =================================================================
647 dnl Final cleanup and output
648 dnl =================================================================
649
650 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
651 dnl in the Makefile
652 CFLAGS=$old_CFLAGS_nospecial
653 AC_SUBST(SPECIAL_CFLAGS)
654
655 AC_SUBST(PTHREAD_LIB)
656
657 AC_OUTPUT(Makefile)