2 dnl Configuration input file for Squid
4 dnl $Id: configure.in,v 1.497 2008/02/17 09:24:49 serassio Exp $
8 AC_INIT(Squid Web Proxy, 3.HEAD-BZR, http://www.squid-cache.org/bugs/, squid)
10 AM_CONFIG_HEADER(include/autoconf.h)
11 AC_CONFIG_AUX_DIR(cfgaux)
12 AC_CONFIG_SRCDIR([src/main.cc])
13 AM_INIT_AUTOMAKE([tar-ustar])
14 AC_REVISION($Revision: 1.497 $)dnl
15 AC_PREFIX_DEFAULT(/usr/local/squid)
18 PRESET_CFLAGS="$CFLAGS"
19 PRESET_LDFLAGS="$LDFLAGS"
21 dnl Set default LDFLAGS
22 if test -z "$LDFLAGS"; then
34 use_loadable_modules=1
35 AC_MSG_CHECKING(whether to use loadable modules)
36 AC_ARG_ENABLE(loadable-modules,
39 [--disable-loadable-modules],
40 [do not support loadable modules])
43 case "${enableval}" in
44 yes) use_loadable_modules=yes ;;
45 no) use_loadable_modules=no ;;
46 *) AC_MSG_ERROR(bad value ${enableval} for --disable-loadable-modules) ;;
48 AC_MSG_RESULT([$use_loadable_modules, explicitly])
51 use_loadable_modules=yes;
52 AC_MSG_RESULT([$use_loadable_modules, implicitly])
56 AM_CONDITIONAL(USE_LOADABLE_MODULES, test $use_loadable_modules = yes)
58 if test $use_loadable_modules = yes;
60 AC_DEFINE(USE_LOADABLE_MODULES, 1, [Support Loadable Modules])
67 if test $use_loadable_modules = yes;
69 AC_LIBLTDL_CONVENIENCE(lib/libLtdl)
74 # Do we need these unconditionally for "make distcheck" to work?
78 if test $use_loadable_modules = yes;
80 # Why is this needed? Should not libtool's AC_LIBTOOL_DLOPEN do that?
81 LIBADD_DL=${lt_cv_dlopen_libs}
90 LIBREGEX='' # libregex.a
92 dnl find out the exe extension for this platform. If it's not empty, use it for CGI's as well.
96 if test -z "$EXEEXT"; then
99 # automake automatically adds .exe when installing binaries
104 dnl this should be expanded to a list of platform sensible support requirements.
105 dnl (adding an option like --enable-cygwin-support doesn't make sense :]) - R Collins 2001
107 mingw|mingw32|cygwin|cygwin32)
108 AM_CONDITIONAL(ENABLE_WIN32SPECIFIC, true)
111 AM_CONDITIONAL(ENABLE_WIN32SPECIFIC, false)
117 AC_PATH_PROG(WIN32_PSAPI, psapi.dll, none)
118 CFLAGS="$CFLAGS -mthreads"
119 CXXFLAGS="$CXXFLAGS -mthreads"
120 if test "$ac_cv_path_WIN32_PSAPI" = "none"; then
121 echo "PSAPI.DLL is recommended to run Squid on Windows NT Platform"
122 echo "Please see PSAPI.DLL section on doc/win32-relnotes.html."
124 AC_DEFINE(HAVE_WIN32_PSAPI,1,[Define if you have PSAPI.DLL on Windows systems])
127 MINGW_LIBS="-lmingwex"
128 AM_CONDITIONAL(USE_IPC_WIN32, true)
132 AM_CONDITIONAL(USE_IPC_WIN32, false)
136 if test -z "$CACHE_HTTP_PORT"; then
137 CACHE_HTTP_PORT="3128"
139 if test -z "$CACHE_ICP_PORT"; then
140 CACHE_ICP_PORT="3130"
144 AC_DEFINE_UNQUOTED(CACHE_HTTP_PORT, $CACHE_HTTP_PORT,
145 [What default TCP port to use for HTTP listening?])
146 AC_SUBST(CACHE_HTTP_PORT)
147 AC_DEFINE_UNQUOTED(CACHE_ICP_PORT, $CACHE_ICP_PORT,
148 [What default UDP port to use for ICP listening?])
149 AC_SUBST(CACHE_ICP_PORT)
151 AC_DEFINE_UNQUOTED(CONFIG_HOST_TYPE, "$host",[Host type from configure])
153 AC_DEFINE_UNQUOTED(SQUID_CONFIGURE_OPTIONS, "$ac_configure_args", [configure command line used to configure Squid])
155 CACHE_EFFECTIVE_USER="nobody"
156 AC_ARG_WITH(default-user,
157 [ --with-default-user=USER System user account for squid permissions.
159 [ CACHE_EFFECTIVE_USER="$withval" ]
161 AC_SUBST(CACHE_EFFECTIVE_USER)
163 dnl Gerben Wierda <Gerben_Wierda@RnA.nl>
166 CC="$CC -arch m68k -arch i486 -arch hppa -arch sparc"
170 if test "$GCC" = "yes"; then
171 GCCVER=`$CC -v 2>&1 | awk '$2 == "version" {print $3}'`
172 GCCVER2=`echo $GCCVER | awk '{print $1 * 100}'`
175 if test $GCCVER2 -lt 300 ; then
176 echo "ERROR: GCC $GCCVER causes a coredump on $host"
177 echo "ERROR: Try a more recent GCC version"
186 dnl Set Default CFLAGS
187 if test -z "$PRESET_CFLAGS"; then
188 if test "$GCC" = "yes"; then
191 # sunos has too many warnings for this to be useful
195 # Motorola cc/ld does not like -02 but is ok on -O
196 CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]/-O/'`
199 CFLAGS="-Wall $CFLAGS"
205 # suggested by Rafael Seidl <rafaels@cthulhu.engr.sgi.com>
206 CFLAGS="-O3 -OPT:Olimit=0:space=OFF \
207 -woff 1009,1014,1110,1116,1183,1185,1188,1204,1230,1233,1355 \
208 -Wl,-woff,85,-woff,84,-woff,134 \
209 -nostdinc -I/usr/include -D_BSD_SIGNALS $CFLAGS"
210 CXXFLAGS="-O3 -OPT:Olimit=0:space=OFF \
211 -woff 1009,1014,1110,1116,1183,1185,1188,1204,1230,1233,1355 \
212 -Wl,-woff,85,-woff,84,-woff,134 \
213 -nostdinc -I/usr/include -D_BSD_SIGNALS $CXXFLAGS"
216 # Mogul says DEC compilers take both -g and -O2
217 CFLAGS=`echo $CFLAGS | sed -e 's/-g/-g3/'`
226 dnl set squid required flags
227 if test "$GCC" = "yes"; then
228 dnl Guido Serassio (serassio@squid-cache.org) 20070811
229 dnl Using the latest MinGW (gcc 3.4.5 + mingw-runtime 3.13) cannot build with
230 dnl -Wmissing-prototypes -Wmissing-declarations
231 dnl TODO: check if the problem will be present in any other newer MinGW release.
234 SQUID_CFLAGS="-Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments"
237 SQUID_CFLAGS="-Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments"
240 SQUID_CXXFLAGS="-Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments"
245 AC_SUBST(SQUID_CFLAGS)
246 AC_SUBST(SQUID_CXXFLAGS)
248 AC_TEST_CHECKFORHUGEOBJECTS
249 SQUID_CXXFLAGS="$SQUID_CXXFLAGS $HUGE_OBJECT_FLAG"
252 if test -z "$PRESET_LDFLAGS"; then
253 if test "$GCC" = "yes"; then
256 # Silence Linker warnings 84, 85 and 134
257 LDFLAGS="-Wl,-woff,85 -Wl,-woff,84 -Wl,-woff,134 $LDFLAGS"
272 AC_ARG_ENABLE(gnuregex,
273 [ --enable-gnuregex Compile GNUregex. Unless you have reason to use this
274 option, you should not enable it. This library file
275 is usually only required on Windows and very old
276 Unix boxes which do not have their own regex library
278 [USE_GNUREGEX=$enableval])
282 AC_ARG_ENABLE(optimizations,
283 [ --disable-optimizations Don't compile Squid with compiler optimizations enabled.
284 Optimization is good for production builds, but not
285 good for debugging. During development, use
286 --disable-optimizations to reduce compilation times
287 and allow easier debugging. This option implicitly
288 also enabled --disable-inline],
289 [ if test "$enableval" = "no" ; then
290 echo "Disabling compiler optimizations (-O flag)"
291 CFLAGS="`echo $CFLAGS | sed -e 's/-O[[0-9]]*//'`"
292 CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-O[[0-9]]*//'`"
297 AC_ARG_ENABLE(inline,
298 [ --disable-inline Don't compile trivial methods as inline. Squid
299 is coded with much of the code able to be inlined.
300 Inlining is good for production builds, but not
301 good for development. During development, use
302 --disable-inline to reduce compilation times and
303 allow incremental builds to be quick. For
304 production builds, or load tests, use
305 --enable-inline to have squid make all trivial
306 methods inlinable by the compiler.],
307 [ if test "$enableval" = "no" ; then
312 if test "$SquidInline" = "yes" ; then
313 AC_DEFINE(_SQUID_INLINE_, inline, [Keyword used by squid for inlining methods])
314 AC_DEFINE(_USE_INLINE_,, [Include inline methods into header file])
316 echo "Inlining optimization disabled"
317 AC_DEFINE(_SQUID_INLINE_,, [Keyword used by squid for inlining methods])
320 AC_ARG_ENABLE(debug-cbdata,
321 [ --enable-debug-cbdata Provide some debug information in cbdata],
322 [ if test "$enableval" = "yes" ; then
323 echo "cbdata debugging enabled"
324 AC_DEFINE(CBDATA_DEBUG,1,[Enable for cbdata debug information])
328 dnl This is a developer only option.. developers know how to set defines
330 dnl AC_ARG_ENABLE(xmalloc-debug,
331 dnl [ --enable-xmalloc-debug Do some simple malloc debugging],
332 dnl [ if test "$enableval" = "yes" ; then
333 dnl echo "Malloc debugging enabled"
334 dnl AC_DEFINE(XMALLOC_DEBUG,1,[Define to do simple malloc debugging])
338 dnl This is a developer only option.. developers know how to set defines
340 dnl AC_ARG_ENABLE(xmalloc-debug-trace,
341 dnl [ --enable-xmalloc-debug-trace
342 dnl Detailed trace of memory allocations],
343 dnl [ if test "$enableval" = "yes" ; then
344 dnl echo "Malloc debug trace enabled"
345 dnl AC_DEFINE(XMALLOC_TRACE,1,[Define to have a detailed trace of memory allocations])
346 dnl AC_DEFINE(XMALLOC_DEBUG,1)
350 AC_ARG_ENABLE(xmalloc-statistics,
351 [ --enable-xmalloc-statistics
352 Show malloc statistics in status page],
353 [ if test "$enableval" = "yes" ; then
354 echo "Malloc statistics enabled"
355 AC_DEFINE(XMALLOC_STATISTICS,1,[Define to have malloc statistics])
361 [ --disable-carp Disable CARP support],
362 [ if test "$enableval" = "no" ; then
367 if test $use_carp = 1; then
368 AC_DEFINE(USE_CARP, 1, [Cache Array Routing Protocol])
371 AC_ARG_ENABLE(async-io,
372 [ --enable-async-io[=N_THREADS]
374 --with-aufs-threads=N_THREADS
376 --enable-storeio=ufs,aufs],
380 STORE_MODULES="ufs aufs"
385 aufs_io_threads=$enableval
387 STORE_MODULES="ufs aufs"
392 AC_ARG_WITH(aufs-threads,
393 [ --with-aufs-threads=N_THREADS
394 Tune the number of worker threads for the aufs object
398 aufs_io_threads=$withval
401 echo "ERROR: Invalid --with-aufs-threads argument"
406 if test "$aufs_io_threads"; then
407 echo "With $aufs_io_threads aufs threads"
408 AC_DEFINE_UNQUOTED(AUFS_IO_THREADS,$aufs_io_threads,
409 [Defines how many threads aufs uses for I/O])
412 AC_ARG_WITH(pthreads,
413 [ --with-pthreads Use POSIX Threads])
414 if test "$with_pthreads" = "yes"; then
419 [ --with-aio Use POSIX AIO])
420 if test "$with_aio" = "yes"; then
425 [ --with-dl Use dynamic linking])
426 if test "$with_dl" = "yes"; then
430 AC_ARG_ENABLE(storeio,
431 [ --enable-storeio=\"list of modules\"
432 Build support for the list of store I/O modules.
433 The default is only to build the "ufs" module.
434 See src/fs for a list of available modules, or
435 Programmers Guide section <not yet written>
436 for details on how to build your custom store module],
439 for dir in $srcdir/src/fs/*; do
440 module="`basename $dir`"
441 if test -d "$dir" && test "$module" != CVS; then
442 STORE_MODULES="$STORE_MODULES $module"
449 STORE_MODULES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
453 [ if test -z "$STORE_MODULES"; then
457 if test -n "$STORE_MODULES"; then
458 for module in $STORE_MODULES; do
459 if test -d $srcdir/src/fs/$module; then
462 echo "ERROR: storeio $module does not exists"
466 echo "Store modules built: $STORE_MODULES"
468 for module in $STORE_MODULES; do
469 STORE_LINKOBJS="$STORE_LINKOBJS fs/${module}/StoreFS${module}.o"
472 dnl remove all but diskd - its the only module that needs to recurse
473 dnl into the sub directory
481 for fs in $STORE_MODULES none; do
486 NEED_DISKDAEMON="true"
491 NEED_DISKTHREADS="true"
496 dnl Automake om MinGW needs explicit exe extension
497 dnl for STORE_TESTS substition
499 STORE_TESTS="$STORE_TESTS tests/testCoss$EXEEXT"
503 STORE_TESTS="$STORE_TESTS tests/testUfs$EXEEXT"
508 dnl We have 'fake' modules - aufs and diskd - legacy.
509 for fs in $STORE_MODULES; do
514 STORE_OBJS="$STORE_OBJS fs/lib${fs}.a"
515 STORE_LIBS="$STORE_LIBS lib${fs}.a"
520 if test -z "$UFS_FOUND" && test -n "$NEED_UFS"; then
521 echo "adding UFS, as it contains core logic for diskd and aufs"
522 STORE_OBJS="$STORE_OBJS fs/libufs.a"
523 STORE_LIBS="$STORE_LIBS libufs.a"
524 STORE_MODULES="$STORE_MODULES ufs"
525 STORE_LINKOBJS="$STORE_LINKOBJS fs/ufs/StoreFSufs.o"
527 dnl Automake om MinGW needs explicit exe extension
528 dnl for STORE_TESTS substition
530 STORE_TESTS="$STORE_TESTS tests/testUfs$EXEEXT"
535 AC_SUBST(STORE_LINKOBJS)
536 AC_SUBST(STORE_TESTS)
538 AC_ARG_ENABLE(disk-io,
539 [ --enable-disk-io=\"list of modules\"
540 Build support for the list of disk I/O modules.
541 The default is only to build the "Blocking" module.
542 See src/DiskIO for a list of available modules, or
543 Programmers Guide section <not yet written>
544 for details on how to build your custom disk module],
547 for dir in $srcdir/src/DiskIO/*; do
548 module="`basename $dir`"
549 if test -d "$dir" && test "$module" != CVS; then
550 DISK_MODULES="$DISK_MODULES $module"
557 DISK_MODULES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
561 [ if test -z "$DISK_MODULES"; then
562 DISK_MODULES="Blocking"
565 if test -n "$DISK_MODULES"; then
566 for module in $DISK_MODULES; do
567 if test -d $srcdir/src/DiskIO/$module; then
570 echo "ERROR: disk-io $module does not exists"
574 DISK_LIBS="lib`echo $DISK_MODULES|sed -e 's% %.a lib%g'`.a"
576 for module in $DISK_MODULES; do
577 DISK_LINKOBJS="$DISK_LINKOBJS DiskIO/${module}/${module}DiskIOModule.o"
580 for fs in $DISK_MODULES none; do
583 DISK_PROGRAMS="$DISK_PROGRAMS DiskIO/DiskDaemon/diskd"
584 FOUND_DISKDAEMON="true"
587 FOUND_DISKTHREADS="true"
593 FOUND_BLOCKING="true"
597 if test -z "$FOUND_BLOCKING" && test -n "$NEED_BLOCKING"; then
598 echo "adding Blocking, as it is used by an active, legacy Store Module"
599 DISK_LIBS="$DISK_LIBS libBlocking.a"
600 DISK_MODULES="$DISK_MODULES Blocking"
601 DISK_LINKOBJS="$DISK_LINKOBJS DiskIO/Blocking/BlockingDiskIOModule.o"
604 if test -z "$FOUND_DISKDAEMON" && test -n "$NEED_DISKDAEMON"; then
605 echo "adding DiskDaemon, as it is used by an active, legacy Store Module"
606 DISK_LIBS="$DISK_LIBS libDiskDaemon.a"
607 DISK_MODULES="$DISK_MODULES DiskDaemon"
608 DISK_PROGRAMS="$DISK_PROGRAMS DiskIO/DiskDaemon/diskd"
609 DISK_LINKOBJS="$DISK_LINKOBJS DiskIO/DiskDaemon/DiskDaemonDiskIOModule.o"
612 if test -z "$FOUND_DISKTHREADS" && test -n "$NEED_DISKTHREADS"; then
613 echo "adding DiskThreads, as it is used by an active, legacy Store Module"
614 DISK_LIBS="$DISK_LIBS libDiskThreads.a"
615 DISK_MODULES="$DISK_MODULES DiskThreads"
616 DISK_LINKOBJS="$DISK_LINKOBJS DiskIO/DiskThreads/DiskThreadsDiskIOModule.o"
619 if test -z "$FOUND_AIO" && test -n "$NEED_AIO"; then
620 echo "adding AIO, as it is used by an active, legacy Store Module"
621 DISK_LIBS="$DISK_LIBS libAIO.a"
622 DISK_MODULES="$DISK_MODULES AIO"
623 DISK_LINKOBJS="$DISK_LINKOBJS DiskIO/AIO/AIODiskIOModule.o"
625 echo "IO Modules built: $DISK_MODULES"
628 dnl we know what is being built. now add dependencies.
629 for fs in $DISK_MODULES none; do
632 if test -z "$with_pthreads"; then
636 echo "DiskThreads IO Module used, Windows threads support automatically enabled"
639 echo "DiskThreads IO Module used, pthreads support automatically enabled"
646 if test -z "$with_aio"; then
650 echo "Aio IO Module used, Windows overlapped I/O support automatically enabled"
653 echo "Aio IO Module used, aio support automatically enabled"
663 AC_SUBST(DISK_PROGRAMS)
664 AC_SUBST(DISK_LINKOBJS)
665 AM_CONDITIONAL([USE_AIOPS_WIN32], [test "$USE_AIOPS_WIN32" = 1])
666 AM_CONDITIONAL([USE_AIO_WIN32], [test "$USE_AIO_WIN32" = 1])
668 AC_ARG_ENABLE(removal-policies,
669 [ --enable-removal-policies=\"list of policies\"
670 Build support for the list of removal policies.
671 The default is only to build the "lru" module.
672 See src/repl for a list of available modules, or
673 Programmers Guide section 9.9 for details on how
674 to build your custom policy],
677 for dir in $srcdir/src/repl/*; do
678 module="`basename $dir`"
679 if test -d "$dir" && test "$module" != CVS; then
680 REPL_POLICIES="$REPL_POLICIES $module"
687 REPL_POLICIES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
691 [ if test -z "$REPL_POLICIES"; then
695 if test -n "$REPL_POLICIES"; then
696 for module in $REPL_POLICIES; do
697 if test -d $srcdir/src/repl/$module; then
700 echo "ERROR: Removal policy $module does not exists"
704 echo "Removal policies built: $REPL_POLICIES"
705 REPL_OBJS="repl/lib`echo $REPL_POLICIES|sed -e 's% %.a repl/lib%g'`.a"
706 REPL_LIBS="`echo $REPL_OBJS|sed -e 's%repl/%%g'`"
708 AC_SUBST(REPL_POLICIES)
712 AM_CONDITIONAL(ENABLE_PINGER, false)
714 [ --enable-icmp Enable ICMP pinging],
715 [ if test "$enableval" = "yes" ; then
717 AC_DEFINE(USE_ICMP,1,
718 [ Defined this to use Squid's ICMP features (highly recommended!)
719 When USE_ICMP is defined, Squid will send ICMP pings to origin server sites.])
720 AM_CONDITIONAL(ENABLE_PINGER, true)
724 AM_CONDITIONAL(USE_DELAY_POOLS, false)
725 AC_ARG_ENABLE(delay-pools,
726 [ --enable-delay-pools Enable delay pools to limit bandwidth usage],
727 [ if test "$enableval" = "yes" ; then
728 echo "Delay pools enabled"
729 AC_DEFINE([DELAY_POOLS],1,[Traffic management via "delay pools".])
730 AM_CONDITIONAL(USE_DELAY_POOLS, true,)
734 dnl disable generic/common adaptation support by default
737 AM_CONDITIONAL(USE_ESI, false)
739 AC_HELP_STRING([--enable-esi],[Enable ESI for accelerators. Requires libexpat. Enabling ESI will cause squid to follow the Edge Acceleration Specification (www.esi.org). This causes squid to IGNORE client Cache-Control headers. DO NOT use this in a squid configured as a web proxy, ONLY use it in a squid configured for webserver acceleration.]),
740 use_esi=$enableval, use_esi=no)
741 if test "$use_esi" = "yes" ; then
742 AC_DEFINE(USE_SQUID_ESI,1,[Compile the ESI processor and Surrogate header support])
743 AM_CONDITIONAL(USE_ESI, true)
744 XTRA_LIBS="$XTRA_LIBS -lexpat -lxml2"
746 AC_DEFINE(USE_SQUID_ESI,0,[Compile the ESI processor and Surrogate header support])
749 AM_CONDITIONAL(USE_ICAP_CLIENT, false)
750 AC_ARG_ENABLE(icap-client,
751 AC_HELP_STRING([--enable-icap-client],[Enable the ICAP client.]),
752 use_icap_client=$enableval, use_icap_client=no)
753 if test "$use_icap_client" = "yes" ; then
754 AC_DEFINE(ICAP_CLIENT,1,[Enable ICAP client features in Squid])
755 AM_CONDITIONAL(USE_ICAP_CLIENT, true)
756 ICAP_LIBS="ICAP/libicap.la"
759 AC_DEFINE(ICAP_CLIENT,0,[Enable ICAP client features in Squid])
765 AC_MSG_CHECKING(whether to support eCAP)
770 [support loadable content adaptation modules])
773 case "${enableval}" in
776 *) AC_MSG_ERROR(bad value ${enableval} for --enable-ecap) ;;
778 AC_MSG_RESULT([$use_ecap, explicitly])
782 AC_MSG_RESULT([$use_ecap, implicitly])
786 dnl Perform configuration consistency checks for eCAP
787 if test $use_ecap = yes;
789 dnl eCAP support requires loadable modules, which are enabled by default
790 if test "$use_loadable_modules" != "yes"
793 eCAP support requires loadable modules. Please do not use
794 --disable-loadable-modules with --enable-ecap.]);
798 AM_CONDITIONAL(USE_ECAP, test $use_ecap = yes)
799 if test $use_ecap = yes;
801 AC_DEFINE(USE_ECAP,1,[Enable eCAP support])
802 ECAP_LIBS="eCAP/libeCAP.la"
805 AC_DEFINE(USE_ECAP,0,[Disable eCAP support])
811 dnl enable adaptation if requested by specific adaptation mechanisms
812 AM_CONDITIONAL(USE_ADAPTATION, test $use_adaptation = yes)
813 if test $use_adaptation = yes
815 AC_DEFINE(USE_ADAPTATION,1,[common adaptation support])
816 ADAPTATION_LIBS="adaptation/libadaptation.la"
818 AC_DEFINE(USE_ADAPTATION,0,[common adaptation support])
821 AC_SUBST(ADAPTATION_LIBS)
824 dnl This is a developer only option. Developers know how to set defines
826 dnl AC_ARG_ENABLE(mem-gen-trace,
827 dnl [ --enable-mem-gen-trace Do trace of memory stuff],
828 dnl [ if test "$enableval" = "yes" ; then
829 dnl echo "Memory trace (to file) enabled"
830 dnl AC_DEFINE(MEM_GEN_TRACE,1,[Define for log file trace of mem alloc/free])
834 AC_ARG_ENABLE(useragent-log,
835 [ --enable-useragent-log Enable logging of User-Agent header],
836 [ if test "$enableval" = "yes" ; then
837 echo "User-Agent logging enabled"
838 AC_DEFINE(USE_USERAGENT_LOG,1,[If you want to log User-Agent request header values, define this.
839 By default, they are written to useragent.log in the Squid log
844 AC_ARG_ENABLE(referer-log,
845 [ --enable-referer-log Enable logging of Referer header],
846 [ if test "$enableval" = "yes" ; then
847 echo "Referer logging enabled"
848 AC_DEFINE(USE_REFERER_LOG,1,[If you want to log Referer request header values, define this.
849 By default, they are written to referer.log in the Squid log
856 [ --disable-wccp Disable Web Cache Coordination Protocol],
857 [ if test "$enableval" = "no" ; then
858 echo "Web Cache Coordination Protocol disabled"
862 if test $USE_WCCP = 1; then
863 AC_DEFINE(USE_WCCP, 1, [Define to enable WCCP])
867 AC_ARG_ENABLE(wccpv2,
868 [ --disable-wccpv2 Disable Web Cache Coordination V2 Protocol],
869 [ if test "$enableval" = "no" ; then
870 echo "Web Cache Coordination V2 Protocol disabled"
874 if test $USE_WCCPv2 = 1; then
875 AC_DEFINE(USE_WCCPv2, 1, [Define to enable WCCP V2])
878 AC_ARG_ENABLE(kill-parent-hack,
879 [ --enable-kill-parent-hack
880 Kill parent on shutdown],
881 [ if test "$enableval" = "yes" ; then
882 echo "Kill parent on shutdown"
883 AC_DEFINE(KILL_PARENT_OPT,1,[A dangerous feature which causes Squid to kill its parent process
884 (presumably the RunCache script) upon receipt of SIGTERM or SIGINT.
891 [ --disable-snmp Disable SNMP monitoring support],
892 [ if test "$enableval" = "no" ; then
893 echo "SNMP monitoring disabled"
897 if test x"$USE_SNMP" = xtrue; then
898 AC_DEFINE(SQUID_SNMP,1,[Define to enable SNMP monitoring of Squid])
899 SNMPLIB='../snmplib/libsnmp.a'
902 AM_CONDITIONAL(USE_SNMP, [test x$USE_SNMP = xtrue])
904 AC_SUBST(makesnmplib)
906 AC_ARG_ENABLE(cachemgr-hostname,
907 [ --enable-cachemgr-hostname[=hostname]
908 Make cachemgr.cgi default to this host],
911 AC_DEFINE(CACHEMGR_HOSTNAME,[getfullhostname()],
912 [If you are upset that the cachemgr.cgi form comes up with the hostname field blank, then define this to getfullhostname()])
913 echo "Cachemgr default hostname == host where cachemgr runs"
919 AC_DEFINE_UNQUOTED(CACHEMGR_HOSTNAME,"${enableval}")
920 echo "Cachemgr default hostname set to ${enableval}"
925 AM_CONDITIONAL(ENABLE_ARP_ACL, false)
926 AC_ARG_ENABLE(arp-acl,
927 [ --enable-arp-acl Enable use of ARP ACL lists (ether address)],
928 [ if test "$enableval" = "yes" ; then
929 echo "ARP ACL lists enabled (ether address)"
942 LIBS="$LIBS -liphlpapi"
945 LIBS="$LIBS -liphlpapi"
948 echo "WARNING: ARP ACL support probably won't work on $host."
952 AC_DEFINE(USE_ARP_ACL,1,[Define this to include code which lets you specify access control elements based on ethernet hardware addresses. This code uses functions found in 4.4 BSD derviations (e.g. FreeBSD, ?).])
953 AM_CONDITIONAL(ENABLE_ARP_ACL, true)
958 AM_CONDITIONAL(ENABLE_HTCP, false)
960 [ --disable-htcp Disable HTCP protocol support],
961 [ if test "$enableval" = "no" ; then
962 echo "HTCP support disabled"
965 if test x$USE_HTCP = xtrue; then
966 AC_DEFINE(USE_HTCP,1, [Define this to include code for the Hypertext Cache Protocol (HTCP)])
968 AM_CONDITIONAL(ENABLE_HTCP, [test x$USE_HTCP = xtrue])
970 dnl SSL is not enabled by default.
971 AM_CONDITIONAL(ENABLE_SSL, false)
973 dnl Default is to use OpenSSL when available
975 [ --enable-ssl Enable ssl gatewaying support using OpenSSL],
976 [ if test "$enableval" != "no"; then
977 echo "SSL gatewaying using OpenSSL enabled"
978 AC_DEFINE(USE_SSL,1,[Define this to include code for SSL encryption.])
979 AM_CONDITIONAL(ENABLE_SSL, true)
982 dnl Native Windows port of OpenSSL needs -lgdi32
983 SSLLIB='-lssleay32 -leay32 -lgdi32'
986 SSLLIB='-lssl -lcrypto'
993 dnl User may specify OpenSSL is needed from a non-standard location
995 [ --with-openssl[=prefix]
996 Compile with the OpenSSL libraries. The path to
997 the OpenSSL development libraries and headers
998 installation can be specified if outside of the
999 system standard directories],
1001 case "$with_openssl" in
1009 SSLLIBDIR="$with_openssl/lib"
1010 CPPFLAGS="-I$with_openssl/include $CPPFLAGS"
1014 if test -n "$USE_OPENSSL"; then
1015 echo "Using OpenSSL MD5 implementation"
1016 AC_DEFINE(USE_OPENSSL,1,[Define this to make use of the OpenSSL libraries for MD5 calculation rather than Squid's own MD5 implementation or if building with SSL encryption (USE_SSL)])
1017 if test -z "$SSLLIB"; then
1018 SSLLIB="-lcrypto" # for MD5 routines
1020 dnl This is a workaround for RedHat 9 brain damage..
1021 if test -d /usr/kerberos/include && test -z "$SSLLIBDIR" && test -f /usr/include/openssl/kssl.h; then
1022 echo "OpenSSL depends on Kerberos"
1023 SSLLIBDIR="/usr/kerberos/lib"
1024 CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include"
1027 if test -n "$SSLLIBDIR"; then
1028 SSLLIB="-L$SSLLIBDIR $SSLLIB"
1033 AC_ARG_ENABLE(forw-via-db,
1034 [ --enable-forw-via-db Enable Forw/Via database],
1035 [ if test "$enableval" = "yes" ; then
1036 echo "FORW-VIA enabled"
1037 AC_DEFINE(FORW_VIA_DB,1,[Enable Forw/Via database])
1041 AC_ARG_ENABLE(cache-digests,
1042 [ --enable-cache-digests Use Cache Digests
1043 see http://www.squid-cache.org/FAQ/FAQ-16.html],
1044 [ if test "$enableval" = "yes" ; then
1045 echo "USE_CACHE_DIGESTS enabled"
1046 AC_DEFINE(USE_CACHE_DIGESTS,1,[Use Cache Digests for locating objects in neighbor caches. This code is still semi-experimental.])
1050 dnl Select Default Error language
1051 AC_ARG_ENABLE(default-err-language,
1052 [ --enable-default-err-language=lang
1053 Select default language for Error pages (see
1054 errors directory) ],
1056 if test -d $srcdir/errors/$enableval; then
1057 ERR_DEFAULT_LANGUAGE=$enableval
1059 echo "ERROR! Unknown language $enableval, see errors/ directory"
1062 ],[ERR_DEFAULT_LANGUAGE="English"])
1063 AC_SUBST(ERR_DEFAULT_LANGUAGE)
1065 dnl Select languages to be installed
1066 AC_ARG_ENABLE(err-languages,
1067 [ --enable-err-languages=\"lang1 lang2..\"
1068 Select languages to be installed. (All will be
1069 installed by default) ],
1071 for l in $enableval; do
1072 if test -d $srcdir/errors/$l; then :; else
1073 echo "ERROR! Unknown language $$l, see errors/"
1077 ERR_LANGUAGES=$enableval
1080 for l in $srcdir/errors/*; do
1081 if test -f $l/ERR_ACCESS_DENIED; then
1082 ERR_LANGUAGES="$ERR_LANGUAGES `basename $l`"
1086 AC_SUBST(ERR_LANGUAGES)
1088 dnl Size of COSS memory buffer
1089 AC_ARG_WITH(coss-membuf-size,
1090 [ --with-coss-membuf-size COSS membuf size (default 1048576 bytes) ],
1091 [ if test "$with_coss_membuf_size"; then
1092 echo "Setting COSS membuf size to $with_coss_membuf_size bytes"
1093 AC_DEFINE_UNQUOTED(COSS_MEMBUF_SZ, $with_coss_membuf_size,[Define if you want to set the COSS membuf size])
1097 dnl check for netio plugin stuff
1102 [ --disable-poll Disable poll() support. ],
1105 case "$enableval" in
1107 echo "Forcing poll() to be enabled"
1111 echo "Forcing poll() to be disabled"
1119 AC_ARG_ENABLE(select,
1120 [ --disable-select Disable select() support. ],
1123 case "$enableval" in
1125 echo "Forcing select() to be enabled"
1126 SELECT_TYPE="select"
1129 echo "Forcing select() to be disabled"
1136 dnl kqueue support is still experiemntal and unstable. Not enabled by default.
1138 AC_ARG_ENABLE(kqueue,
1139 [ --enable-kqueue Enable kqueue() support (experimental).],
1142 case "$enableval" in
1144 echo "Forcing kqueue() to be enabled"
1145 SELECT_TYPE="kqueue"
1148 echo "Forcing kqueue() to be disabled"
1156 AC_ARG_ENABLE(epoll,
1157 [ --disable-epoll Disable Linux epoll() support.],
1160 case "$enableval" in
1162 echo "Forcing epoll() to be enabled"
1166 echo "Forcing epoll() to be disabled"
1173 dnl Disable HTTP violations
1175 AC_ARG_ENABLE(http-violations,
1176 [ --disable-http-violations
1177 This allows you to remove code which is known to
1178 violate the HTTP protocol specification.],
1179 [ if test "$enableval" = "no" ; then
1180 echo "Disabling HTTP Violations"
1184 if test $http_violations = 1; then
1185 AC_DEFINE(HTTP_VIOLATIONS, 1,[By default (for now anyway) Squid includes options which allows the cache administrator to violate the HTTP protocol specification in terms of cache behaviour. Setting this to '0' will disable such code.])
1187 AC_DEFINE(HTTP_VIOLATIONS, 0)
1190 dnl Enable IPFW Transparent Proxy
1191 AC_ARG_ENABLE(ipfw-transparent,
1192 [ --enable-ipfw-transparent
1193 Enable Transparent Proxy support for systems
1194 using FreeBSD IPFW style redirection.],
1195 [ if test "$enableval" = "yes" ; then
1196 echo "IPFW Transparent Proxy enabled"
1197 AC_DEFINE(IPFW_TRANSPARENT,1,[Enable support for Transparent Proxy on systems using FreeBSD IPFW address redirection.])
1198 IPFW_TRANSPARENT="yes"
1202 dnl Enable IP-Filter Transparent Proxy
1203 AC_ARG_ENABLE(ipf-transparent,
1204 [ --enable-ipf-transparent
1205 Enable Transparent Proxy support for systems
1206 using IP-Filter network address redirection.],
1207 [ if test "$enableval" = "yes" ; then
1208 echo "IP-Filter Transparent Proxy enabled"
1209 AC_DEFINE(IPF_TRANSPARENT,1,[Enable support for Transparent Proxy on systems using IP-Filter address redirection. This provides "masquerading" support for non Linux system.])
1210 IPF_TRANSPARENT="yes"
1214 dnl Enable PF Transparent Proxy
1215 AC_ARG_ENABLE(pf-transparent,
1216 [ --enable-pf-transparent
1217 Enable Transparent Proxy support for systems
1218 using PF network address redirection.],
1219 [ if test "$enableval" = "yes" ; then
1220 echo "PF Transparent Proxy enabled"
1221 AC_DEFINE(PF_TRANSPARENT,1,[Enable support for Transparent Proxy on systems using PF address redirection. This provides "masquerading" support for OpenBSD.])
1222 PF_TRANSPARENT="yes"
1226 dnl Enable Linux Netfilter Transparent Proxy
1227 AC_ARG_ENABLE(linux-netfilter,
1228 [ --enable-linux-netfilter
1229 Enable Transparent Proxy support for Linux (Netfilter) systems.],
1230 [ if test "$enableval" = "yes" ; then
1231 echo "Linux (Netfilter) Transparent Proxy enabled"
1232 AC_DEFINE(LINUX_NETFILTER,1,[Enable support for Transparent Proxy on Linux (Netfilter) systems])
1233 LINUX_NETFILTER="yes"
1237 dnl Enable Large file support
1241 AC_ARG_WITH(large-files,
1242 [ --with-large-files Enable support for large files (logs etc).],
1243 [ if test "$withval" = yes; then
1248 dnl UNIX Build environment
1249 AC_ARG_WITH(build-environment,
1250 [ --with-build-environment=model
1251 The build environment to use. Normally one of
1252 POSIX_V6_ILP32_OFF32 32 bits
1253 POSIX_V6_ILP32_OFFBIG 32 bits with large file support
1254 POSIX_V6_LP64_OFF64 64 bits
1255 POSIX_V6_LPBIG_OFFBIG large pointers and files
1256 XBS5_ILP32_OFF32 32 bits (legacy)
1257 XBS5_ILP32_OFFBIG 32 bits with large file support (legacy)
1258 XBS5_LP64_OFF64 64 bits (legacy)
1259 XBS5_LPBIG_OFFBIG large pointers and files (legacy)
1260 default The default for your OS],
1261 [ case "$withval" in
1263 echo "--with-build-environment expects a build environment string as used by getconf"
1267 buildmodel="$withval"
1272 if test $needlargefiles && test -z "$buildmodel"; then
1273 for model in POSIX_V6_LPBIG_OFFBIG XBS5_LPBIG_OFFBIG POSIX_V6_LP64_OFF64 XBS5_LP64_OFF64 POSIX_V6_ILP32_OFFBIG XBS5_ILP32_OFFBIG; do
1274 if test "`getconf _$model 2>/dev/null || true`" = 1 || test "`getconf $model 2>/dev/null || true`" ; then
1279 if test -z "$buildmodel"; then
1280 echo "WARNING: No suitable build environment found for large files. Trying to use _FILE_OFFSET_BITS=64"
1282 CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
1283 CXXFLAGS="-D_FILE_OFFSET_BITS=64 $CXXFLAGS"
1286 if test -n "$buildmodel" && test "$buildmodel" != "default"; then
1287 echo "Using $buildmodel build environment"
1288 if test "`getconf _$buildmodel 2>/dev/null || true`" = 1 || test "`getconf $buildmodel 2>/dev/null || true`" ; then
1291 echo "ERROR: Build environment $buildmodel not known to getconf."
1294 CFLAGS="`getconf ${buildmodel}_CFLAGS` $CFLAGS"
1295 CXXFLAGS="`getconf ${buildmodel}_CFLAGS` $CXXFLAGS"
1296 LIBS="`getconf ${buildmodel}_LIBS` $LIBS"
1297 LDFLAGS="`getconf ${buildmodel}_LDFLAGS` $LDFLAGS"
1300 dnl On Solaris getconf returns for CFLAGS -Xa and -Usun options, but:
1301 dnl -Xa is supported only by Sun cc, so we need to remove it when using gcc
1302 dnl The 'sun' define is needed by ipfilter includes, so we must remove -Usun
1304 if test "$GCC" = "yes"; then
1305 echo "Removing -Xa for gcc on $host"
1306 CFLAGS="`echo $CFLAGS | sed -e 's/-Xa//'`"
1307 CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-Xa//'`"
1309 echo "Removing -Usun on $host"
1310 CFLAGS="`echo $CFLAGS | sed -e 's/-Usun//'`"
1311 CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-Usun//'`"
1314 dnl On Irix 6.x getconf returns options valid only for the SGI MipsPRO compiler,
1315 dnl so we must adjust something to avoid gcc errors.
1316 dnl On Irix 6.x 32/64 bit we must replace "-n32" with "-mabi=n32" in CFLAGS and
1317 dnl remove "-n32" from LDFLAGS
1318 dnl On Irix 6.x 64 bit we must replace "-64" with "-mabi=64" in CFLAGS and remove
1319 dnl "-64" from LDFLAGS
1321 if test "$GCC" = "yes"; then
1322 CFLAGS="`echo $CFLAGS | sed -e 's/-n32/-mabi=n32/'`"
1323 CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-n32/-mabi=n32/'`"
1324 LDFLAGS="`echo $LDFLAGS | sed -e 's/-n32//'`"
1325 CFLAGS="`echo $CFLAGS | sed -e 's/-64/-mabi=64/'`"
1326 CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-64/-mabi=64/'`"
1327 LDFLAGS="`echo $LDFLAGS | sed -e 's/-64//'`"
1335 dnl Enable Linux transparent proxy support for obsolete TPROXY
1336 AC_ARG_ENABLE(linux-tproxy,
1337 [ --enable-linux-tproxy
1338 Enable real Transparent Proxy support for Netfilter TPROXY (version 2).],
1339 [ if test "$enableval" = "yes" ; then
1340 echo "Linux Netfilter/TPROXY v2 enabled"
1341 AC_DEFINE(LINUX_TPROXY2, 1, [Enable real Transparent Proxy support for Netfilter TPROXY v2.])
1343 if test -z "$LINUX_NETFILTER"; then
1344 echo "Linux-Netfilter Transparent Proxy automatically enabled"
1345 LINUX_NETFILTER="yes"
1350 AM_CONDITIONAL(MAKE_LEAKFINDER, false)
1351 dnl Enable Leak Finding Functions
1352 AC_ARG_ENABLE(leakfinder,
1353 [ --enable-leakfinder
1354 Enable Leak Finding code. Enabling this alone
1355 does nothing; you also have to modify the source
1356 code to use the leak finding functions. Probably
1357 Useful for hackers only.],
1358 [ if test "$enableval" = "yes" ; then
1359 echo "Leak-Finding enabled"
1360 AC_DEFINE(USE_LEAKFINDER,1,[Enable code for assisting in finding memory leaks. Hacker stuff only.])
1361 USE_LEAKFINDER="yes"
1362 AM_CONDITIONAL(MAKE_LEAKFINDER, true)
1367 AC_ARG_ENABLE(ident-lookups,
1368 [ --disable-ident-lookups
1369 This allows you to remove code that performs
1370 Ident (RFC 931) lookups.],
1371 [ if test "$enableval" = "no" ; then
1372 echo "Disabling Ident Lookups"
1376 if test $use_ident = 1; then
1377 AC_DEFINE(USE_IDENT, 1,[Compile in support for Ident (RFC 931) lookups? Enabled by default.])
1378 AM_CONDITIONAL(ENABLE_IDENT, true)
1380 AC_DEFINE(USE_IDENT, 0)
1381 AM_CONDITIONAL(ENABLE_IDENT, false)
1384 AM_CONDITIONAL(USE_DNSSERVER, false)
1386 AC_ARG_ENABLE(internal-dns,
1387 [ --disable-internal-dns This prevents Squid from directly sending and
1388 receiving DNS messages, and instead enables the
1389 old external 'dnsserver' processes.],
1390 [ if test "$enableval" = "no" ; then
1391 echo "Disabling Internal DNS queries"
1395 if test "$use_dnsserver" = "yes"; then
1396 AC_DEFINE(USE_DNSSERVERS,1,[Use dnsserver processes instead of the internal DNS protocol support])
1397 AM_CONDITIONAL(USE_DNSSERVER, true)
1400 dnl Select Default hosts file location
1401 AC_ARG_ENABLE(default-hostsfile,
1402 [ --enable-default-hostsfile=path
1403 Select default location for hosts file.
1404 See hosts_file directive in squid.conf for details],
1406 if test "$enableval" != "none" ; then
1407 if test -f $enableval; then
1408 OPT_DEFAULT_HOSTS=$enableval
1410 echo "Warning Unable to find $enableval"
1414 OPT_DEFAULT_HOSTS="none"
1416 echo "Default hosts file set to: $enableval"
1417 ],[OPT_DEFAULT_HOSTS="/etc/hosts"])
1418 AC_SUBST(OPT_DEFAULT_HOSTS)
1420 dnl Select auth schemes modules to build
1422 [ --enable-auth=\"list of auth scheme modules\"
1423 Build support for the list of authentication schemes.
1424 The default is to build support for the Basic scheme.
1425 See src/auth for a list of available modules, or
1426 Programmers Guide section authentication schemes
1427 for details on how to build your custom auth scheme
1429 [ case $enableval in
1431 for dir in $srcdir/src/auth/*; do
1432 module="`basename $dir`"
1433 if test -d "$dir" && test "$module" != CVS; then
1434 AUTH_MODULES="$AUTH_MODULES $module"
1441 AUTH_MODULES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
1445 [ if test -z "$AUTH_MODULES"; then
1446 AUTH_MODULES="ntlm basic digest negotiate"
1449 if test -n "$AUTH_MODULES"; then
1450 for module in $AUTH_MODULES; do
1451 if test -d $srcdir/src/auth/$module; then
1454 echo "ERROR: Auth scheme $module does not exists"
1457 eval AUTH_MODULE_${module}=yes
1459 echo "Auth scheme modules built: $AUTH_MODULES"
1460 AUTH_OBJS="auth/lib`echo $AUTH_MODULES|sed -e 's% %.a auth/lib%g'`.a"
1461 AUTH_LIBS="`echo $AUTH_OBJS|sed -e 's%auth/%%g'`"
1463 echo "Auth scheme modules built: None"
1466 for module in $AUTH_MODULES; do
1467 AUTH_LINKOBJS="$AUTH_LINKOBJS auth/${module}/${module}Scheme.o"
1469 AC_SUBST(AUTH_MODULES)
1471 AC_SUBST(AUTH_LINKOBJS)
1474 dnl Select basic auth scheme helpers to build
1475 if test -n "$AUTH_MODULE_basic"; then
1476 BASIC_AUTH_HELPERS="all"
1478 AC_ARG_ENABLE(basic-auth-helpers,
1479 [ --enable-basic-auth-helpers=\"list of helpers\"
1480 This option selects which basic scheme proxy_auth
1481 helpers to build and install as part of the normal
1482 build process. For a list of available
1483 helpers see the helpers/basic_auth directory.],
1484 [ case "$enableval" in
1486 BASIC_AUTH_HELPERS="all"
1489 BASIC_AUTH_HELPERS=""
1492 if test -z "$AUTH_MODULE_basic"; then
1493 echo "WARNING: Basic auth helpers selected without the basic scheme enabled"
1496 BASIC_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
1500 if test "$BASIC_AUTH_HELPERS" = "all" ; then
1501 BASIC_AUTH_HELPERS=""
1502 for dir in $srcdir/helpers/basic_auth/*; do
1503 helper="`basename $dir`"
1504 if test -f $dir/config.test && sh $dir/config.test "$@"; then
1505 BASIC_AUTH_HELPERS="$BASIC_AUTH_HELPERS $helper"
1509 if test -n "$BASIC_AUTH_HELPERS"; then
1510 for helper in $BASIC_AUTH_HELPERS; do
1511 if test -d $srcdir/helpers/basic_auth/$helper; then
1518 echo "ERROR: Basic auth helper $helper does not exists"
1522 echo "Basic auth helpers built: $BASIC_AUTH_HELPERS"
1524 AC_SUBST(BASIC_AUTH_HELPERS)
1526 dnl Select ntlm auth helpers to build
1527 if test -n "$AUTH_MODULE_ntlm"; then
1528 NTLM_AUTH_HELPERS="all"
1530 AC_ARG_ENABLE(ntlm-auth-helpers,
1531 [ --enable-ntlm-auth-helpers=\"list of helpers\"
1532 This option selects which proxy_auth ntlm helpers
1533 to build and install as part of the normal build
1534 process. For a list of available helpers see
1535 the helpers/ntlm_auth directory.],
1536 [ case "$enableval" in
1538 NTLM_AUTH_HELPERS="all"
1541 NTLM_AUTH_HELPERS=""
1544 NTLM_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
1548 if test "$NTLM_AUTH_HELPERS" = "all" ; then
1549 NTLM_AUTH_HELPERS=""
1550 for dir in $srcdir/helpers/ntlm_auth/*; do
1551 helper="`basename $dir`"
1552 if test -f $dir/config.test && sh $dir/config.test "$@"; then
1553 NTLM_AUTH_HELPERS="$NTLM_AUTH_HELPERS $helper"
1557 if test -n "$NTLM_AUTH_HELPERS"; then
1558 for helper in $NTLM_AUTH_HELPERS; do
1559 if test -d $srcdir/helpers/ntlm_auth/$helper; then
1562 echo "ERROR: NTLM Auth helper $helper does not exists"
1566 echo "NTLM auth helpers built: $NTLM_AUTH_HELPERS"
1568 AC_SUBST(NTLM_AUTH_HELPERS)
1570 dnl Select negotiate auth helpers to build
1571 if test -n "$AUTH_MODULE_negotiate"; then
1572 NEGOTIATE_AUTH_HELPERS="all"
1574 AC_ARG_ENABLE(negotiate-auth-helpers,
1575 [ --enable-negotiate-auth-helpers=\"list of helpers\"
1576 This option selects which proxy_auth negotiate helpers
1577 to build and install as part of the normal build
1578 process. For a list of available helpers see
1579 the helpers/negotiate_auth directory.],
1580 [ case "$enableval" in
1582 NEGOTIATE_AUTH_HELPERS="all"
1585 NEGOTIATE_AUTH_HELPERS=""
1588 NEGOTIATE_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
1592 if test "$NEGOTIATE_AUTH_HELPERS" = "all" ; then
1593 NEGOTIATE_AUTH_HELPERS=""
1594 for dir in $srcdir/helpers/negotiate_auth/*; do
1595 helper="`basename $dir`"
1596 if test -f $dir/config.test && sh $dir/config.test "$@"; then
1597 NEGOTIATE_AUTH_HELPERS="$NEGOTIATE_AUTH_HELPERS $helper"
1601 if test -n "$NEGOTIATE_AUTH_HELPERS"; then
1602 for helper in $NEGOTIATE_AUTH_HELPERS; do
1603 if test -d $srcdir/helpers/negotiate_auth/$helper; then
1606 echo "ERROR: Negotiate Auth helper $helper does not exists"
1610 echo "Negotiate auth helpers built: $NEGOTIATE_AUTH_HELPERS"
1612 AC_SUBST(NEGOTIATE_AUTH_HELPERS)
1614 dnl Select digest auth scheme helpers to build
1615 if test -n "$AUTH_MODULE_digest"; then
1616 DIGEST_AUTH_HELPERS=all
1618 AC_ARG_ENABLE(digest-auth-helpers,
1619 [ --enable-digest-auth-helpers=\"list of helpers\"
1620 This option selects which digest scheme authentication
1621 helpers to build and install as part of the normal build
1622 process. For a list of available helpers see the
1623 helpers/digest_auth directory.],
1624 [ case "$enableval" in
1626 DIGEST_AUTH_HELPERS="all"
1629 DIGEST_AUTH_HELPERS=""
1632 DIGEST_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
1636 if test "$DIGEST_AUTH_HELPERS" = "all" ; then
1637 DIGEST_AUTH_HELPERS=""
1638 for dir in $srcdir/helpers/digest_auth/*; do
1639 helper="`basename $dir`"
1640 if test -f $dir/config.test && sh $dir/config.test "$@"; then
1641 DIGEST_AUTH_HELPERS="$DIGEST_AUTH_HELPERS $helper"
1645 if test -n "$DIGEST_AUTH_HELPERS"; then
1646 for helper in $DIGEST_AUTH_HELPERS; do
1647 if test -f $srcdir/helpers/digest_auth/$helper/Makefile.in; then
1650 echo "ERROR: digest auth helper $helper does not exists"
1654 echo "Digest auth helpers built: $DIGEST_AUTH_HELPERS"
1656 AC_SUBST(DIGEST_AUTH_HELPERS)
1658 dnl Enable "NTLM fail open"
1659 AC_ARG_ENABLE(ntlm-fail-open,
1660 [ --enable-ntlm-fail-open Enable NTLM fail open, where a helper that fails one of the
1661 Authentication steps can allow squid to still authenticate
1663 [ if test "$enableval" = "yes" ; then
1664 AC_DEFINE(NTLM_FAIL_OPEN,1,[Define if NTLM is allowed to fail gracefully when a helper has problems. WARNING: This has security implications. DO NOT enable unless you KNOW you need it.])
1668 dnl Select external_acl helpers to build
1669 EXTERNAL_ACL_HELPERS=all
1670 AC_ARG_ENABLE(external-acl-helpers,
1671 [ --enable-external-acl-helpers=\"list of helpers\"
1672 This option selects which external_acl helpers to
1673 build and install as part of the normal build
1674 process. For a list of available helpers see the
1675 helpers/external_acl directory.],
1676 [ case "$enableval" in
1678 EXTERNAL_ACL_HELPERS=all
1681 EXTERNAL_ACL_HELPERS=""
1684 EXTERNAL_ACL_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
1688 if test "$EXTERNAL_ACL_HELPERS" = "all" ; then
1689 EXTERNAL_ACL_HELPERS=""
1690 for dir in $srcdir/helpers/external_acl/*; do
1691 helper="`basename $dir`"
1692 if test -f $dir/config.test && sh $dir/config.test "$@"; then
1693 EXTERNAL_ACL_HELPERS="$EXTERNAL_ACL_HELPERS $helper"
1697 if test -n "$EXTERNAL_ACL_HELPERS"; then
1698 for helper in $EXTERNAL_ACL_HELPERS; do
1699 if test -f $srcdir/helpers/external_acl/$helper/Makefile.in; then
1702 echo "ERROR: external acl helper $helper does not exists"
1706 echo "External acl helpers built: $EXTERNAL_ACL_HELPERS"
1708 AC_SUBST(EXTERNAL_ACL_HELPERS)
1710 AC_ARG_WITH(valgrind-debug,
1711 [ --with-valgrind-debug Include debug instrumentation for use with valgrind],
1720 CPPFLAGS="$CPPFLAGS -I${enableval}/include"
1724 if test $valgrind; then
1725 AC_DEFINE(WITH_VALGRIND, 1, [Valgrind memory debugger support])
1726 echo "Valgrind debug support enabled"
1730 dnl Disable "memPools" code
1731 AC_ARG_ENABLE(mempools,
1732 [ --disable-mempools Disable memPools. Note that this option now simply sets the
1733 default behaviour. Specific classes can override this at runtime, and
1734 only lib/MemPool.c needs to be altered to change the squid-wide
1735 default for all classes.],
1736 [ if test "$enableval" = "no" ; then
1737 echo "memPools disabled"
1738 AC_DEFINE(DISABLE_POOLS, 1, [Define if you have problems with memPools and want to disable Pools])
1740 AC_DEFINE(DISABLE_POOLS, 0, [Define if you have problems with memPools and want to disable Pools.])
1743 [ AC_DEFINE(DISABLE_POOLS, 0, [Define if you have problems with memPools and want to disable Pools.])
1746 dnl Enable WIN32 Service compile mode
1747 AC_ARG_ENABLE(win32-service,
1748 [ --enable-win32-service Compile Squid as a WIN32 Service
1749 Works only on Windows NT and Windows 2000 Platforms.],
1750 [ if test "$enableval" = "yes" ; then
1751 echo "Enabling WIN32 run service mode"
1752 AC_DEFINE(USE_WIN32_SERVICE,1,[Define Windows NT & Windows 2000 run service mode])
1757 dnl Check for Cyrus SASL
1758 if test "$require_sasl" = "yes"; then
1759 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
1760 if test "$ac_cv_header_sasl_sasl_h" = "yes"; then
1764 if test "$ac_cv_header_sasl_h" = "yes"; then
1768 echo "ERROR: Neither SASL nor SASL2 found"
1775 dnl Disable "unlinkd" code
1776 AC_ARG_ENABLE(unlinkd,
1777 [ --disable-unlinkd Do not use unlinkd],
1778 [ if test "$enableval" = "no" ; then
1784 # Here we should probably use some magic depending on the selected
1788 if test "$use_unlinkd" = "yes"; then
1789 echo "unlinkd enabled"
1790 AC_DEFINE(USE_UNLINKD,1,[Define this if unlinkd is required (strongly recommended for ufs storage type)])
1791 AM_CONDITIONAL(ENABLE_UNLINKD, true)
1793 echo "unlinkd disabled"
1794 AM_CONDITIONAL(ENABLE_UNLINKD, false)
1797 dnl Enable backtraces on fatal errors
1798 AC_ARG_ENABLE(stacktraces,
1799 [ --enable-stacktraces Enable automatic call backtrace on fatal errors],
1800 [ if test "$enableval" = "yes" ; then
1801 echo "Enabling automatic stack backtraces on fatal errors"
1802 AC_DEFINE(PRINT_STACK_TRACE, 1,[Print stacktraces on fatal errors])
1806 AM_CONDITIONAL(ENABLE_XPROF_STATS, false)
1807 dnl Enable USE_XPROF_STATS
1808 AC_ARG_ENABLE(cpu-profiling,
1809 [ --enable-cpu-profiling
1810 This option allows you to see which internal functions
1811 in Squid are consuming how much CPU. Compiles in probes
1812 that measure time spent in probed functions. Needs
1813 source modifications to add new probes. This is meant
1814 for developers to assist in performance optimisations
1815 of Squid internal functions.
1816 If you are not developer and not interested in the stats
1817 you shouldn't enable this, as overhead added, although
1818 small, is still overhead. See lib/Profiler.c for more.
1820 [ if test "$enableval" = "yes" ; then
1821 echo "Enabling cpu-profiling"
1822 AC_DEFINE(USE_XPROF_STATS, 1,[Define to enable CPU profiling within Squid])
1823 AM_CONDITIONAL(ENABLE_XPROF_STATS, true)
1827 dnl Enable X-Accelerator-Vary for Vary support within an accelerator setup
1828 AC_ARG_ENABLE(x_accelerator_vary,
1829 [ --enable-x-accelerator-vary
1830 Enable support for the X-Accelerator-Vary
1831 HTTP header. Can be used to indicate
1832 variance within an accelerator setup.
1833 Typically used together with other code
1834 that adds custom HTTP headers to the requests.],
1835 [ if test "$enableval" = "yes" ; then
1836 echo "Enabling support for X-Accelerator-Vary"
1837 AC_DEFINE(X_ACCELERATOR_VARY, 1, [Enable support for the X-Accelerator-Vary HTTP header])
1841 dnl Enable IPv6 support
1842 AC_MSG_CHECKING([whether to enable IPv6])
1844 [ --enable-ipv6 Enable ipv6 support],
1845 [ AC_MSG_RESULT(yes)
1846 AC_CACHE_CHECK([if PF_INET6 is available], $enableval,
1848 [ /* PF_INET6 available check */
1849 # include <sys/types.h>
1850 # include <sys/socket.h>
1852 if (socket(PF_INET6, SOCK_STREAM, 0) < 0)
1858 [ AC_DEFINE(USE_IPV6,1,[Enable support for IPv6 ])
1861 [ AC_DEFINE(USE_IPV6,0,[0 == Disable support for IPv6])
1862 AC_DEFINE(IPV6_SPECIAL_SPLITSTACK,0,[0 == Disable support for Split-Stack IPv6 Implementations])
1863 AC_DEFINE(IPV6_SPECIAL_LOCALHOST,0,[0 == Keep IPv4 and IPv6 Localhosts seperate.])
1864 AC_DEFINE(IPV6_SPECIAL_V4MAPPING,0,[0 == Leave all v4-mapping to OS Implementation])
1869 [ AC_DEFINE(USE_IPV6,0,[Disable support for IPv6])
1870 AC_DEFINE(IPV6_SPECIAL_SPLITSTACK,0,[ 0 == Disable support for Split-Stack IPv6 Implementations])
1871 AC_DEFINE(IPV6_SPECIAL_LOCALHOST,0,[ 0 == Keep IPv4 and IPv6 Localhosts seperate.])
1872 AC_DEFINE(IPV6_SPECIAL_V4MAPPING,0,[ 0 == Leave v4-mapping to OS Implementation])
1875 if test $ac_cv_enable_ipv6 ; then
1876 dnl Check for Windows XP option
1877 AC_MSG_CHECKING([for IPv6 split-stack requirement])
1878 AC_ARG_WITH(ipv6-split-stack,
1879 [ --with-ipv6-split-stack Require IPv6 split-stack support (Requires IPv6 Support)],
1880 [AC_DEFINE(IPV6_SPECIAL_SPLITSTACK, 1, [ 1 == Enable support for IPv6 on split-stack implementations]) AC_MSG_RESULT(yes)],
1881 [AC_DEFINE(IPV6_SPECIAL_SPLITSTACK, 0, [ 0 == Disable support for split-stack IPv6 implementations]) AC_MSG_RESULT(no)]
1884 dnl Check for IPv6 Windows Vista option
1885 AC_MSG_CHECKING([for IPv6 v4-mapping requirement])
1886 AC_ARG_WITH(ipv4-mapped,
1887 [ --with-ipv4-mapped Hybrid-Stack OS require Squid to do any v4-mapping (Requires IPv6 Support)],
1888 [AC_DEFINE(IPV6_SPECIAL_V4MAPPING, 1, [ 1 == Perform v4-mapping internally]) AC_MSG_RESULT(yes)],
1889 [AC_DEFINE(IPV6_SPECIAL_V4MAPPING, 0, [ 0 == Leave all v4-mapping to the OS]) AC_MSG_RESULT(no)]
1892 dnl Check for IPv6-pure option
1893 AC_MSG_CHECKING([for IPv6-Localhost requirement])
1894 AC_ARG_WITH(localhost-ipv6,
1895 [ --with-localhost-ipv6 Prefer IPv6 localhost address over IPv4 (Requires IPv6 Support).
1896 Treats 127.0.0.1 and ::1 as identical and converts all inputs of to ::1
1897 This depends on Dual-Stack support in the OS and all applications
1898 squid contacts via localhost being IPv6 enabled.
1899 Default: OFF. Treats these two IP as different, squid.conf must
1900 define both 127.0.0.1 and ::1 for the localhost ACL, etc. ],
1901 [AC_DEFINE(IPV6_SPECIAL_LOCALHOST, 1, [ 1 == Convert IPv4-localhost requests to IPv6.]) AC_MSG_RESULT(yes)],
1902 [AC_DEFINE(IPV6_SPECIAL_LOCALHOST, 0, [ 0 == Keep IPv4 and IPv6 Localhosts seperate.]) AC_MSG_RESULT(no)]
1904 # end IPv6-only options
1907 AC_ARG_ENABLE(zph-qos,
1908 [ --enable-zph-qos Enable ZPH QOS support],
1909 [ if test "$enableval" = "yes" ; then
1910 echo "ZPH QOS enabled"
1911 AC_DEFINE(USE_ZPH_QOS,1,
1912 [ Define this to use Squid's ZPH (Zero Penalty Hit) QOS features.
1913 When enabled, Squid will alter TOS field of HIT responses for better QOS on intermediate routing/shaping devices.])
1917 dnl Optional CNAME-Recursion by Internal DNS engine
1918 AC_MSG_CHECKING([whether DNS CNAME recursion wanted])
1919 AC_ARG_WITH(dns-cname,
1920 [ --with-dns-cname Enable CNAME-Recursion in Internal DNS stub.],
1921 [AC_DEFINE(DNS_CNAME, 1, [ 1 == Enable expermental CNAME recursion inside Squid DNS resolver stub]) AC_MSG_RESULT(yes)],
1922 [AC_DEFINE(DNS_CNAME, 0, [ 0 == Disable expermental CNAME recursion inside Squid DNS resolver stub]) AC_MSG_RESULT(no)]
1925 dnl Check whether this OS defines ss_len as a member of sockaddr_storage
1926 AC_CACHE_CHECK([for ss_len field in struct sockaddr_storage],
1927 ac_cv_have_ss_len_in_struct_ss, [
1929 #include <sys/types.h>
1930 #include <sys/socket.h>
1931 #include <netinet/in.h>
1933 [ struct sockaddr_storage s; s.ss_len = 1; ],
1934 [ ac_cv_have_ss_len_in_struct_ss="yes" ],
1935 [ ac_cv_have_ss_len_in_struct_ss="no" ]
1938 if test "x$ac_cv_have_ss_len_in_struct_ss" = "xyes" ; then
1939 AC_DEFINE(HAVE_SS_LEN_IN_SS, 1, [Does struct sockaddr_storage have ss_len? 1: Yes, 0: No])
1941 AC_DEFINE(HAVE_SS_LEN_IN_SS, 0, [Does struct sockaddr_storage have ss_len? 1: Yes, 0: No])
1944 dnl Check whether this OS defines sin_len as a member of sockaddr_in as a backup to ss_len
1945 AC_CACHE_CHECK([for sin_len field in struct sockaddr_in],
1946 ac_cv_have_sin_len_in_struct_sai, [
1948 #include <sys/types.h>
1949 #include <sys/socket.h>
1951 [ struct sockaddr_in s; s.sin_len = 1; ],
1952 [ ac_cv_have_sin_len_in_struct_sai="yes" ],
1953 [ ac_cv_have_sin_len_in_struct_sai="no" ]
1956 if test "x$ac_cv_have_sin_len_in_struct_sai" = "xyes" ; then
1957 AC_DEFINE(HAVE_SIN_LEN_IN_SAI, 1, [Does struct sockaddr_in have sin_len? 1: Yes, 0: No])
1959 AC_DEFINE(HAVE_SIN_LEN_IN_SAI, 0, [Does struct sockaddr_in have sin_len? 1: Yes, 0: No])
1962 dnl Check whether this OS defines sin6_len as a member of sockaddr_in6 as a backup to ss_len
1963 AC_CACHE_CHECK([for sin6_len field in struct sockaddr_in6],
1964 ac_cv_have_sin6_len_in_struct_sai, [
1966 #include <sys/types.h>
1967 #include <sys/socket.h>
1969 [ struct sockaddr_in6 s; s.sin6_len = 1; ],
1970 [ ac_cv_have_sin6_len_in_struct_sai="yes" ],
1971 [ ac_cv_have_sin6_len_in_struct_sai="no" ]
1974 if test "x$ac_cv_have_sin6_len_in_struct_sai" = "xyes" ; then
1975 AC_DEFINE(HAVE_SIN6_LEN_IN_SAI, 1, [Does struct sockaddr_in6 have sin6_len? 1: Yes, 0: No])
1977 AC_DEFINE(HAVE_SIN6_LEN_IN_SAI, 0, [Does struct sockaddr_in6 have sin6_len? 1: Yes, 0: No])
1981 AC_ARG_WITH(filedescriptors,
1982 [ --with-filedescriptors=NUMBER
1983 Force squid to support NUMBER filedescriptors],
1984 [ squid_filedescriptors_num=$withval ])
1986 AC_PATH_PROG(CPPUNITCONFIG, cppunit-config, false)
1987 if $CPPUNITCONFIG --help >/dev/null; then
1988 echo "using system installed cppunit"
1989 SQUID_CPPUNIT_LIBS="`$CPPUNITCONFIG --libs`"
1991 SQUID_CPPUNIT_INC="`$CPPUNITCONFIG --cflags`"
1993 echo "cppunit does not appear to be installed. squid does not require this, but code testing with 'make check' will fail."
1995 SQUID_CPPUNIT_LIBS=''
1996 SQUID_CPPUNIT_INC=''
1999 AC_ARG_WITH(cppunit-basedir,
2000 [ --with-cppunit-basedir=/path/to/cppunit-base
2001 Path where the cppunit headers are libraries are found
2004 [ if test -f $withval/include/cppunit/TestCase.h; then
2005 echo "Using cppunit includes from $withval"
2006 SQUID_CPPUNIT_INC="-I${withval}/include"
2008 echo "ERROR: Cannot find cppunit at $withval"
2011 if test -f $withval/lib/libcppunit.la; then
2012 echo "Using cppunit lib from $withval"
2013 SQUID_CPPUNIT_LA="${withval}/lib/libcppunit.la"
2014 SQUID_CPPUNIT_LIBS='$(SQUID_CPPUNIT_LA)'
2016 echo "ERROR: Cannot find cppunit at $withval"
2020 AC_SUBST(SQUID_CPPUNIT_LIBS)
2021 AC_SUBST(SQUID_CPPUNIT_LA)
2022 AC_SUBST(SQUID_CPPUNIT_INC)
2024 # Force some compilers to use ANSI features
2028 if test "$ac_cv_prog_CC" = "cc" ; then
2029 echo "adding '-std1' to cc args for $host"
2035 if test "$ac_cv_prog_CC" = "cc" ; then
2036 echo "adding '-Ae' to cc args for $host"
2043 dnl Check for programs
2047 AC_PATH_PROG(SH, sh, /bin/sh)
2048 AC_PATH_PROG(FALSE, false, /usr/bin/false)
2049 AC_PATH_PROG(TRUE, true, /usr/bin/true)
2050 AC_PATH_PROG(RM, rm, $FALSE)
2051 AC_PATH_PROG(MV, mv, $FALSE)
2052 AC_PATH_PROG(MKDIR, mkdir, $FALSE)
2053 AC_PATH_PROG(LN, ln, cp)
2054 AC_PATH_PROG(PERL, perl, none)
2055 dnl automake handles this AC_PATH_PROG(MAKEDEPEND, makedepend, $TRUE)
2056 AC_PATH_PROG(AR, ar, $FALSE)
2058 if test "$ac_cv_path_PERL" = "none"; then
2059 echo "Perl is required to compile Squid"
2060 echo "Please install Perl and then re-run configure"
2066 echo "Disabling 'ranlib' for HP-UX..."
2080 dnl Check for headers
2112 netinet/in_systm.h \
2113 netinet/ip_fil_compat.h \
2171 linux/netfilter_ipv4.h \
2172 linux/netfilter_ipv4/ip_tproxy.h \
2174 SQUID_DEFAULT_INCLUDES
2180 dnl *BSD dont include the depenencies for all their net/ and netinet/ files
2181 dns We must include a few basic type headers for them to work.
2188 netinet/ip_compat.h\
2197 SQUID_BSDNET_INCLUDES)
2199 AC_CHECK_HEADERS([libxml/parser.h], [], [
2200 SAVED_CPPFLAGS="$CPPFLAGS"
2201 CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS"
2202 unset ac_cv_header_libxml_parser_h
2203 AC_CHECK_HEADERS([libxml/parser.h], [], [
2204 CPPFLAGS="$SAVED_CPPFLAGS"
2212 AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[
2215 #include <sys/time.h>
2222 AC_CHECK_TYPE(struct mallinfo,AC_DEFINE(HAVE_STRUCT_MALLINFO,1,[The system provides struct mallinfo]),,[
2223 #if HAVE_SYS_TYPES_H
2224 #include <sys/types.h>
2230 AC_CHECK_MEMBERS([struct mallinfo.mxfast],,,[
2231 #if HAVE_SYS_TYPES_H
2232 #include <sys/types.h>
2238 dnl Override rusage() detect on MinGW because is emulated in source code
2241 AC_DEFINE(HAVE_STRUCT_RUSAGE)
2242 ac_cv_func_getrusage='yes'
2243 echo "Using own rusage on Windows."
2246 AC_CHECK_TYPE(struct rusage,AC_DEFINE(HAVE_STRUCT_RUSAGE,1,[The system provides struct rusage]),,[
2248 #include <sys/time.h>
2250 #if HAVE_SYS_RESOURCE_H
2251 #include <sys/resource.h>
2256 AC_CHECK_MEMBERS([struct iphdr.ip_hl],,,[
2257 #if HAVE_SYS_TYPES_H
2258 #include <sys/types.h>
2260 #include <netinet/in.h>
2261 #include <netinet/in_systm.h>
2262 #include <netinet/ip.h>
2263 #if defined (__linux__) || defined (__CYGWIN__)
2272 dnl Check for typedefs
2273 AC_CHECK_SIZEOF(void *)
2275 dnl 8 bit integers - int8_t
2276 dnl if this is defined we trust it to be 8 bits
2277 AC_CHECK_TYPE(int8_t,[
2278 AC_CHECK_SIZEOF(int8_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2279 AC_DEFINE(HAVE_INT8_T,1,[int8_t is defined in system headers])
2280 ],,SQUID_DEFAULT_INCLUDES)
2283 AC_CHECK_TYPE(char,[
2284 AC_CHECK_SIZEOF(char,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2285 AC_DEFINE(HAVE_CHAR,1,[char is defined in system headers])
2286 ],,SQUID_DEFAULT_INCLUDES)
2288 dnl unsigned 8 bit ints - u_int8_t
2289 dnl if this is defined we trust it to be 8 bits
2290 AC_CHECK_TYPE(u_int8_t,[
2291 AC_CHECK_SIZEOF(u_int8_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2292 AC_DEFINE(HAVE_U_INT8_T,1,[u_int8_t is defined in system headers])
2293 ],,SQUID_DEFAULT_INCLUDES)
2296 dnl if this is defined we trust it to be 8 bits
2297 AC_CHECK_TYPE(uint8_t,[
2298 AC_CHECK_SIZEOF(uint8_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2299 AC_DEFINE(HAVE_UINT8_T,1,[uint8_t is defined in system headers])
2300 ],,SQUID_DEFAULT_INCLUDES)
2302 dnl 16 bit integers - int16_t
2303 dnl if this is defined we trust it to be 16 bits
2304 AC_CHECK_TYPE(int16_t,[
2305 AC_CHECK_SIZEOF(int16_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2306 AC_DEFINE(HAVE_INT16_T,1,[int16_t is defined in system headers])
2307 ],,SQUID_DEFAULT_INCLUDES)
2310 AC_CHECK_TYPE(short,[
2311 AC_CHECK_SIZEOF(short,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2312 AC_DEFINE(HAVE_SHORT,1,[short is defined in system headers])
2313 ],,SQUID_DEFAULT_INCLUDES)
2317 AC_CHECK_SIZEOF(int,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2318 AC_DEFINE(HAVE_INT,1,[int is defined in system headers])
2319 ],,SQUID_DEFAULT_INCLUDES)
2321 dnl unsigned 16 bit ints - u_int16_t
2322 dnl if this is defined we trust it to be 16 bits
2323 AC_CHECK_TYPE(u_int16_t,[
2324 AC_CHECK_SIZEOF(u_int16_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2325 AC_DEFINE(HAVE_U_INT16_T,1,[u_int16_t is defined in system headers])
2326 ],,SQUID_DEFAULT_INCLUDES)
2329 dnl if this is defined we trust it to be 16 bits
2330 AC_CHECK_TYPE(uint16_t,[
2331 AC_CHECK_SIZEOF(uint16_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2332 AC_DEFINE(HAVE_UINT16_T,1,[uint16_t is defined in system headers])
2333 ],,SQUID_DEFAULT_INCLUDES)
2335 dnl 32 bit signed int - int32_t
2336 dnl if this is defined we trust it to be 32 bits
2337 AC_CHECK_TYPE(int32_t,[
2338 AC_CHECK_SIZEOF(int32_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2339 AC_DEFINE(HAVE_INT32_T,1,[int32_t is defined in system headers])
2340 ],,SQUID_DEFAULT_INCLUDES)
2343 AC_CHECK_TYPE(long,[
2344 AC_CHECK_SIZEOF(long,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2345 AC_DEFINE(HAVE_LONG,1,[long is defined in system headers])
2346 ],,SQUID_DEFAULT_INCLUDES)
2348 dnl 32 bit unsigned int - u_int32_t
2349 dnl if this is defined we trust it to be 32 bits
2350 AC_CHECK_TYPE(u_int32_t,[
2351 AC_CHECK_SIZEOF(u_int32_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2352 AC_DEFINE(HAVE_U_INT32_T,1,[u_int32_t is defined in system headers])
2353 ],,SQUID_DEFAULT_INCLUDES)
2356 dnl if this is defined we trust it to be 32 bits
2357 AC_CHECK_TYPE(uint32_t,[
2358 AC_CHECK_SIZEOF(uint32_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2359 AC_DEFINE(HAVE_UINT32_T,1,[uint32_t is defined in system headers])
2360 ],,SQUID_DEFAULT_INCLUDES)
2362 dnl 64 bit signed - int64_t
2363 dnl if this is defind we trust it to be 64 bits
2364 AC_CHECK_TYPE(int64_t,[
2365 AC_CHECK_SIZEOF(int64_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2366 AC_DEFINE(HAVE_INT64_T,1,[int64_t is defined in system headers])
2367 ],,SQUID_DEFAULT_INCLUDES)
2370 dnl if this is defind we trust it to be 64 bits
2371 AC_CHECK_TYPE(__int64,[
2372 AC_CHECK_SIZEOF(__int64,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2373 AC_DEFINE(HAVE___INT64,1,[__int64 is defined in system headers])
2374 ],,SQUID_DEFAULT_INCLUDES)
2377 AC_CHECK_TYPE(long long,[
2378 AC_CHECK_SIZEOF(long long,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2379 AC_DEFINE(HAVE_LONG_LONG,1,[long long is defined in system headers])
2380 ],,SQUID_DEFAULT_INCLUDES)
2382 dnl 64 bit unsigned - u_int64_t
2383 dnl if this is defind we trust it to be 64 bits
2384 AC_CHECK_TYPE(u_int64_t,[
2385 AC_CHECK_SIZEOF(u_int64_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2386 AC_DEFINE(HAVE_U_INT64_T,1,[u_int64_t is defined in system headers])
2387 ],,SQUID_DEFAULT_INCLUDES)
2390 dnl if this is defind we trust it to be 64 bits
2391 AC_CHECK_TYPE(uint64_t,[
2392 AC_CHECK_SIZEOF(uint64_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2393 AC_DEFINE(HAVE_UINT64_T,1,[uint64_t is defined in system headers])
2394 ],,SQUID_DEFAULT_INCLUDES)
2396 dnl On Solaris 9 x86, gcc may includes a "fixed" set of old system include files
2397 dnl that is incompatible with the updated Solaris header files.
2398 dnl For this reason, we must check if pad128_t and upad128_t are defined.
2399 AC_CHECK_TYPE(pad128_t,
2400 AC_DEFINE(HAVE_PAD128_T,1,[pad128_t is defined in system headers]),
2401 ,SQUID_DEFAULT_INCLUDES)
2403 AC_CHECK_TYPE(upad128_t,
2404 AC_DEFINE(HAVE_UPAD128_T,1,[upad128_t is defined in system headers]),
2405 ,SQUID_DEFAULT_INCLUDES)
2407 AC_CHECK_TYPE(pid_t, AC_DEFINE(HAVE_PID_T,1,[pid_t is defined by the system headers]),,SQUID_DEFAULT_INCLUDES)
2408 AC_CHECK_TYPE(size_t, [AC_CHECK_SIZEOF(size_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2409 AC_DEFINE(HAVE_SIZE_T,1,[size_t is defined by the system headers])],,SQUID_DEFAULT_INCLUDES)
2410 AC_CHECK_TYPE(ssize_t, AC_DEFINE(HAVE_SSIZE_T,1,[ssize_t is defined by the system headers]),,SQUID_DEFAULT_INCLUDES)
2411 AC_CHECK_TYPE(off_t,[ AC_CHECK_SIZEOF(off_t,,SQUID_DEFAULT_SIZEOF_INCLUDES)
2412 AC_DEFINE(HAVE_OFF_T,1,[off_t is defined by the system headers])],,SQUID_DEFAULT_INCLUDES)
2413 AC_CHECK_TYPE(mode_t, AC_DEFINE(HAVE_MODE_T,1,[mode_t is defined by the system headers]),,SQUID_DEFAULT_INCLUDES)
2414 AC_CHECK_TYPE(fd_mask, AC_DEFINE(HAVE_FD_MASK,1,[fd_mask is defined by the system headers]),,SQUID_DEFAULT_INCLUDES)
2416 dnl Check for special functions
2419 AC_CHECK_TYPE(socklen_t,AC_DEFINE(HAVE_SOCKLEN_T,1,[socklen_t is defined by the system headers]),,[
2420 #include <sys/types.h>
2421 #include <sys/socket.h>
2427 AC_CHECK_TYPE(mtyp_t,AC_DEFINE(HAVE_MTYP_T,1,[mtyp_t is defined by the system headers]),,[#include <sys/types.h>
2428 #include <sys/ipc.h>
2429 #include <sys/msg.h>])
2431 dnl Check for needed libraries
2432 AC_CHECK_LIB(nsl, main)
2433 AC_CHECK_LIB(socket, main)
2436 AC_MSG_CHECKING(for winsock)
2438 for curlib in ws2_32 wsock32; do
2439 LIBS="$LIBS -l$curlib"
2441 char __attribute__((stdcall)) socket(int,int,int);
2442 char __attribute__((stdcall)) select(int,int,int,int,int);
2443 char __attribute__((stdcall)) closesocket(int);
2444 char __attribute__((stdcall)) gethostname(int,int);
2452 have_winsock=yes, have_winsock=no)
2454 if test $have_winsock = yes; then
2455 ac_cv_func_select='yes'
2456 if test $curlib = ws2_32; then
2457 have_winsock=winsock2
2463 AC_MSG_RESULT($have_winsock)
2467 dnl Ripped from the Samba sources
2468 AC_CACHE_CHECK([for unix domain sockets],squid_cv_unixsocket, [
2470 #include <sys/types.h>
2473 #include <sys/socket.h>
2474 #include <sys/un.h>],
2476 struct sockaddr_un sunaddr;
2477 sunaddr.sun_family = AF_UNIX;
2479 squid_cv_unixsocket=yes,squid_cv_unixsocket=no)])
2480 if test x"$squid_cv_unixsocket" = x"yes"; then
2481 AC_DEFINE(HAVE_UNIXSOCKET,1,[Do we have unix sockets? (required for the winbind ntlm helper])
2485 AC_CHECK_LIB(gnumalloc, main)
2486 if test "$ac_cv_lib_gnumalloc_main" = "yes"; then
2487 echo "Disabling extended malloc functions when using gnumalloc"
2488 ac_cv_func_mallinfo=no
2489 ac_cv_func_mallocblksize=no
2490 ac_cv_func_mallopt=no
2494 echo "skipping libmalloc check for $host"
2497 echo "skipping libmalloc check for $host"
2501 AC_CHECK_LIB(malloc, main)
2506 AC_CHECK_LIB(bsd, main)
2507 AC_CHECK_LIB(regex, main, [REGEXLIB="-lregex"])
2508 AC_CHECK_LIB(bind, gethostbyname)
2509 if test $ac_cv_lib_bind_gethostbyname = "no" ; then
2512 echo "skipping libresolv checks for $host"
2515 AC_CHECK_LIB(resolv, main)
2521 echo "Use MSVCRT for math functions."
2524 AC_CHECK_LIB(m, main)
2528 dnl Check for libcrypt
2529 dnl Some of our helpers use crypt(3) which may be in libc, or in
2530 dnl libcrypt (eg FreeBSD)
2531 AC_CHECK_LIB(crypt, crypt, [CRYPTLIB="-lcrypt"])
2533 dnl Solaris10 provides MD5 natively through libmd5
2534 AC_CHECK_LIB(md5, MD5Init, [CRYPTLIB="$CRYPTLIB -lmd5"])
2538 dnl Check for libdl, used by auth_modules/PAM
2539 if test "$with_dl" = "yes"; then
2540 AC_CHECK_LIB(dl, dlopen)
2543 dnl Check for pthreads
2544 dnl We use pthreads when doing ASYNC I/O
2545 if test "$with_pthreads" = "yes"; then
2546 SQUID_CFLAGS="$SQUID_CFLAGS -D_REENTRANT"
2547 SQUID_CXXFLAGS="$SQUID_CXXFLAGS -D_REENTRANT"
2549 i386-unknown-freebsd*)
2550 if test "$GCC" = "yes" ; then
2551 if test -z "$PRESET_LDFLAGS"; then
2552 LDFLAGS="$LDFLAGS -pthread"
2557 if test "$GCC" = "yes" ; then
2558 SQUID_CFLAGS="$SQUID_CFLAGS -pthreads"
2559 SQUID_CXXFLAGS="$SQUID_CXXFLAGS -pthreads"
2561 SQUID_CFLAGS="$SQUID_CFLAGS -mt"
2562 SQUID_CXXFLAGS="$SQUID_CXXFLAGS -mt"
2566 AC_CHECK_LIB(pthread, main)
2570 dnl We use AIO in the coss store
2571 if test "$with_aio" = "yes"; then
2572 dnl On some systems POSIX AIO functions are in libaio
2573 AC_CHECK_LIB(rt, aio_read,,AC_CHECK_LIB(aio, aio_read))
2576 dnl -lintl is needed on SCO version 3.2v4.2 for strftime()
2577 dnl Robert Side <rside@aiinc.bc.ca>
2578 dnl Mon, 18 Jan 1999 17:48:00 GMT
2581 AC_CHECK_LIB(intl, strftime)
2585 dnl On MinGW OpenLDAP is not available, so LDAP helpers can be linked
2586 dnl only with Windows LDAP libraries using -lwldap32
2589 LIB_LDAP="-lwldap32"
2594 dnl LDAP helpers need to know if -llber is needed or not
2595 AC_CHECK_LIB(lber, main, [LIB_LBER="-llber"])
2604 AC_CACHE_CHECK(if dbopen needs -ldb,ac_cv_dbopen_libdb, [
2605 SAVED_LIBS="$LIBS"; LIBS="$LIBS -ldb"
2607 #if HAVE_SYS_TYPES_H
2608 #include <sys/types.h>
2618 [dbopen((void *)0L, 0, 0, DB_HASH, (void *)0L)],
2619 ac_cv_dbopen_libdb="yes",
2620 ac_cv_dbopen_libdb="no")
2623 if test $ac_cv_dbopen_libdb = yes; then
2628 dnl System-specific library modifications
2632 if test "$GCC" = "yes"; then
2633 echo "Removing -O for gcc on $host"
2634 CFLAGS="`echo $CFLAGS | sed -e 's/-O[[0-9]]*//'`"
2638 echo "Removing -lsocket for IRIX..."
2639 LIBS=`echo $LIBS | sed -e s/-lsocket//`
2640 echo "Removing -lnsl for IRIX..."
2641 LIBS=`echo $LIBS | sed -e s/-lnsl//`
2642 ac_cv_lib_nsl_main=no
2643 echo "Removing -lbsd for IRIX..."
2644 LIBS=`echo $LIBS | sed -e s/-lbsd//`
2646 dnl From: c0032033@ws.rz.tu-bs.de (Joerg Schumacher)
2647 dnl Date: Thu, 17 Oct 1996 04:09:30 +0200
2648 dnl Please change your configure script. AIX doesn't need -lbsd.
2650 echo "Removing -lbsd for AIX..."
2651 LIBS=`echo $LIBS | sed -e s/-lbsd//`
2654 SQUID_CFLAGS="$SQUID_CFLAGS -D_SQUID_MOTOROLA_"
2655 SQUID_CXXFLAGS="$SQUID_CXXFLAGS -D_SQUID_MOTOROLA_"
2656 AC_DEFINE(GETTIMEOFDAY_NO_TZP,1,[If gettimeofday is known to take only one argument])
2658 [*-*-solaris2.[0-4]])
2659 AC_DEFINE(GETTIMEOFDAY_NO_TZP,1)
2661 [*-sony-newsos[56]*])
2662 AC_DEFINE(GETTIMEOFDAY_NO_TZP,1)
2666 # Remove optimization for GCC 2.95.[123]
2667 # gcc -O[2] on *BSD and Linux (x86) causes pointers to magically become NULL
2668 if test "$GCC" = "yes"; then
2669 GCCVER=`$CC -v 2>&1 | awk '$2 == "version" {print $3}'`
2672 echo "Removing -O for gcc on $host with GCC $GCCVER"
2673 CFLAGS="`echo $CFLAGS | sed -e 's/-O[[0-9]]*//'`"
2678 # Recommended by Balint Nagy Endre <bne@CareNet.hu>
2681 if test `uname -v` = "2.03"; then
2682 echo "disabling mallinfo for $host"
2683 ac_cv_func_mallinfo=no
2688 dnl This has to be before AC_CHECK_FUNCS
2689 # Disable poll() on certain platforms. Override by setting ac_cv_func_poll
2690 # when running configure.
2691 if test -z "$ac_cv_func_poll"; then
2694 # John Kay (jkay@nlanr.net) 19970818
2695 echo "disabling poll for $host..."
2696 ac_cv_func_poll='no'
2700 echo "disabling poll for $host..."
2701 ac_cv_func_poll='no'
2704 # Henrik Nordstrom (hno@squid-cache.org) 19980817
2705 # poll is problematic on Linux. We disable it
2706 # by default until Linux gets it right.
2707 rev=`uname -r | awk -F. '{printf "%03d%03d",$1,$2}'`
2708 if test $rev -lt 002002; then
2709 echo "disabling poll for $host < 2.2..."
2710 ac_cv_func_poll='no'
2713 [powerpc-ibm-aix4.1.*])
2714 # Mike Laster (mlaster@metavillage.com) 19981021
2715 echo "disabling poll for $host..."
2716 ac_cv_func_poll='no'
2719 # Robert Side <rside@aiinc.bc.ca>
2720 # Mon, 18 Jan 1999 17:48:00 GMT
2721 echo "disabling poll for $host..."
2722 ac_cv_func_poll='no'
2727 dnl Override statfs() detect on MinGW becasue is emulated in source code
2730 ac_cv_func_statfs='yes'
2734 dnl Check for library functions
2736 backtrace_symbols_fd \
2766 pthread_attr_setschedparam \
2767 pthread_attr_setscope \
2768 pthread_setschedparam \
2798 dnl ... and some we provide local replacements for
2810 # check for crypt, may require -lcrypt
2812 LIBS="$LIBS $CRYPTLIB"
2813 AC_CHECK_FUNCS(crypt)
2816 # Check for libepoll
2818 AC_CHECK_LIB(epoll, epoll_ctl, [EPOLL_LIBS="-lepoll"])
2819 AC_SUBST(EPOLL_LIBS)
2821 # Check for epoll_ctl, may need -lepoll
2823 LIBS="$LIBS $LIB_EPOLL"
2824 AC_CHECK_FUNCS(epoll_ctl)
2827 dnl Verify that epoll really works
2828 if test $ac_cv_func_epoll_ctl = yes; then
2829 AC_CACHE_CHECK(if epoll works, ac_cv_epoll_works,
2831 #include <sys/epoll.h>
2834 int main(int argc, char **argv)
2836 int fd = epoll_create(256);
2838 perror("epoll_create:");
2843 ], [ac_cv_epoll_works=yes], [ac_cv_epoll_works=no]))
2846 dnl Magic which checks whether we are forcing a type of comm loop we
2847 dnl are actually going to (ab)use
2849 dnl Actually do the define magic now
2850 dnl mostly ripped from squid-commloops, thanks to adrian and benno
2852 if test -n "$SELECT_TYPE"; then
2853 : # Already decided above. Nothing to do here
2854 elif test -z "$disable_epoll" && test "$ac_cv_epoll_works" = "yes" ; then
2856 elif test -z "$disable_kqueue" && test "$ac_cv_func_kqueue" = "yes" ; then
2857 SELECT_TYPE="kqueue"
2858 elif test -z "$disable_poll" && test "$ac_cv_func_poll" = "yes" ; then
2860 elif test -z "$disable_select" && test "$ac_cv_func_select" = "yes" ; then
2863 SELECT_TYPE="select_win32"
2866 SELECT_TYPE="select"
2870 echo "Eep! Can't find poll, kqueue, epoll, or select!"
2871 echo "I'll try select and hope for the best."
2872 SELECT_TYPE="select"
2873 AC_DEFINE(USE_SELECT,1)
2876 echo "Using ${SELECT_TYPE} for the IO loop."
2878 AM_CONDITIONAL([USE_POLL], [test $SELECT_TYPE = poll])
2879 AM_CONDITIONAL([USE_EPOLL], [test $SELECT_TYPE = epoll])
2880 AM_CONDITIONAL([USE_SELECT], [test $SELECT_TYPE = select])
2881 AM_CONDITIONAL([USE_SELECT_SIMPLE], [test $SELECT_TYPE = select_simple])
2882 AM_CONDITIONAL([USE_SELECT_WIN32], [test $SELECT_TYPE = select_win32])
2883 AM_CONDITIONAL([USE_KQUEUE], [test $SELECT_TYPE = kqueue])
2884 AM_CONDITIONAL([USE_DEVPOLL], [test $SELECT_TYPE = devpoll])
2886 case $SELECT_TYPE in
2888 AC_DEFINE(USE_EPOLL,1,[Use epoll() for the IO loop])
2891 AC_DEFINE(USE_POLL,1,[Use poll() for the IO loop])
2894 AC_DEFINE(USE_KQUEUE,1,[Use kqueue() for the IO loop])
2897 AC_DEFINE(USE_SELECT_WIN32,1,[Use Winsock select() for the IO loop])
2900 AC_DEFINE(USE_SELECT,1,[Use select() for the IO loop])
2906 dnl Yay! Another Linux brokenness. Its not good enough
2907 dnl to know that setresuid() exists, because RedHat 5.0 declares
2908 dnl setresuid() but doesn't implement it.
2910 AC_CACHE_CHECK(if setresuid is implemented, ac_cv_func_setresuid,
2914 if(setresuid(-1,-1,-1)) {
2915 perror("setresuid:");
2920 ],ac_cv_func_setresuid="yes",ac_cv_func_setresuid="no")
2922 if test "$ac_cv_func_setresuid" = "yes" ; then
2923 AC_DEFINE(HAVE_SETRESUID,1,[Yay! Another Linux brokenness. Its not good enough to know that setresuid() exists, because RedHat 5.0 declare setresuid() but doesn't implement it.])
2926 dnl Yay! This one is a MacOSX brokenness. Its not good enough
2927 dnl to know that strnstr() exists, because MacOSX 10.4 have a bad
2928 dnl copy that crashes with a buffer over-run!
2930 AC_CACHE_CHECK(if strnstr is well implemented, ac_cv_func_strnstr,
2935 // we expect this to succeed, or crash on over-run.
2936 // if it passes otherwise we may need a better check.
2937 int main(int argc, char **argv)
2940 char *str = malloc(size);
2941 memset(str, 'x', size);
2942 strnstr(str, "fubar", size);
2945 ],ac_cv_func_strnstr="yes",ac_cv_func_strnstr="no")
2947 if test "$ac_cv_func_strnstr" = "yes" ; then
2948 AC_DEFINE(HAVE_STRNSTR,1,[Yay! We have a working strnstr!])
2950 AC_DEFINE(HAVE_STRNSTR,0,[Yay! A MacOS X brokenness. Its not good enough to know that strnstr() exists, because MacOSX 10.4 and earlier may have a buffer overrun.])
2954 AM_CONDITIONAL(NEED_OWN_STRSEP, false)
2955 if test "$ac_cv_func_strsep" = "no" ; then
2956 AM_CONDITIONAL(NEED_OWN_STRSEP, true)
2959 AM_CONDITIONAL(NEED_OWN_STRTOLL, false)
2960 if test "$ac_cv_func_strtoll" = "no" ; then
2961 AM_CONDITIONAL(NEED_OWN_STRTOLL, true)
2965 dnl Test for va_copy
2967 AC_CACHE_CHECK(if va_copy is implemented, ac_cv_func_va_copy,
2970 void f (int i, ...) {
2971 va_list args1, args2;
2972 va_start (args1, i);
2973 va_copy (args2, args1);
2974 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
2976 va_end (args1); va_end (args2);
2982 ],ac_cv_func_va_copy="yes",ac_cv_func_va_copy="no")
2984 if test "$ac_cv_func_va_copy" = "yes" ; then
2985 AC_DEFINE(HAVE_VA_COPY, 1, [If your system have va_copy])
2989 dnl Some systems support __va_copy
2991 AC_CACHE_CHECK(if __va_copy is implemented, ac_cv_func___va_copy,
2994 void f (int i, ...) {
2995 va_list args1, args2;
2996 va_start (args1, i);
2997 __va_copy (args2, args1);
2998 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
3000 va_end (args1); va_end (args2);
3006 ],ac_cv_func___va_copy="yes",ac_cv_func___va_copy="no")
3008 if test "$ac_cv_func___va_copy" = "yes" ; then
3009 AC_DEFINE(HAVE___VA_COPY, 1, [Some systems have __va_copy instead of va_copy])
3012 dnl IP-Filter support requires ipf header files. These aren't
3013 dnl installed by default, so we need to check for them
3014 if test "$IPF_TRANSPARENT" ; then
3015 AC_MSG_CHECKING(if IP-Filter header files are installed)
3016 # hold on to your hats...
3017 if test "$ac_cv_header_ip_compat_h" = "yes" ||
3018 test "$ac_cv_header_ip_fil_compat_h" = "yes" ||
3019 test "$ac_cv_header_netinet_ip_compat_h" = "yes" ||
3020 test "$ac_cv_header_netinet_ip_fil_compat_h" = "yes" ; then
3021 have_ipfilter_compat_header="yes"
3023 if test "x$have_ipfilter_compat_header" = "xyes" &&
3024 test "$ac_cv_header_ip_fil_h" = "yes" &&
3025 test "$ac_cv_header_ip_nat_h" = "yes" ; then
3026 IPF_TRANSPARENT="yes"
3027 AC_DEFINE(IPF_TRANSPARENT, 1)
3028 elif test "$have_ipfilter_compat_header" = "yes" &&
3029 test "$ac_cv_header_netinet_ip_fil_h" = "yes" &&
3030 test "$ac_cv_header_netinet_ip_nat_h" = "yes" ; then
3031 IPF_TRANSPARENT="yes"
3032 AC_DEFINE(IPF_TRANSPARENT, 1)
3034 IPF_TRANSPARENT="no"
3035 AC_DEFINE(IPF_TRANSPARENT, 0)
3037 AC_MSG_RESULT($IPF_TRANSPARENT)
3039 if test "$IPF_TRANSPARENT" = "no" ; then
3040 echo "WARNING: Cannot find necessary IP-Filter header files"
3041 echo " Transparent Proxy support WILL NOT be enabled"
3043 elif test "$IPF_TRANSPARENT" = "yes" ; then
3044 dnl On Solaris Ipfilter includes expect that SOLARIS2 is defined with the
3045 dnl Solaris minor version (8, 9, 10, ...)
3048 solrev=`uname -r | sh -c 'IFS=. read j n x; echo $n'`
3049 CFLAGS="-DSOLARIS2=$solrev $CFLAGS"
3050 CXXFLAGS="-DSOLARIS2=$solrev $CXXFLAGS"
3057 dnl PF support requires a header file.
3058 if test "$PF_TRANSPARENT" ; then
3059 AC_MSG_CHECKING(if PF header file is installed)
3060 # hold on to your hats...
3061 if test "$ac_cv_header_net_pfvar_h" = "yes"; then
3062 PF_TRANSPARENT="yes"
3063 AC_DEFINE(PF_TRANSPARENT, 1)
3066 AC_DEFINE(PF_TRANSPARENT, 0)
3068 AC_MSG_RESULT($PF_TRANSPARENT)
3070 if test "$PF_TRANSPARENT" = "no" ; then
3071 echo "WARNING: Cannot find necessary PF header file"
3072 echo " Transparent Proxy support WILL NOT be enabled"
3076 dnl Linux-Netfilter support requires Linux 2.4 kernel header files.
3077 dnl Shamelessly copied from above
3078 if test "$LINUX_NETFILTER" ; then
3079 AC_MSG_CHECKING(if Linux (Netfilter) kernel header files are installed)
3080 # hold on to your hats...
3081 if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes"; then
3082 LINUX_NETFILTER="yes"
3083 AC_DEFINE(LINUX_NETFILTER, 1)
3085 LINUX_NETFILTER="no"
3086 AC_DEFINE(LINUX_NETFILTER, 0)
3088 AC_MSG_RESULT($LINUX_NETFILTER)
3090 if test "$LINUX_NETFILTER" = "no" ; then
3091 echo "WARNING: Cannot find necessary Linux kernel (Netfilter) header files"
3092 echo " Linux Transparent and Intercepting Proxy support WILL NOT be enabled"
3096 dnl Linux Netfilter/TPROXYv2 support requires some specific header files
3097 dnl Shamelessly copied from shamelessly copied from above
3098 if test "$LINUX_TPROXY2" ; then
3099 AC_MSG_CHECKING(if TPROXYv2 header files are installed)
3100 # hold on to your hats...
3101 if test "$ac_cv_header_linux_netfilter_ipv4_ip_tproxy_h" = "yes" && test "$LINUX_NETFILTER" = "yes"; then
3103 AC_DEFINE(LINUX_TPROXY2, 1, [Enable real Transparent Proxy support for Netfilter TPROXY v2.])
3106 AC_DEFINE(LINUX_TPROXY2, 0, [Enable real Transparent Proxy support for Netfilter TPROXY v2.])
3108 AC_MSG_RESULT($LINUX_TPROXY2)
3109 if test "$LINUX_TPROXY2" = "no" && test "$LINUX_NETFILTER" = "yes"; then
3110 echo "WARNING: Cannot find TPROXY v2 headers, you need to install the"
3111 echo "tproxy package from:"
3112 echo " - lynx http://www.balabit.com/downloads/tproxy/"
3113 echo "Or select the '--enable-linux-netfilter' option instead for Netfilter support."
3118 if test -z "$USE_GNUREGEX" ; then
3120 *-sun-solaris2.[[0-4]])
3128 AC_MSG_CHECKING(if GNUregex needs to be compiled)
3129 if test -z "$USE_GNUREGEX"; then
3130 if test "$ac_cv_func_regcomp" = "no" || test "$USE_GNUREGEX" = "yes" ; then
3133 AC_TRY_COMPILE([#include <sys/types.h>
3134 #include <regex.h>],[regex_t t; regcomp(&t,"",0);],
3139 AC_MSG_RESULT($USE_GNUREGEX)
3140 if test "$USE_GNUREGEX" = "yes"; then
3142 LIBREGEX="libregex.a"
3143 AC_DEFINE(USE_GNUREGEX,1,[Define if we should use GNU regex])
3148 dnl Not cached since people are likely to tune this
3149 AC_MSG_CHECKING(Default FD_SETSIZE value)
3158 #include <sys/time.h>
3160 #if HAVE_SYS_SELECT_H
3161 #include <sys/select.h>
3163 #if HAVE_SYS_TYPES_H
3164 #include <sys/types.h>
3167 FILE *fp = fopen("conftestval", "w");
3168 fprintf (fp, "%d\n", FD_SETSIZE);
3172 DEFAULT_FD_SETSIZE=`cat conftestval`,
3173 DEFAULT_FD_SETSIZE=256,
3174 DEFAULT_FD_SETSIZE=256)
3175 AC_MSG_RESULT($DEFAULT_FD_SETSIZE)
3176 AC_DEFINE_UNQUOTED(DEFAULT_FD_SETSIZE, $DEFAULT_FD_SETSIZE, [Default FD_SETSIZE value])
3179 dnl Not cached since people are likely to tune this
3180 AC_MSG_CHECKING(Maximum number of filedescriptors we can open)
3181 dnl damn! FreeBSD's pthreads breaks dup2().
3183 if test -n "$squid_filedescriptors_num" ; then
3184 SQUID_MAXFD=$squid_filedescriptors_num
3185 AC_MSG_RESULT($SQUID_MAXFD (user-forced))
3188 i386-unknown-freebsd*)
3189 if echo "$LDFLAGS" | grep -q pthread; then
3190 LDFLAGS=`echo $LDFLAGS | sed -e "s/-pthread//"`
3196 #include <sys/time.h> /* needed on FreeBSD */
3197 #include <sys/param.h>
3198 #include <sys/resource.h>
3202 #if defined(__CYGWIN32__) || defined (__CYGWIN__)
3203 /* getrlimit and sysconf returns bogous values on cygwin32.
3204 * Number of fds is virtually unlimited in cygwin (sys/param.h)
3205 * __CYGWIN32__ is deprecated.
3211 #if defined(RLIMIT_NOFILE)
3212 if (getrlimit(RLIMIT_NOFILE, &rl) < 0) {
3213 perror("getrlimit: RLIMIT_NOFILE");
3215 rl.rlim_cur = rl.rlim_max; /* set it to the max */
3216 if (setrlimit(RLIMIT_NOFILE, &rl) < 0) {
3217 perror("setrlimit: RLIMIT_NOFILE");
3220 #elif defined(RLIMIT_OFILE)
3221 if (getrlimit(RLIMIT_OFILE, &rl) < 0) {
3222 perror("getrlimit: RLIMIT_OFILE");
3224 rl.rlim_cur = rl.rlim_max; /* set it to the max */
3225 if (setrlimit(RLIMIT_OFILE, &rl) < 0) {
3226 perror("setrlimit: RLIMIT_OFILE");
3229 #endif /* RLIMIT_NOFILE */
3230 #endif /* HAVE_SETRLIMIT */
3231 /* by starting at 2^14, we will never get higher
3232 than 2^15 for SQUID_MAXFD */
3236 if (dup2(0, i) < 0) {
3244 #endif /* IF !DEF CYGWIN */
3245 fp = fopen("conftestval", "w");
3246 fprintf (fp, "%d\n", i & ~0x3F);
3250 SQUID_MAXFD=`cat conftestval`,
3253 dnl Microsoft MSVCRT.DLL supports 2048 maximum FDs
3259 AC_MSG_RESULT($SQUID_MAXFD)
3261 AC_DEFINE_UNQUOTED(SQUID_MAXFD, $SQUID_MAXFD,[Maximum number of open filedescriptors])
3262 if test "$SQUID_MAXFD" -lt 512 ; then
3263 echo "WARNING: $SQUID_MAXFD may not be enough filedescriptors if your"
3264 echo " cache will be very busy. Please see the FAQ page"
3265 echo " http://www.squid-cache.org/FAQ/FAQ-11.html#filedescriptors"
3266 echo " on how to increase your filedescriptor limit"
3271 if test `expr $SQUID_MAXFD % 64` != 0; then
3272 echo "WARNING: $SQUID_MAXFD is not an multiple of 64. This may cause issues"
3273 echo " on certain platforms."
3277 dnl Not cached since people are likely to tune this
3278 AC_MSG_CHECKING(Default UDP send buffer size)
3282 #include <sys/types.h>
3283 #include <sys/socket.h>
3284 #include <netinet/in.h>
3288 int fd,val=0,len=sizeof(int);
3289 if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) exit(1);
3290 if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) exit(1);
3291 if (val<=0) exit(1);
3292 fp = fopen("conftestval", "w");
3293 fprintf (fp, "%d\n", val);
3297 SQUID_DETECT_UDP_SO_SNDBUF=`cat conftestval`,
3298 SQUID_DETECT_UDP_SO_SNDBUF=16384,
3299 SQUID_DETECT_UDP_SO_SNDBUF=16384)
3300 AC_MSG_RESULT($SQUID_DETECT_UDP_SO_SNDBUF)
3301 AC_DEFINE_UNQUOTED(SQUID_DETECT_UDP_SO_SNDBUF, $SQUID_DETECT_UDP_SO_SNDBUF,[UDP send buffer size])
3303 dnl Not cached since people are likely to tune this
3304 AC_MSG_CHECKING(Default UDP receive buffer size)
3308 #include <sys/types.h>
3309 #include <sys/socket.h>
3310 #include <netinet/in.h>
3314 int fd,val=0,len=sizeof(int);
3315 if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) exit(1);
3316 if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) exit(1);
3317 if (val <= 0) exit(1);
3318 fp = fopen("conftestval", "w");
3319 fprintf (fp, "%d\n", val);
3323 SQUID_DETECT_UDP_SO_RCVBUF=`cat conftestval`,
3324 SQUID_DETECT_UDP_SO_RCVBUF=16384,
3325 SQUID_DETECT_UDP_SO_RCVBUF=16384)
3326 AC_MSG_RESULT($SQUID_DETECT_UDP_SO_RCVBUF)
3327 AC_DEFINE_UNQUOTED(SQUID_DETECT_UDP_SO_RCVBUF, $SQUID_DETECT_UDP_SO_RCVBUF,[UDP receive buffer size])
3329 dnl Not cached since people are likely to tune this
3330 AC_MSG_CHECKING(Default TCP send buffer size)
3334 #include <sys/types.h>
3335 #include <sys/socket.h>
3336 #include <netinet/in.h>
3340 int fd,val=0,len=sizeof(int);
3341 if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) exit(1);
3342 if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) exit(1);
3343 if (val <= 0) exit(1);
3344 fp = fopen("conftestval", "w");
3345 fprintf (fp, "%d\n", val);
3349 SQUID_TCP_SO_SNDBUF=`cat conftestval`,
3350 SQUID_TCP_SO_SNDBUF=16384,
3351 SQUID_TCP_SO_SNDBUF=16384)
3352 AC_MSG_RESULT($SQUID_TCP_SO_SNDBUF)
3353 if test $SQUID_TCP_SO_SNDBUF -gt 32768; then
3354 echo "Limiting send buffer size to 32K"
3355 SQUID_TCP_SO_SNDBUF=32768
3357 AC_DEFINE_UNQUOTED(SQUID_TCP_SO_SNDBUF, $SQUID_TCP_SO_SNDBUF,[TCP send buffer size])
3359 dnl Not cached since people are likely to tune this
3360 AC_MSG_CHECKING(Default TCP receive buffer size)
3364 #include <sys/types.h>
3365 #include <sys/socket.h>
3366 #include <netinet/in.h>
3370 int fd,val=0,len=sizeof(int);
3371 if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) exit(1);
3372 if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) exit(1);
3373 if (val <= 0) exit(1);
3374 fp = fopen("conftestval", "w");
3375 fprintf (fp, "%d\n", val);
3379 SQUID_TCP_SO_RCVBUF=`cat conftestval`,
3380 SQUID_TCP_SO_RCVBUF=16384,
3381 SQUID_TCP_SO_RCVBUF=16384)
3382 AC_MSG_RESULT($SQUID_TCP_SO_RCVBUF)
3383 if test $SQUID_TCP_SO_RCVBUF -gt 65535; then
3384 echo "Limiting receive buffer size to 64K"
3385 SQUID_TCP_SO_RCVBUF=65535
3387 AC_DEFINE_UNQUOTED(SQUID_TCP_SO_RCVBUF, $SQUID_TCP_SO_RCVBUF,[TCP receive buffer size])
3388 AC_CACHE_CHECK(if sys_errlist is already defined, ac_cv_needs_sys_errlist,
3389 AC_TRY_COMPILE([#include <stdio.h>],[char *s = sys_errlist;],
3390 ac_cv_needs_sys_errlist="no",
3391 ac_cv_needs_sys_errlist="yes")
3393 if test "$ac_cv_needs_sys_errlist" = "yes" ; then
3394 AC_DEFINE(NEED_SYS_ERRLIST,1,[If we need to declare sys_errlist[] as external])
3397 dnl Not cached since people are likely to change this
3398 AC_MSG_CHECKING(for libresolv _dns_ttl_ hack)
3399 AC_TRY_LINK(extern int _dns_ttl_;,return _dns_ttl_;,
3401 AC_DEFINE(LIBRESOLV_DNS_TTL_HACK,1,[If libresolv.a has been hacked to export _dns_ttl_])],
3404 AC_MSG_CHECKING(if inet_ntoa() actually works)
3408 #include <sys/types.h>
3409 #include <netinet/in.h>
3410 #include <arpa/inet.h>
3415 in.s_addr = inet_addr("1.2.3.4");
3416 fp = fopen("conftestval", "w");
3417 fprintf (fp, "%s\n", inet_ntoa(in));
3421 INET_NTOA_RESULT=`cat conftestval`,
3422 INET_NTOA_RESULT="broken",
3423 INET_NTOA_RESULT="broken")
3424 if test "$INET_NTOA_RESULT" = "1.2.3.4" ; then
3425 AC_MSG_RESULT("yes")
3430 echo "Using Win32 resolver instead."
3433 echo "Will use our own inet_ntoa()."
3434 AC_LIBOBJ(inet_ntoa)
3435 # echo "WARNING: This looks bad, and probably prevents Squid from working."
3436 # echo " If you're on IRIX and using GCC 2.8, you probably need"
3437 # echo " to use the IRIX C compiler instead."
3443 if test "$ac_cv_header_sys_statvfs_h" = "yes" ; then
3444 AC_MSG_CHECKING(for working statvfs() interface)
3448 #include <sys/types.h>
3449 #include <sys/statvfs.h>
3453 sfs.f_blocks = sfs.f_bfree = sfs.f_frsize =
3454 sfs.f_files = sfs.f_ffree = 0;
3455 statvfs("/tmp", &sfs);
3457 ac_cv_func_statvfs=yes,
3458 ac_cv_func_statvfs=no)
3459 AC_MSG_RESULT($ac_cv_func_statvfs)
3460 if test "$ac_cv_func_statvfs" = "yes" ; then
3461 AC_DEFINE(HAVE_STATVFS,1,[If your system has statvfs(), and if it actually works!])
3465 dnl Detect what resolver fields we have available to use...
3466 AC_CACHE_CHECK(for _res_ext.nsaddr_list, ac_cv_have_res_ext_nsaddr_list,
3468 #if HAVE_SYS_TYPES_H
3469 #include <sys/types.h>
3471 #if HAVE_NETINET_IN_H
3472 #include <netinet/in.h>
3474 #if HAVE_ARPA_INET_H
3475 #include <arpa/inet.h>
3477 #if HAVE_ARPA_NAMESER_H
3478 #include <arpa/nameser.h>
3484 [_res_ext.nsaddr_list[[0]].s_addr;],
3485 ac_cv_have_res_ext_nsaddr_list="yes",
3486 ac_cv_have_res_ext_nsaddr_list="no"))
3487 if test "$ac_cv_have_res_ext_nsaddr_list" = "yes" ; then
3488 AC_DEFINE(_SQUID_RES_NSADDR6_LARRAY,_res_ext.nsaddr_list,[If _res_ext structure has nsaddr_list member])
3489 AC_DEFINE(_SQUID_RES_NSADDR6_COUNT,ns6count,[Nameserver Counter for IPv6 _res_ext])
3492 if test "$_SQUID_RES_NSADDR6_LIST" == ""; then
3493 AC_CACHE_CHECK(for _res._u._ext.nsaddrs, ac_cv_have_res_ext_nsaddrs,
3495 #if HAVE_SYS_TYPES_H
3496 #include <sys/types.h>
3498 #if HAVE_NETINET_IN_H
3499 #include <netinet/in.h>
3501 #if HAVE_ARPA_INET_H
3502 #include <arpa/inet.h>
3504 #if HAVE_ARPA_NAMESER_H
3505 #include <arpa/nameser.h>
3511 [_res._u._ext.nsaddrs[[0]]->sin6_addr;],
3512 ac_cv_have_res_ext_nsaddrs="yes",
3513 ac_cv_have_res_ext_nsaddrs="no"))
3514 if test "$ac_cv_have_res_ext_nsaddrs" = "yes" ; then
3515 AC_DEFINE(_SQUID_RES_NSADDR6_LPTR,_res._u._ext.nsaddrs,[If _res structure has _ext.nsaddrs member])
3516 AC_DEFINE(_SQUID_RES_NSADDR6_COUNT,_res._u._ext.nscount6,[Nameserver Counter for IPv6 _res])
3520 AC_CACHE_CHECK(for _res.nsaddr_list, ac_cv_have_res_nsaddr_list,
3522 #if HAVE_SYS_TYPES_H
3523 #include <sys/types.h>
3525 #if HAVE_NETINET_IN_H
3526 #include <netinet/in.h>
3528 #if HAVE_ARPA_INET_H
3529 #include <arpa/inet.h>
3531 #if HAVE_ARPA_NAMESER_H
3532 #include <arpa/nameser.h>
3538 [_res.nsaddr_list[[0]];],
3539 ac_cv_have_res_nsaddr_list="yes",
3540 ac_cv_have_res_nsaddr_list="no"))
3541 if test $ac_cv_have_res_nsaddr_list = "yes" ; then
3542 AC_DEFINE(_SQUID_RES_NSADDR_LIST,_res.nsaddr_list,[If _res structure has nsaddr_list member])
3543 AC_DEFINE(_SQUID_RES_NSADDR_COUNT,_res.nscount,[Nameserver counter for IPv4 _res])
3546 if test "$_SQUID_RES_NSADDR_LIST" == ""; then
3547 AC_CACHE_CHECK(for _res.ns_list, ac_cv_have_res_ns_list,
3549 #if HAVE_SYS_TYPES_H
3550 #include <sys/types.h>
3552 #if HAVE_NETINET_IN_H
3553 #include <netinet/in.h>
3555 #if HAVE_ARPA_INET_H
3556 #include <arpa/inet.h>
3558 #if HAVE_ARPA_NAMESER_H
3559 #include <arpa/nameser.h>
3565 [_res.ns_list[[0]].addr;],
3566 ac_cv_have_res_ns_list="yes",
3567 ac_cv_have_res_ns_list="no"))
3568 if test $ac_cv_have_res_ns_list = "yes" ; then
3569 AC_DEFINE(_SQUID_RES_NSADDR_LIST,_res.ns_list,[If _res structure has ns_list member])
3570 AC_DEFINE(_SQUID_RES_NSADDR_COUNT,_res.nscount,[Nameserver counter for IPv4 _res])
3574 dnl Need the debugging version of malloc if available
3576 if test "$ac_cv_lib_malloc_main" = "yes" ; then
3577 if test -r /usr/lib/debug/malloc.o ; then
3578 XTRA_OBJS="$XTRA_OBJS /usr/lib/debug/malloc.o"
3580 if test -r /usr/lib/debug/mallocmap.o ; then
3581 XTRA_OBJS="$XTRA_OBJS /usr/lib/debug/mallocmap.o"
3587 if test -z "$XTRA_LIBS"; then
3590 XTRA_LIBS=`echo $XTRA_LIBS | sed -e "s/ */ /g"`
3595 dnl Clean up after OSF/1 core dump bug
3608 src/adaptation/Makefile \
3615 test-suite/Makefile \
3618 helpers/basic_auth/Makefile \
3619 helpers/basic_auth/LDAP/Makefile \
3620 helpers/basic_auth/MSNT/Makefile \
3621 helpers/basic_auth/NCSA/Makefile \
3622 helpers/basic_auth/PAM/Makefile \
3623 helpers/basic_auth/SMB/Makefile \
3624 helpers/basic_auth/mswin_sspi/Makefile \
3625 helpers/basic_auth/YP/Makefile \
3626 helpers/basic_auth/getpwnam/Makefile \
3627 helpers/basic_auth/multi-domain-NTLM/Makefile \
3628 helpers/basic_auth/SASL/Makefile \
3629 helpers/basic_auth/POP3/Makefile \
3630 helpers/basic_auth/DB/Makefile \
3631 helpers/basic_auth/squid_radius_auth/Makefile \
3632 helpers/digest_auth/Makefile \
3633 helpers/digest_auth/password/Makefile \
3634 helpers/digest_auth/ldap/Makefile \
3635 helpers/digest_auth/eDirectory/Makefile \
3636 helpers/ntlm_auth/Makefile \
3637 helpers/ntlm_auth/fakeauth/Makefile \
3638 helpers/ntlm_auth/no_check/Makefile \
3639 helpers/ntlm_auth/SMB/Makefile \
3640 helpers/ntlm_auth/SMB/smbval/Makefile \
3641 helpers/ntlm_auth/mswin_sspi/Makefile \
3642 helpers/negotiate_auth/Makefile \
3643 helpers/negotiate_auth/mswin_sspi/Makefile \
3644 helpers/negotiate_auth/squid_kerb_auth/Makefile \
3645 helpers/external_acl/Makefile \
3646 helpers/external_acl/ip_user/Makefile \
3647 helpers/external_acl/ldap_group/Makefile \
3648 helpers/external_acl/session/Makefile \
3649 helpers/external_acl/unix_group/Makefile \
3650 helpers/external_acl/wbinfo_group/Makefile \
3651 helpers/external_acl/mswin_lm_group/Makefile \
3655 AC_CONFIG_SUBDIRS(lib/libTrie)
3657 # must configure libltdl subdir unconditionally for "make distcheck" to work
3658 AC_CONFIG_SUBDIRS(lib/libLtdl)