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