1 dnl Process this file with autoconf to produce a configure script.
3 dnl $Id: configure.in,v 1.28 2002/02/27 15:02:38 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.28 2002/02/27 15:02:38 oes
32 dnl Incremented version number
34 dnl Revision 1.27 2002/01/10 12:35:18 oes
35 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
36 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
37 dnl Is there a better way?
39 dnl Revision 1.26 2002/01/09 14:29:49 oes
40 dnl - Added AC_CHECK_FUNC tests for the availability of
41 dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and
42 dnl localtime_r, as well as AC_TRY_COMPILE tests to
43 dnl determine their signatures.
45 dnl - Fixed a bug with the init of CFLAGS that was
46 dnl reported by barsnick
48 dnl Revision 1.25 2002/01/04 15:27:18 oes
49 dnl Changed quoting of CODE_STATUS for use in make
51 dnl Revision 1.24 2001/12/30 14:07:31 steudten
52 dnl - Add signal handling (unix)
53 dnl - Add SIGHUP handler (unix)
54 dnl - Add creation of pidfile (unix)
55 dnl - Add action 'top' in rc file (RH)
56 dnl - Add entry 'SIGNALS' to manpage
57 dnl - Add exit message to logfile (unix)
59 dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt
60 dnl Change from "alpha" to "beta" in configure.in
62 dnl Revision 1.22 2001/12/01 11:24:01 jongfoster
63 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
64 dnl make break in a more obvious way.
66 dnl Revision 1.21 2001/11/30 21:35:54 jongfoster
67 dnl Bumping version number to 2.9.10
69 dnl Revision 1.20 2001/10/23 21:24:09 jongfoster
70 dnl Support for FEATURE_CGI_EDIT_ACTIONS
72 dnl Revision 1.19 2001/10/07 15:33:14 oes
73 dnl Removed FEATURE_DENY_GZIP
74 dnl Bumped up version number
76 dnl Revision 1.18 2001/09/13 13:10:24 steudten
78 dnl PreWork for Debug Interface.
79 dnl Add new option "--with-debug" to enable debugging (flags aso.)
81 dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt
82 dnl Mac OSX (Darwin) support added.
84 dnl Revision 1.16 2001/09/12 22:55:45 joergs
85 dnl AmigaOS support added.
87 dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt
89 dnl OS/2 port: update autoconf'd support for the platform.
91 dnl Revision 1.14 2001/07/30 22:12:11 jongfoster
92 dnl Fixing Solaris build (I hope) and tidying up #defines:
93 dnl - All feature #defines are now of the form FEATURE_xxx
94 dnl - Permanently turned off WIN_GUI_EDIT
95 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
97 dnl Revision 1.13 2001/07/29 17:09:17 jongfoster
98 dnl Major changes to build system in order to fix these bugs:
99 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
100 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
101 dnl which shared libraries are available
102 dnl - Solaris support (?) (Not tested under Solaris yet)
104 dnl Revision 1.12 2001/07/25 19:16:27 oes
105 dnl Bumping version number to 2.9.8
107 dnl Revision 1.11 2001/07/21 18:00:07 jongfoster
108 dnl Bumping version number to 2.9.7
110 dnl Revision 1.10 2001/07/18 17:25:04 oes
113 dnl Revision 1.9 2001/07/15 19:45:13 jongfoster
114 dnl Added support for linking with POSIX threads library
116 dnl Revision 1.8 2001/07/15 17:54:29 jongfoster
117 dnl Renaming #define STATIC to STATIC_PCRE
118 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
119 dnl POSIX threads support.
121 dnl Revision 1.7 2001/07/13 13:58:05 oes
122 dnl Completely reorganized the selection scheme for
123 dnl pcre, pcreposix, pcrs and gnu_regex:
125 dnl The presence of shared pcre, pcreposix or pcrs
126 dnl libraried is now autodetected. Additionally, the
127 dnl user can enforce using the built-in static variants
128 dnl by specifying --disable-dynamic-(pcre|pcrs).
129 dnl Care is taken to avoid that pcre is dyn, while pcreposix
130 dnl is static, if both are used and that pcrs is static if
133 dnl The choice between pcre, gnu or no regex for actionsfile
134 dnl URL matching is now via
135 dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
136 dnl default being pcre.
138 dnl Revision 1.6 2001/06/29 21:56:40 oes
141 dnl Revision 1.5 2001/06/29 13:26:27 oes
142 dnl Introduced #define CODE_STATUS
144 dnl Revision 1.4 2001/05/29 09:50:24 jongfoster
145 dnl Unified blocklist/imagelist/permissionslist.
146 dnl File format is still under discussion, but the internal changes
147 dnl are (mostly) done.
149 dnl Also modified interceptor behaviour:
150 dnl - We now intercept all URLs beginning with one of the following
151 dnl prefixes (and *only* these prefixes):
153 dnl * http://ijbswa.sf.net/config/
154 dnl * http://ijbswa.sourceforge.net/config/
155 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
156 dnl - Internal changes so that intercepted and fast redirect pages
157 dnl are not replaced with an image.
158 dnl - Interceptors now have the option to send a binary page direct
159 dnl to the client. (i.e. ijb-send-banner uses this)
160 dnl - Implemented show-url-info interceptor. (Which is why I needed
161 dnl the above interceptors changes - a typical URL is
162 dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
163 dnl The previous mechanism would not have intercepted that, and
164 dnl if it had been intercepted then it then it would have replaced
165 dnl it with an image.)
167 dnl Revision 1.3 2001/05/22 18:46:04 oes
169 dnl - Enabled filtering banners by size rather than URL
170 dnl by adding patterns that replace all standard banner
171 dnl sizes with the "Junkbuster" gif to the re_filterfile
173 dnl - Enabled filtering WebBugs by providing a pattern
174 dnl which kills all 1x1 images
176 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
177 dnl which is selected by the (nonstandard and therefore
178 dnl capital) letter 'U' in the option string.
179 dnl It causes the quantifiers to be ungreedy by default.
180 dnl Appending a ? turns back to greedy (!).
182 dnl - Added a new interceptor ijb-send-banner, which
183 dnl sends back the "Junkbuster" gif. Without imagelist or
184 dnl MSIE detection support, or if tinygif = 1, or the
185 dnl URL isn't recognized as an imageurl, a lame HTML
186 dnl explanation is sent instead.
188 dnl - Added new feature, which permits blocking remote
189 dnl script redirects and firing back a local redirect
191 dnl The feature is conditionally compiled, i.e. it
192 dnl can be disabled with --disable-fast-redirects,
193 dnl plus it must be activated by a "fast-redirects"
194 dnl line in the config file, has its own log level
195 dnl and of course wants to be displayed by show-proxy-args
196 dnl Note: Boy, all the #ifdefs in 1001 locations and
197 dnl all the fumbling with configure.in and acconfig.h
198 dnl were *way* more work than the feature itself :-(
200 dnl - Because a generic redirect template was needed for
201 dnl this, tinygif = 3 now uses the same.
203 dnl - Moved GIFs, and other static HTTP response templates
206 dnl - Some minor fixes
208 dnl - Removed some >400 CRs again (Jon, you really worked
211 dnl Revision 1.2 2001/05/20 01:21:20 jongfoster
212 dnl Version 2.9.4 checkin.
213 dnl - Merged popupfile and cookiefile, and added control over PCRS
214 dnl filtering, in new "permissionsfile".
215 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
216 dnl file error you now get a message box (in the Win32 GUI) rather
217 dnl than the program exiting with no explanation.
218 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
220 dnl - Removed tabs from "config"
221 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
222 dnl - Bumped up version number.
224 dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes
225 dnl Initial import of version 2.9.3 source tree
230 dnl =================================================================
231 dnl AutoConf Initialization
232 dnl =================================================================
234 AC_REVISION($Revision: 1.28 $)
236 AC_CONFIG_HEADER(config.h)
240 dnl =================================================================
241 dnl Application version number
242 dnl =================================================================
249 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
250 dnl used for CGI output
252 dnl =================================================================
253 dnl Substitute the version numbers
254 dnl =================================================================
256 AC_SUBST(VERSION_MAJOR)
257 AC_SUBST(VERSION_MINOR)
258 AC_SUBST(VERSION_POINT)
259 AC_SUBST(CODE_STATUS)
262 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
263 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
264 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
265 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
266 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
268 dnl =================================================================
269 dnl pid file only for unix
270 dnl =================================================================
272 PID_FILE_PATH="\"/etc/junkbuster"\"
274 dnl =================================================================
275 dnl Checks for programs needed to build.
276 dnl =================================================================
283 dnl RANLIB is for PCRE:
286 AC_CHECK_PROG(GDB,gdb,yes,no)
288 dnl =================================================================
289 dnl debug, gcc and gdb support
290 dnl =================================================================
293 [ --with-debug Enable debug mode],
295 if test "x$withval" != "$xno" ; then
296 if test $ac_cv_prog_cc_g = yes; then
297 if test "$GCC" = yes; then
303 CFLAGS="$CFLAGS -Wshadow -Wconversion"
308 CFLAGS="$CFLAGS -D_DEBUG"
312 if test "X$CFLAGS" = "X"; then # if CFLAGS are unset
313 if test "$GCC" = yes; then
322 dnl =================================================================
323 dnl additional gcc flags
324 dnl =================================================================
327 CFLAGS="-pipe $CFLAGS"
331 dnl =================================================================
333 dnl =================================================================
335 dnl Must do this first.
337 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
338 dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
339 dnl the compiler will use completely different sets of library
340 dnl and include files.
342 dnl =================================================================
347 if test "$MINGW32" = "yes"; then
350 if test "$CYGWIN" = "yes"; then
357 dnl Decide what to do based on target_type
358 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
359 dnl This is because we don't know yet whether pthread is enabled.
361 AC_ARG_ENABLE(mingw32,
362 [ --enable-mingw32 Use mingw32 for a Windows GUI],
363 [if test $enableval = yes; then
367 if test $target_type = mingw; then
369 SPECIAL_CFLAGS="-mwindows -mno-cygwin"
370 PTHREAD_LIB=-lpthreadGC
371 echo "Using mingw32 (Win32 GUI)"
374 if test $target_type = cygwin; then
375 SPECIAL_CFLAGS="-mno-win32"
377 echo "Using Cygnus (Win32 command line)"
380 PTHREAD_LIB=-lpthread
386 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
387 old_CFLAGS_nospecial=$CFLAGS
388 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
390 # Hack to force AutoConf to use the CFLAGS we just set
391 dnl Warning: This may break with a future version of Autoconf
392 dnl Tested with autoconf 2.13
393 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
394 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
395 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
398 dnl =================================================================
400 dnl =================================================================
402 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
404 AC_ARG_ENABLE(pthread,
405 [ --disable-pthread Don't use POSIX threads (pthreads)],
406 [if test $enableval = no; then
411 if test $have_pthread = yes; then
413 AC_DEFINE(FEATURE_PTHREAD)
414 echo Using POSIX threads
415 if test "$GCC" = "yes"; then
416 # Set a GCC specific switch:
417 if test "$target_type" = "unix"; then
418 # This compiler switch makes Linux thread-safe
419 # Don't know about other OS's? Is this switch
422 SPECIAL_CFLAGS="-pthread"
427 echo Using native threads
430 AC_SUBST(PTHREAD_ONLY)
432 dnl =================================================================
433 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
434 dnl gmtime and localtime
435 dnl =================================================================
437 dnl Next line needed to find the gethost*_r functions on Solaris
438 AC_CHECK_LIB(nsl, gethostbyname)
440 AC_CHECK_FUNC(gethostbyaddr_r, [
441 AC_MSG_CHECKING([signature of gethostbyaddr_r])
445 struct hostent *h, *hp;
448 (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
450 AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
451 AC_MSG_RESULT([8 args])
459 (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
461 AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
462 AC_MSG_RESULT([7 args])
467 struct hostent_data *d;
471 (void) gethostbyaddr_r(a, l, t, h, d)
473 AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
474 AC_MSG_RESULT([5 args])
476 AC_MSG_RESULT(unrecognised)
484 AC_CHECK_FUNC(gethostbyname_r, [
485 AC_MSG_CHECKING([signature of gethostbyname_r])
489 struct hostent *h, *r;
492 (void) gethostbyname_r(n, h, b, bl, &r, &e)
494 AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
495 AC_MSG_RESULT([6 args])
503 (void) gethostbyname_r(n, h, b, bl, &e)
505 AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
506 AC_MSG_RESULT([5 args])
511 struct hostent_data *d;
514 (void) gethostbyname_r(n, h, d)
516 AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
517 AC_MSG_RESULT([3 args])
519 AC_MSG_RESULT(unrecognised)
527 AC_CHECK_FUNC(gmtime_r, [
528 AC_MSG_CHECKING([signature of gmtime_r])
534 (void) gmtime_r(t, tm)
537 AC_DEFINE(HAVE_GMTIME_R)
539 AC_MSG_RESULT(unrecognised)
545 AC_CHECK_FUNC(localtime_r, [
546 AC_MSG_CHECKING([signature of localtime_r])
552 (void) localtime_r(t, tm)
555 AC_DEFINE(HAVE_LOCALTIME_R)
557 AC_MSG_RESULT(unrecognised)
563 dnl =================================================================
565 dnl FIXME: Not tested on Solaris yet...
566 dnl =================================================================
572 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
573 AC_DEFINE(__EXTENSIONS__)
574 if test "$GCC" = "yes"; then
575 # Set a GCC specific switch:
576 # This compiler switch makes Solaris thread-safe
578 SPECIAL_CFLAGS="-pthreads"
580 # What do we do without GCC? Guess this:
581 SPECIAL_CFLAGS="-D_REENTRANT"
588 dnl =================================================================
590 dnl =================================================================
593 *-os2-emx*) SOCKET_LIB=-lsocket
599 dnl =================================================================
601 dnl =================================================================
606 *-amigaos) AMIGAOS_ONLY=
610 AC_SUBST(AMIGAOS_ONLY)
612 dnl =================================================================
613 dnl Check for standard compiler stuff
614 dnl =================================================================
621 AC_CHECK_SIZEOF(int, 4)
622 AC_CHECK_SIZEOF(char *, 4)
623 AC_CHECK_SIZEOF(long, 4)
624 AC_CHECK_SIZEOF(long long, 8)
625 AC_CHECK_SIZEOF(size_t, 4)
627 dnl Checks for header files.
628 dnl AC_HEADER_SYS_WAIT
629 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
631 dnl Checks for library functions.
633 dnl AC_CHECK_FUNC(strstr)
634 dnl bcopy and memmove are for PCRE
635 AC_CHECK_FUNCS(strerror bcopy memmove)
638 dnl =================================================================
639 dnl Checks for libraries.
640 dnl =================================================================
641 dnl Note: Some systems may have the library but not the system header
642 dnl file, so we must check for both.
643 AC_CHECK_LIB(pcre, pcre_compile, [AC_CHECK_HEADER(pcre.h, [have_pcre=yes], [have_pcre=no])], [have_pcre=no])
644 AC_CHECK_LIB(pcreposix, regcomp, [AC_CHECK_HEADER(pcreposix.h, [have_pcreposix=yes], [have_pcreposix=no])], [have_pcreposix=no], -lpcre)
645 AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no])
648 dnl =================================================================
650 dnl =================================================================
654 dnl =================================================================
656 dnl =================================================================
658 AC_ARG_ENABLE(toggle,
659 [ --disable-toggle Don't support temporary disable],
660 [if test $enableval = yes; then
661 AC_DEFINE(FEATURE_TOGGLE)
662 fi],AC_DEFINE(FEATURE_TOGGLE))
665 [ --disable-force Don't allow single-page disable],
666 [if test $enableval = yes; then
667 AC_DEFINE(FEATURE_FORCE_LOAD)
668 fi],AC_DEFINE(FEATURE_FORCE_LOAD))
670 AC_ARG_ENABLE(fast-redirects,
671 [ --disable-fast-redirects Don't support fast redirects],
672 [if test $enableval = yes; then
673 AC_DEFINE(FEATURE_FAST_REDIRECTS)
674 fi], AC_DEFINE(FEATURE_FAST_REDIRECTS))
676 AC_ARG_ENABLE(killpopup,
677 [ --disable-killpopup Never block popups],
678 [if test $enableval = yes; then
679 AC_DEFINE(FEATURE_KILL_POPUPS)
680 fi],AC_DEFINE(FEATURE_KILL_POPUPS))
683 [ --disable-stats Don't keep statistics],
684 [if test $enableval = yes; then
685 AC_DEFINE(FEATURE_STATISTICS)
686 fi],AC_DEFINE(FEATURE_STATISTICS))
688 AC_ARG_ENABLE(ie-images,
689 [ --disable-ie-images Don't auto-detect whether a request from MS Internet
690 Explorer is for an image or HTML.],
691 [if test $enableval = yes; then
692 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE)
694 AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE))
696 AC_ARG_ENABLE(image-blocking,
697 [ --disable-image-blocking Don't try to figure out whether a request is
698 for an image or HTML - assume HTML.],
699 [if test $enableval = yes; then
700 AC_DEFINE(FEATURE_IMAGE_BLOCKING)
702 AC_DEFINE(FEATURE_IMAGE_BLOCKING))
704 AC_ARG_ENABLE(acl-files,
705 [ --disable-acl-files Prevents the use of ACL files to control access to
706 the proxy by IP address.],
707 [if test $enableval = yes; then
708 AC_DEFINE(FEATURE_ACL)
710 AC_DEFINE(FEATURE_ACL))
712 AC_ARG_ENABLE(trust-files,
713 [ --disable-trust-files Prevents the use of trust files.],
714 [if test $enableval = yes; then
715 AC_DEFINE(FEATURE_TRUST)
717 AC_DEFINE(FEATURE_TRUST))
719 AC_ARG_ENABLE(jar-files,
720 [ --disable-jar-files Prevents the use of jar files to capture cookies.],
721 [if test $enableval = yes; then
722 AC_DEFINE(FEATURE_COOKIE_JAR)
724 AC_DEFINE(FEATURE_COOKIE_JAR))
726 AC_ARG_ENABLE(editor,
727 [ --disable-editor Prevents the use of the web-based actions file
728 editor and web-based temporary disable setting.],
729 [if test $enableval = yes; then
730 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS)
732 AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
734 dnl pcre/pcrs is needed for CGI anyway, so
735 dnl the choice is only between static and
738 AC_ARG_ENABLE(regex-matching,
739 [ --enable-regex-matching=pcre Use perl-compatible regex for actionsfile
740 pattern matching (default)
741 --enable-regex-matching=gnu Use gnu style regex for actionsfile pattern
742 matching (-> bigger binary)
743 --disable-regex-matching Don't use regex matching, compare URL
744 prefix instead (won't shrink birary)],
745 [ regex_matching=$enableval ],
746 [ regex_matching=pcre ])
748 AC_ARG_ENABLE(dynamic-pcre,
749 [ --disable-dynamic-pcre Use the built-in, static pcre, even if
750 libpcre is available],
751 [ if test $enableval = "no"; then have_pcre=no; fi ])
753 AC_ARG_ENABLE(dynamic-pcrs,
754 [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if
755 libpcrs is available],
756 [ if test $enableval = "no"; then have_pcrs=no; fi ])
759 # Is the regex URL matching based on libpcreposix, but we
760 # don't have that library?
762 if test $have_pcreposix = "yes" -o $regex_matching != "pcre"; then
763 dont_miss_pcreposix=yes
765 dont_miss_pcreposix=no
768 # If we have libpcre and either we also have pcreposix or
769 # we don't need pcreposix, then link pcre dynamically; else
770 # build it and link statically
772 if test $have_pcre = "yes" -a $dont_miss_pcreposix = "yes"; then
778 echo "using built-in static pcre"
780 AC_DEFINE(STATIC_PCRE)
784 # If we have libpcrs and pcre is linked dynamically
785 # then also link pcrs dynamically, else build and link
788 if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
793 echo "using built-in static pcrs"
794 AC_DEFINE(STATIC_PCRS)
798 # Which method should be used for URL matching?
799 # pcre, gnu regex or prefix matching?
801 if test $regex_matching = "gnu"; then
802 echo "using gnu regex for URL matching"
806 elif test $regex_matching = "pcre"; then
807 echo "using pcre regex for URL matching"
808 AC_DEFINE(REGEX_PCRE)
811 if test $pcre_dyn = "yes"; then
812 LIBS="$LIBS -lpcreposix"
815 echo -e "using prefix matching for URLs\nHint: This does NOT make the executable any smaller!"
820 AC_SUBST(GNU_REGEX_ONLY)
821 AC_SUBST(PCRE_REGEX_ONLY)
822 AC_SUBST(STATIC_PCRE_ONLY)
823 AC_SUBST(STATIC_PCRS_ONLY)
825 dnl =================================================================
826 dnl Final cleanup and output
827 dnl =================================================================
829 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
831 CFLAGS=$old_CFLAGS_nospecial
832 AC_SUBST(SPECIAL_CFLAGS)
834 AC_SUBST(PID_FILE_PATH)
835 AC_DEFINE_UNQUOTED(PID_FILE_PATH,${PID_FILE_PATH})
837 AC_SUBST(PTHREAD_LIB)
839 AC_OUTPUT(GNUmakefile)