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