1 dnl Process this file with autoconf to produce a configure script.
3 dnl $Id: configure.in,v 1.29 2002/02/28 14:20:53 oes Exp $
5 dnl Written by and Copyright (C) 2001 the SourceForge
6 dnl IJBSWA team. http://ijbswa.sourceforge.net
8 dnl Based on the Internet Junkbuster originally written
9 dnl by and Copyright (C) 1997 Anonymous Coders and
10 dnl Junkbusters Corporation. http://www.junkbusters.com
12 dnl This program is free software; you can redistribute it
13 dnl and/or modify it under the terms of the GNU General
14 dnl Public License as published by the Free Software
15 dnl Foundation; either version 2 of the License, or (at
16 dnl your option) any later version.
18 dnl This program is distributed in the hope that it will
19 dnl be useful, but WITHOUT ANY WARRANTY; without even the
20 dnl implied warranty of MERCHANTABILITY or FITNESS FOR A
21 dnl PARTICULAR PURPOSE. See the GNU General Public
22 dnl License for more details.
24 dnl The GNU General Public License should be included with
25 dnl this file. If not, you can view it at
26 dnl http://www.gnu.org/copyleft/gpl.html
27 dnl or write to the Free Software Foundation, Inc., 59
28 dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA.
30 dnl $Log: configure.in,v $
31 dnl Revision 1.29 2002/02/28 14:20:53 oes
32 dnl Fixed detection of gethost*_r functions on Solaris
34 dnl Revision 1.28 2002/02/27 15:02:38 oes
35 dnl Incremented version number
37 dnl Revision 1.27 2002/01/10 12:35:18 oes
38 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
39 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
40 dnl Is there a better way?
42 dnl Revision 1.26 2002/01/09 14:29:49 oes
43 dnl - Added AC_CHECK_FUNC tests for the availability of
44 dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and
45 dnl localtime_r, as well as AC_TRY_COMPILE tests to
46 dnl determine their signatures.
48 dnl - Fixed a bug with the init of CFLAGS that was
49 dnl reported by barsnick
51 dnl Revision 1.25 2002/01/04 15:27:18 oes
52 dnl Changed quoting of CODE_STATUS for use in make
54 dnl Revision 1.24 2001/12/30 14:07:31 steudten
55 dnl - Add signal handling (unix)
56 dnl - Add SIGHUP handler (unix)
57 dnl - Add creation of pidfile (unix)
58 dnl - Add action 'top' in rc file (RH)
59 dnl - Add entry 'SIGNALS' to manpage
60 dnl - Add exit message to logfile (unix)
62 dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt
63 dnl Change from "alpha" to "beta" in configure.in
65 dnl Revision 1.22 2001/12/01 11:24:01 jongfoster
66 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
67 dnl make break in a more obvious way.
69 dnl Revision 1.21 2001/11/30 21:35:54 jongfoster
70 dnl Bumping version number to 2.9.10
72 dnl Revision 1.20 2001/10/23 21:24:09 jongfoster
73 dnl Support for FEATURE_CGI_EDIT_ACTIONS
75 dnl Revision 1.19 2001/10/07 15:33:14 oes
76 dnl Removed FEATURE_DENY_GZIP
77 dnl Bumped up version number
79 dnl Revision 1.18 2001/09/13 13:10:24 steudten
81 dnl PreWork for Debug Interface.
82 dnl Add new option "--with-debug" to enable debugging (flags aso.)
84 dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt
85 dnl Mac OSX (Darwin) support added.
87 dnl Revision 1.16 2001/09/12 22:55:45 joergs
88 dnl AmigaOS support added.
90 dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt
92 dnl OS/2 port: update autoconf'd support for the platform.
94 dnl Revision 1.14 2001/07/30 22:12:11 jongfoster
95 dnl Fixing Solaris build (I hope) and tidying up #defines:
96 dnl - All feature #defines are now of the form FEATURE_xxx
97 dnl - Permanently turned off WIN_GUI_EDIT
98 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
100 dnl Revision 1.13 2001/07/29 17:09:17 jongfoster
101 dnl Major changes to build system in order to fix these bugs:
102 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
103 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
104 dnl which shared libraries are available
105 dnl - Solaris support (?) (Not tested under Solaris yet)
107 dnl Revision 1.12 2001/07/25 19:16:27 oes
108 dnl Bumping version number to 2.9.8
110 dnl Revision 1.11 2001/07/21 18:00:07 jongfoster
111 dnl Bumping version number to 2.9.7
113 dnl Revision 1.10 2001/07/18 17:25:04 oes
116 dnl Revision 1.9 2001/07/15 19:45:13 jongfoster
117 dnl Added support for linking with POSIX threads library
119 dnl Revision 1.8 2001/07/15 17:54:29 jongfoster
120 dnl Renaming #define STATIC to STATIC_PCRE
121 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
122 dnl POSIX threads support.
124 dnl Revision 1.7 2001/07/13 13:58:05 oes
125 dnl Completely reorganized the selection scheme for
126 dnl pcre, pcreposix, pcrs and gnu_regex:
128 dnl The presence of shared pcre, pcreposix or pcrs
129 dnl libraried is now autodetected. Additionally, the
130 dnl user can enforce using the built-in static variants
131 dnl by specifying --disable-dynamic-(pcre|pcrs).
132 dnl Care is taken to avoid that pcre is dyn, while pcreposix
133 dnl is static, if both are used and that pcrs is static if
136 dnl The choice between pcre, gnu or no regex for actionsfile
137 dnl URL matching is now via
138 dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
139 dnl default being pcre.
141 dnl Revision 1.6 2001/06/29 21:56:40 oes
144 dnl Revision 1.5 2001/06/29 13:26:27 oes
145 dnl Introduced #define CODE_STATUS
147 dnl Revision 1.4 2001/05/29 09:50:24 jongfoster
148 dnl Unified blocklist/imagelist/permissionslist.
149 dnl File format is still under discussion, but the internal changes
150 dnl are (mostly) done.
152 dnl Also modified interceptor behaviour:
153 dnl - We now intercept all URLs beginning with one of the following
154 dnl prefixes (and *only* these prefixes):
156 dnl * http://ijbswa.sf.net/config/
157 dnl * http://ijbswa.sourceforge.net/config/
158 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
159 dnl - Internal changes so that intercepted and fast redirect pages
160 dnl are not replaced with an image.
161 dnl - Interceptors now have the option to send a binary page direct
162 dnl to the client. (i.e. ijb-send-banner uses this)
163 dnl - Implemented show-url-info interceptor. (Which is why I needed
164 dnl the above interceptors changes - a typical URL is
165 dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
166 dnl The previous mechanism would not have intercepted that, and
167 dnl if it had been intercepted then it then it would have replaced
168 dnl it with an image.)
170 dnl Revision 1.3 2001/05/22 18:46:04 oes
172 dnl - Enabled filtering banners by size rather than URL
173 dnl by adding patterns that replace all standard banner
174 dnl sizes with the "Junkbuster" gif to the re_filterfile
176 dnl - Enabled filtering WebBugs by providing a pattern
177 dnl which kills all 1x1 images
179 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
180 dnl which is selected by the (nonstandard and therefore
181 dnl capital) letter 'U' in the option string.
182 dnl It causes the quantifiers to be ungreedy by default.
183 dnl Appending a ? turns back to greedy (!).
185 dnl - Added a new interceptor ijb-send-banner, which
186 dnl sends back the "Junkbuster" gif. Without imagelist or
187 dnl MSIE detection support, or if tinygif = 1, or the
188 dnl URL isn't recognized as an imageurl, a lame HTML
189 dnl explanation is sent instead.
191 dnl - Added new feature, which permits blocking remote
192 dnl script redirects and firing back a local redirect
194 dnl The feature is conditionally compiled, i.e. it
195 dnl can be disabled with --disable-fast-redirects,
196 dnl plus it must be activated by a "fast-redirects"
197 dnl line in the config file, has its own log level
198 dnl and of course wants to be displayed by show-proxy-args
199 dnl Note: Boy, all the #ifdefs in 1001 locations and
200 dnl all the fumbling with configure.in and acconfig.h
201 dnl were *way* more work than the feature itself :-(
203 dnl - Because a generic redirect template was needed for
204 dnl this, tinygif = 3 now uses the same.
206 dnl - Moved GIFs, and other static HTTP response templates
209 dnl - Some minor fixes
211 dnl - Removed some >400 CRs again (Jon, you really worked
214 dnl Revision 1.2 2001/05/20 01:21:20 jongfoster
215 dnl Version 2.9.4 checkin.
216 dnl - Merged popupfile and cookiefile, and added control over PCRS
217 dnl filtering, in new "permissionsfile".
218 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
219 dnl file error you now get a message box (in the Win32 GUI) rather
220 dnl than the program exiting with no explanation.
221 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
223 dnl - Removed tabs from "config"
224 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
225 dnl - Bumped up version number.
227 dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes
228 dnl Initial import of version 2.9.3 source tree
233 dnl =================================================================
234 dnl AutoConf Initialization
235 dnl =================================================================
237 AC_REVISION($Revision: 1.29 $)
239 AC_CONFIG_HEADER(config.h)
243 dnl =================================================================
244 dnl Application version number
245 dnl =================================================================
252 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
253 dnl used for CGI output
255 dnl =================================================================
256 dnl Substitute the version numbers
257 dnl =================================================================
259 AC_SUBST(VERSION_MAJOR)
260 AC_SUBST(VERSION_MINOR)
261 AC_SUBST(VERSION_POINT)
262 AC_SUBST(CODE_STATUS)
265 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
266 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
267 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
268 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
269 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
271 dnl =================================================================
272 dnl Checks for programs needed to build.
273 dnl =================================================================
280 dnl RANLIB is for PCRE:
283 AC_CHECK_PROG(GDB,gdb,yes,no)
285 dnl =================================================================
286 dnl debug, gcc and gdb support
287 dnl =================================================================
290 [ --with-debug Enable debug mode],
292 if test "x$withval" != "$xno" ; then
293 if test $ac_cv_prog_cc_g = yes; then
294 if test "$GCC" = yes; then
300 CFLAGS="$CFLAGS -Wshadow -Wconversion"
308 if test "X$CFLAGS" = "X"; then # if CFLAGS are unset
309 if test "$GCC" = yes; then
318 dnl =================================================================
319 dnl additional gcc flags
320 dnl =================================================================
323 CFLAGS="-pipe $CFLAGS"
327 dnl =================================================================
329 dnl =================================================================
331 dnl Must do this first.
333 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
334 dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
335 dnl the compiler will use completely different sets of library
336 dnl and include files.
338 dnl =================================================================
343 if test "$MINGW32" = "yes"; then
346 if test "$CYGWIN" = "yes"; then
353 dnl Decide what to do based on target_type
354 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
355 dnl This is because we don't know yet whether pthread is enabled.
357 AC_ARG_ENABLE(mingw32,
358 [ --enable-mingw32 Use mingw32 for a Windows GUI],
359 [if test $enableval = yes; then
363 if test $target_type = mingw; then
365 SPECIAL_CFLAGS="-mwindows -mno-cygwin"
366 PTHREAD_LIB=-lpthreadGC
367 echo "Using mingw32 (Win32 GUI)"
370 if test $target_type = cygwin; then
371 SPECIAL_CFLAGS="-mno-win32"
373 echo "Using Cygnus (Win32 command line)"
376 PTHREAD_LIB=-lpthread
382 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
383 old_CFLAGS_nospecial=$CFLAGS
384 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
386 # Hack to force AutoConf to use the CFLAGS we just set
387 dnl Warning: This may break with a future version of Autoconf
388 dnl Tested with autoconf 2.13
389 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
390 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
391 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
394 dnl =================================================================
396 dnl =================================================================
398 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
400 AC_ARG_ENABLE(pthread,
401 [ --disable-pthread Don't use POSIX threads (pthreads)],
402 [if test $enableval = no; then
407 if test $have_pthread = yes; then
409 AC_DEFINE(FEATURE_PTHREAD)
410 echo Using POSIX threads
411 if test "$GCC" = "yes"; then
412 # Set a GCC specific switch:
413 if test "$target_type" = "unix"; then
414 # This compiler switch makes Linux thread-safe
415 # Don't know about other OS's? Is this switch
418 SPECIAL_CFLAGS="-pthread"
423 echo Using native threads
426 AC_SUBST(PTHREAD_ONLY)
428 dnl =================================================================
429 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
430 dnl gmtime and localtime
431 dnl =================================================================
433 dnl Next line needed to find the gethost*_r functions on Solaris
434 AC_CHECK_LIB(nsl, gethostbyname)
436 AC_CHECK_FUNC(gethostbyaddr_r, [
437 AC_MSG_CHECKING([signature of gethostbyaddr_r])
441 struct hostent *h, *hp;
444 (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
446 AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
447 AC_MSG_RESULT([8 args])
455 (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
457 AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
458 AC_MSG_RESULT([7 args])
463 struct hostent_data *d;
467 (void) gethostbyaddr_r(a, l, t, h, d)
469 AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
470 AC_MSG_RESULT([5 args])
472 AC_MSG_RESULT(unrecognised)
480 AC_CHECK_FUNC(gethostbyname_r, [
481 AC_MSG_CHECKING([signature of gethostbyname_r])
485 struct hostent *h, *r;
488 (void) gethostbyname_r(n, h, b, bl, &r, &e)
490 AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
491 AC_MSG_RESULT([6 args])
499 (void) gethostbyname_r(n, h, b, bl, &e)
501 AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
502 AC_MSG_RESULT([5 args])
507 struct hostent_data *d;
510 (void) gethostbyname_r(n, h, d)
512 AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
513 AC_MSG_RESULT([3 args])
515 AC_MSG_RESULT(unrecognised)
523 AC_CHECK_FUNC(gmtime_r, [
524 AC_MSG_CHECKING([signature of gmtime_r])
530 (void) gmtime_r(t, tm)
533 AC_DEFINE(HAVE_GMTIME_R)
535 AC_MSG_RESULT(unrecognised)
541 AC_CHECK_FUNC(localtime_r, [
542 AC_MSG_CHECKING([signature of localtime_r])
548 (void) localtime_r(t, tm)
551 AC_DEFINE(HAVE_LOCALTIME_R)
553 AC_MSG_RESULT(unrecognised)
559 dnl =================================================================
561 dnl FIXME: Not tested on Solaris yet...
562 dnl =================================================================
568 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
569 AC_DEFINE(__EXTENSIONS__)
570 if test "$GCC" = "yes"; then
571 # Set a GCC specific switch:
572 # This compiler switch makes Solaris thread-safe
574 SPECIAL_CFLAGS="-pthreads"
576 # What do we do without GCC? Guess this:
577 SPECIAL_CFLAGS="-D_REENTRANT"
584 dnl =================================================================
586 dnl =================================================================
589 *-os2-emx*) SOCKET_LIB=-lsocket
595 dnl =================================================================
597 dnl =================================================================
602 *-amigaos) AMIGAOS_ONLY=
606 AC_SUBST(AMIGAOS_ONLY)
608 dnl =================================================================
609 dnl Check for standard compiler stuff
610 dnl =================================================================
617 AC_CHECK_SIZEOF(int, 4)
618 AC_CHECK_SIZEOF(char *, 4)
619 AC_CHECK_SIZEOF(long, 4)
620 AC_CHECK_SIZEOF(long long, 8)
621 AC_CHECK_SIZEOF(size_t, 4)
623 dnl Checks for header files.
624 dnl AC_HEADER_SYS_WAIT
625 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
627 dnl Checks for library functions.
629 dnl AC_CHECK_FUNC(strstr)
630 dnl bcopy and memmove are for PCRE
631 AC_CHECK_FUNCS(strerror bcopy memmove)
634 dnl =================================================================
635 dnl Checks for libraries.
636 dnl =================================================================
637 dnl Note: Some systems may have the library but not the system header
638 dnl file, so we must check for both.
639 AC_CHECK_LIB(pcre, pcre_compile, [AC_CHECK_HEADER(pcre.h, [have_pcre=yes], [have_pcre=no])], [have_pcre=no])
640 AC_CHECK_LIB(pcreposix, regcomp, [AC_CHECK_HEADER(pcreposix.h, [have_pcreposix=yes], [have_pcreposix=no])], [have_pcreposix=no], -lpcre)
641 AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no])
644 dnl =================================================================
646 dnl =================================================================
650 dnl =================================================================
652 dnl =================================================================
654 AC_ARG_ENABLE(toggle,
655 [ --disable-toggle Don't support temporary disable],
656 [if test $enableval = yes; then
657 AC_DEFINE(FEATURE_TOGGLE)
658 fi],AC_DEFINE(FEATURE_TOGGLE))
661 [ --disable-force Don't allow single-page disable],
662 [if test $enableval = yes; then
663 AC_DEFINE(FEATURE_FORCE_LOAD)
664 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
666 AC_ARG_ENABLE(fast-redirects,
667 [ --disable-fast-redirects Don't support fast redirects],
668 [if test $enableval = yes; then
669 AC_DEFINE(FEATURE_FAST_REDIRECTS)
670 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
672 AC_ARG_ENABLE(killpopup,
673 [ --disable-killpopup Never block popups],
674 [if test $enableval = yes; then
675 AC_DEFINE(FEATURE_KILL_POPUPS)
676 fi],AC_DEFINE(FEATURE_KILL_POPUPS))
679 [ --disable-stats Don't keep statistics],
680 [if test $enableval = yes; then
681 AC_DEFINE(FEATURE_STATISTICS)
682 fi],AC_DEFINE(FEATURE_STATISTICS))
684 AC_ARG_ENABLE(ie-images,
685 [ --disable-ie-images Don't auto-detect whether a request from MS Internet
686 Explorer is for an image or HTML.],
687 [if test $enableval = yes; then
688 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
690 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE))
692 AC_ARG_ENABLE(image-blocking,
693 [ --disable-image-blocking Don't try to figure out whether a request is
694 for an image or HTML - assume HTML.],
695 [if test $enableval = yes; then
696 AC_DEFINE(FEATURE_IMAGE_BLOCKING)
698 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
700 AC_ARG_ENABLE(acl-files,
701 [ --disable-acl-files Prevents the use of ACL files to control access to
702 the proxy by IP address.],
703 [if test $enableval = yes; then
704 AC_DEFINE(FEATURE_ACL)
706 AC_DEFINE(FEATURE_ACL))
708 AC_ARG_ENABLE(trust-files,
709 [ --disable-trust-files Prevents the use of trust files.],
710 [if test $enableval = yes; then
711 AC_DEFINE(FEATURE_TRUST)
713 AC_DEFINE(FEATURE_TRUST))
715 AC_ARG_ENABLE(jar-files,
716 [ --disable-jar-files Prevents the use of jar files to capture cookies.],
717 [if test $enableval = yes; then
718 AC_DEFINE(FEATURE_COOKIE_JAR)
720 AC_DEFINE(FEATURE_COOKIE_JAR))
722 AC_ARG_ENABLE(editor,
723 [ --disable-editor Prevents the use of the web-based actions file
724 editor and web-based temporary disable setting.],
725 [if test $enableval = yes; then
726 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
728 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
730 dnl pcre/pcrs is needed for CGI anyway, so
731 dnl the choice is only between static and
734 AC_ARG_ENABLE(regex-matching,
735 [ --enable-regex-matching=pcre Use perl-compatible regex for actionsfile
736 pattern matching (default)
737 --enable-regex-matching=gnu Use gnu style regex for actionsfile pattern
738 matching (-> bigger binary)
739 --disable-regex-matching Don't use regex matching, compare URL
740 prefix instead (won't shrink birary)],
741 [ regex_matching=$enableval ],
742 [ regex_matching=pcre ])
744 AC_ARG_ENABLE(dynamic-pcre,
745 [ --disable-dynamic-pcre Use the built-in, static pcre, even if
746 libpcre is available],
747 [ if test $enableval = "no"; then have_pcre=no; fi ])
749 AC_ARG_ENABLE(dynamic-pcrs,
750 [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if
751 libpcrs is available],
752 [ if test $enableval = "no"; then have_pcrs=no; fi ])
755 # Is the regex URL matching based on libpcreposix, but we
756 # don't have that library?
758 if test $have_pcreposix = "yes" -o $regex_matching != "pcre"; then
759 dont_miss_pcreposix=yes
761 dont_miss_pcreposix=no
764 # If we have libpcre and either we also have pcreposix or
765 # we don't need pcreposix, then link pcre dynamically; else
766 # build it and link statically
768 if test $have_pcre = "yes" -a $dont_miss_pcreposix = "yes"; then
774 echo "using built-in static pcre"
776 AC_DEFINE(STATIC_PCRE)
780 # If we have libpcrs and pcre is linked dynamically
781 # then also link pcrs dynamically, else build and link
784 if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
789 echo "using built-in static pcrs"
790 AC_DEFINE(STATIC_PCRS)
794 # Which method should be used for URL matching?
795 # pcre, gnu regex or prefix matching?
797 if test $regex_matching = "gnu"; then
798 echo "using gnu regex for URL matching"
802 elif test $regex_matching = "pcre"; then
803 echo "using pcre regex for URL matching"
804 AC_DEFINE(REGEX_PCRE)
807 if test $pcre_dyn = "yes"; then
808 LIBS="$LIBS -lpcreposix"
811 echo -e "using prefix matching for URLs\nHint: This does NOT make the executable any smaller!"
816 AC_SUBST(GNU_REGEX_ONLY)
817 AC_SUBST(PCRE_REGEX_ONLY)
818 AC_SUBST(STATIC_PCRE_ONLY)
819 AC_SUBST(STATIC_PCRS_ONLY)
821 dnl =================================================================
822 dnl Final cleanup and output
823 dnl =================================================================
825 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
827 CFLAGS=$old_CFLAGS_nospecial
828 AC_SUBST(SPECIAL_CFLAGS)
830 AC_SUBST(PTHREAD_LIB)
832 AC_OUTPUT(GNUmakefile)