]> git.ipfire.org Git - thirdparty/squid.git/blame - configure.in
fix headers to allow inclusion into C++ source
[thirdparty/squid.git] / configure.in
CommitLineData
1b3db6d9 1
2877b8a9 2dnl Configuration input file for Squid
090089c4 3dnl
983061ed 4dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9)
090089c4 5dnl
29b8d8d6 6dnl $Id: configure.in,v 1.283 2002/09/15 06:40:28 robertc Exp $
090089c4 7dnl
8dnl
090089c4 9dnl
a26bdc75 10AC_INIT(src/main.c)
71b12d7c 11AC_CONFIG_AUX_DIR(cfgaux)
3b0691a6 12AM_INIT_AUTOMAKE(squid, 2.6-DEVEL)
a2794549 13AM_CONFIG_HEADER(include/autoconf.h)
29b8d8d6 14AC_REVISION($Revision: 1.283 $)dnl
a2794549 15AC_PREFIX_DEFAULT(/usr/local/squid)
246d7ffc 16AM_MAINTAINER_MODE
a2794549 17
18dnl Set default LDFLAGS
19if test -z "$LDFLAGS"; then
20 LDFLAGS="-g"
21fi
22
23PRESET_CFLAGS="$CFLAGS"
090089c4 24
a2794549 25dnl Check for GNU cc
26AC_PROG_CC
29b8d8d6 27AC_LANG_CPLUSPLUS
28AC_PROG_CXX
a2794549 29AM_PROG_CC_C_O
88d50a22 30AC_CANONICAL_HOST
31
a2794549 32
26675bf4 33CRYPTLIB=''
00fa2c12 34REGEXLIB='' # -lregex
35LIBREGEX='' # libregex.a
090089c4 36
a2794549 37dnl find out the exe extension for this platform. If it's not empty, use it for CGI's as well.
38AC_EXEEXT
39AC_OBJEXT
40
41if test -z "$EXEEXT"; then
42 CGIEXT=".cgi"
43else
7aeb8001 44 # automake automatically adds .exe when installing binaries
45 CGIEXT=""
a2794549 46fi
7aeb8001 47AC_SUBST(CGIEXT)
a2794549 48
0e6d05ef 49dnl this should be expanded to a list of platform sensible support requirements.
50dnl (adding an option like --enable-cygwin-support doesn't make sense :]) - R Collins 2001
df087e68 51case "$host_os" in
a2794549 52cygwin|cygwin32)
53 AM_CONDITIONAL(ENABLE_WIN32SPECIFIC, true)
df087e68 54 ;;
55*)
a2794549 56 AM_CONDITIONAL(ENABLE_WIN32SPECIFIC, false)
df087e68 57 ;;
58esac
df087e68 59
a26bdc75 60if test -z "$CACHE_HTTP_PORT"; then
61 CACHE_HTTP_PORT="3128"
62fi
63if test -z "$CACHE_ICP_PORT"; then
64 CACHE_ICP_PORT="3130"
65fi
a26bdc75 66
090089c4 67dnl Subsitutions
4d683a65 68AC_DEFINE_UNQUOTED(CACHE_HTTP_PORT, $CACHE_HTTP_PORT)
69AC_DEFINE_UNQUOTED(CACHE_ICP_PORT, $CACHE_ICP_PORT)
090089c4 70
30a4f2a8 71AC_DEFINE_UNQUOTED(CONFIG_HOST_TYPE, "$host")
72
781ba3fb 73AC_DEFINE_UNQUOTED(SQUID_CONFIGURE_OPTIONS, "$ac_configure_args")
090089c4 74
d96ceb8e 75dnl Check for GNU cc
76AC_PROG_CC
77
6ad85e8a 78dnl Gerben Wierda <Gerben_Wierda@RnA.nl>
79case "$host" in
80 mab-next-nextstep3)
81 CC="$CC -arch m68k -arch i486 -arch hppa -arch sparc"
82 ;;
83esac
84
30a4f2a8 85dnl Set Default CFLAGS
86if test -z "$PRESET_CFLAGS"; then
87 if test "$GCC" = "yes"; then
88 case "$host" in
97b12a5b 89 *-sun-sunos*)
30a4f2a8 90 # sunos has too many warnings for this to be useful
91 # motorola too
92 ;;
97b12a5b 93 *m88k*)
94 # Motorola cc/ld does not like -02 but is ok on -O
95 CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]/-O/'`
96 ;;
30a4f2a8 97 *)
98 CFLAGS="$CFLAGS -Wall"
99 ;;
100 esac
81a820c6 101 else
102 case "$host" in
c415c128 103 *mips-sgi-irix6.*)
81a820c6 104 # suggested by Rafael Seidl <rafaels@cthulhu.engr.sgi.com>
c415c128 105 CFLAGS="$CFLAGS -n32 -mips3 -O3 -OPT:Olimit=0:space=OFF \
58dc050d 106 -woff 1009,1014,1110,1116,1185,1188,1204,1230,1233 \
81a820c6 107 -Wl,-woff,85,-woff,84,-woff,134 \
108 -nostdinc -I/usr/include -D_BSD_SIGNALS"
109 ;;
e8f5fb18 110 alpha-dec-osf4.*)
553c24ae 111 # Mogul says DEC compilers take both -g and -O2
b6a2f15e 112 CFLAGS=`echo $CFLAGS | sed -e 's/-g/-g3/'`
553c24ae 113 CFLAGS="$CFLAGS -O2"
114 ;;
81a820c6 115 *)
116 ;;
117 esac
30a4f2a8 118 fi
30a4f2a8 119fi
120
121dnl Set LDFLAGS
122if test -z "$PRESET_LDFLAGS"; then
123 if test "$GCC" = "yes"; then
124 case "$host" in
125 *)
126 # nothing
127 ;;
128 esac
81a820c6 129 else
130 case "$host" in
c415c128 131 *mips-sgi-irix6.*)
81a820c6 132 # suggested by Rafael Seidl <rafaels@cthulhu.engr.sgi.com>
c415c128 133 LDFLAGS="-n32 -mips3 -nostdlib -L/usr/lib32"
81a820c6 134 ;;
135 esac
30a4f2a8 136 fi
137fi
2060fa9a 138
e5f4e1b0 139dnl Enable optional modules
140AC_ARG_ENABLE(dlmalloc,
94d48591 141[ --enable-dlmalloc[=LIB] Compile & use the malloc package by Doug Lea],
e5f4e1b0 142[
94d48591 143 case "$enableval" in
144 'yes')
029ce4ae 145 use_dlmalloc="yes"
94d48591 146 LIBDLMALLOC="libdlmalloc.a"
147 LIB_MALLOC="-L../lib -ldlmalloc"
029ce4ae 148 echo "dlmalloc enabled"
94d48591 149 ;;
150 'no')
029ce4ae 151 use_dlmalloc="no"
152 echo "dlmalloc disabled"
94d48591 153 ;;
029ce4ae 154 *) use_dlmalloc="yes"
155 LIB_MALLOC="$enableval"
156 echo "dlmalloc enabled with $LIB_MALLOC"
157 esac
158])
159if test "${use_dlmalloc-unset}" = unset; then
160 case "$host" in
161 i386-*-solaris2.*)
162 echo "Enabling dlmalloc for $host"
163 use_dlmalloc="yes"
d20b1cd0 164 LIBDLMALLOC="libdlmalloc.a"
165 LIB_MALLOC="-L../lib -ldlmalloc"
029ce4ae 166 ;;
e8dbaa90 167 *-sgi-irix*)
168 echo "Enabling dlmalloc for $host"
169 use_dlmalloc="yes"
170 LIBDLMALLOC="libdlmalloc.a"
171 LIB_MALLOC="-L../lib -ldlmalloc"
172 ;;
029ce4ae 173 esac
174fi
175if test "x$ac_cv_enabled_dlmalloc" = "xyes"; then
176 # Ok. dlmalloc was enabled before, but state may be changed.
177 # we have to test these again
178 unset ac_cv_func_mallinfo
179 unset ac_cv_func_mallocblksize
180 unset ac_cv_func_free
181 unset ac_cv_func_realloc
182 unset ac_cv_func_memalign
183 unset ac_cv_func_valloc
184 unset ac_cv_func_pvalloc
185 unset ac_cv_func_calloc
186 unset ac_cv_func_cfree
187 unset ac_cv_func_malloc_trim
188 unset ac_cv_func_malloc_usable_size
189 unset ac_cv_func_malloc_stats
190 unset ac_cv_func_mallinfo
191 unset ac_cv_func_mallopt
192 unset ac_cv_lib_gnumalloc
193 unset ac_cv_header_gnumalloc_h
194 unset ac_cv_lib_malloc
195 unset ac_cv_enabled_dlmalloc
196fi
197if test "$use_dlmalloc" = yes; then
94d48591 198 ac_cv_func_mallinfo="yes"
199 ac_cv_func_mallocblksize="no"
200 ac_cv_func_free="yes"
201 ac_cv_func_realloc="yes"
202 ac_cv_func_memalign="yes"
203 ac_cv_func_valloc="yes"
204 ac_cv_func_pvalloc="yes"
205 ac_cv_func_calloc="yes"
206 ac_cv_func_cfree="yes"
207 ac_cv_func_malloc_trim="yes"
208 ac_cv_func_malloc_usable_size="yes"
209 ac_cv_func_malloc_stats="yes"
94d48591 210 ac_cv_func_mallopt="yes"
211 ac_cv_lib_gnumalloc="no"
85efe3ec 212 ac_cv_header_gnumalloc_h="no"
94d48591 213 ac_cv_lib_malloc="no"
214 ac_cv_enabled_dlmalloc="yes"
d96ceb8e 215 AC_DEFINE(USE_DLMALLOC, 1)
029ce4ae 216fi
217
e5f4e1b0 218AC_SUBST(LIBDLMALLOC)
219AC_SUBST(LIB_MALLOC)
220
221AC_ARG_ENABLE(gnuregex,
222[ --enable-gnuregex Compile GNUregex],
223[USE_GNUREGEX=$enableval])
224
fa80a8ef 225AC_ARG_ENABLE(debug-cbdata,
226[ --enable-debug-cbdata Provide some debug information in cbdata],
227[ if test "$enableval" = "yes" ; then
228 echo "cbdata debugging enabled"
229 AC_DEFINE(CBDATA_DEBUG)
230 fi
231])
232
0961c811 233dnl This is a developer only option.. developers know how to set defines
234dnl
235dnl AC_ARG_ENABLE(xmalloc-debug,
236dnl [ --enable-xmalloc-debug Do some simple malloc debugging],
237dnl [ if test "$enableval" = "yes" ; then
238dnl echo "Malloc debugging enabled"
239dnl AC_DEFINE(XMALLOC_DEBUG)
240dnl fi
241dnl ])
242
243dnl This is a developer only option.. developers know how to set defines
244dnl
245dnl AC_ARG_ENABLE(xmalloc-debug-trace,
246dnl [ --enable-xmalloc-debug-trace
247dnl Detailed trace of memory allocations],
248dnl [ if test "$enableval" = "yes" ; then
249dnl echo "Malloc debug trace enabled"
250dnl AC_DEFINE(XMALLOC_TRACE)
251dnl AC_DEFINE(XMALLOC_DEBUG)
252dnl fi
253dnl ])
e5f4e1b0 254
d9180414 255AC_ARG_ENABLE(xmalloc-statistics,
e5f4e1b0 256[ --enable-xmalloc-statistics
257 Show malloc statistics in status page],
258[ if test "$enableval" = "yes" ; then
259 echo "Malloc statistics enabled"
260 AC_DEFINE(XMALLOC_STATISTICS)
261 fi
262])
263
323fe0d4 264AC_ARG_ENABLE(carp,
f7c8dc02 265[ --disable-carp Disable CARP support],
266[ if test "$enableval" = "no" ; then
267 echo "CARP disabled"
268 AC_DEFINE(USE_CARP, 0)
269 else
270 AC_DEFINE(USE_CARP, 1)
323fe0d4 271 fi
f7c8dc02 272])
323fe0d4 273
cd748f27 274AC_ARG_ENABLE(async-io,
9bc73deb 275[ --enable-async-io[=N_THREADS]
cd748f27 276 Shorthand for
f85c88f3 277 --with-aufs-threads=N_THREADS
cd748f27 278 --with-pthreads
279 --enable-storeio=ufs,aufs],
280[ case $enableval in
9bc73deb 281 yes)
cd748f27 282 STORE_MODULES="ufs aufs"
9bc73deb 283 ;;
284 no)
9bc73deb 285 ;;
286 *)
f85c88f3 287 aufs_io_threads=$enableval
cd748f27 288 STORE_MODULES="ufs aufs"
9bc73deb 289 ;;
290 esac
291])
292
f85c88f3 293AC_ARG_WITH(aufs-threads,
294[ --with-aufs-threads=N_THREADS
cd748f27 295 Tune the number of worker threads for the aufs object
296 store.],
f85c88f3 297[ aufs_io_threads=$withval ])
298if test "$aufs_io_threads"; then
299 echo "With $aufs_io_threads aufs threads"
f85c88f3 300 AC_DEFINE_UNQUOTED(AUFS_IO_THREADS,$aufs_io_threads)
cd748f27 301fi
302
303AC_ARG_WITH(pthreads,
8154dd82 304[ --with-pthreads Use POSIX Threads])
305if test "$with_pthreads" = "yes"; then
cd748f27 306 echo "With pthreads"
9fc0b4b8 307 CFLAGS="$CFLAGS -D_REENTRANT"
c68e9c6b 308 case "$host" in
309 i386-unknown-freebsd*)
cd748f27 310 if test "$GCC" = "yes" ; then
311 if test -z "$PRESET_LDFLAGS"; then
312 LDFLAGS="$LDFLAGS -pthread"
313 fi
314 fi
315 ;;
b71119d9 316 *-solaris2.*)
317 if test "$GCC" = "yes" ; then
318 CFLAGS="$CFLAGS -pthreads"
319 else
320 CFLAGS="$CFLAGS -mt"
321 fi
322 ;;
c68e9c6b 323 esac
9bc73deb 324fi
e5f4e1b0 325
f85c88f3 326AC_ARG_WITH(aio,
8154dd82 327[ --with-aio Use POSIX AIO])
328if test "$with_aio" = "yes"; then
f85c88f3 329 echo "With aio"
f85c88f3 330fi
8154dd82 331
332AC_ARG_WITH(dl,
333[ --with-dl Use dynamic linking])
334if test "$with_dl" = "yes"; then
335 echo "With dl"
336fi
f85c88f3 337
cd748f27 338AC_ARG_ENABLE(storeio,
339[ --enable-storeio=\"list of modules\"
340 Build support for the list of store I/O modules.
341 The default is only to build the "ufs" module.
342 See src/fs for a list of available modules, or
343 Programmers Guide section <not yet written>
344 for details on how to build your custom store module],
345[ case $enableval in
346 yes)
347 for module in $srcdir/src/fs/*; do
348 if test -f $module/Makefile.in; then
349 STORE_MODULES="$STORE_MODULES `basename $module`"
8154dd82 350 fi
cd748f27 351 done
352 ;;
353 no)
354 ;;
355 *) STORE_MODULES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
356 ;;
357 esac
358],
359[ if test -z "$STORE_MODULES"; then
360 STORE_MODULES="ufs"
361 fi
362])
d1aad03d 363echo "Store modules built: $STORE_MODULES"
a2794549 364STORE_OBJS="fs/lib`echo $STORE_MODULES|sed -e 's% %.a fs/lib%g'`.a"
cd748f27 365AC_SUBST(STORE_OBJS)
6652c622 366STORE_LIBS="`echo $STORE_OBJS|sed -e 's%fs/%%g'`"
f71946fc 367AC_SUBST(STORE_LIBS)
a2794549 368dnl remove all but diskd - its the only module that needs to recurse
369dnl into the sub directory
370STORE_MODULE_SUBDIRS=
371for fs in $STORE_MODULES none; do
8154dd82 372 case "$fs" in
373 diskd)
a2794549 374 STORE_MODULE_SUBDIRS="$STORE_MODULE_SUBDIRS $fs"
bacca099 375 OPT_DISKD_EXE='diskd$(EXEEXT)'
8154dd82 376 ;;
377 aufs)
378 if test -z "$with_pthreads"; then
379 echo "aufs store used, pthreads support automatically enabled"
380 with_pthreads=yes
381 fi
382 ;;
383 coss)
384 if test -z "$with_aio"; then
385 echo "coss store used, aio support automatically enabled"
386 with_aio=yes
387 fi
388 ;;
389 esac
a2794549 390done
391AC_SUBST(STORE_MODULES)
392AC_SUBST(STORE_MODULE_SUBDIRS)
bacca099 393AC_SUBST(OPT_DISKD_EXE)
a2794549 394
cd748f27 395
6a566b9c 396dnl --enable-heap-replacement compability option
397AC_ARG_ENABLE(heap-replacement,
398[ --enable-heap-replacement
399 Backwards compability option. Please use the
400 new --enable-removal-policies directive instead.],
401[ if test "$enableval" = "yes" ; then
402 echo "--enable-heap-replacement is obsolete. please use the new"
403 echo "--enable-removal-policies directive instead"
404 sleep 5
405 REPL_POLICIES="heap"
406 fi
407])
408
d9180414 409AC_ARG_ENABLE(removal-policies,
6a566b9c 410[ --enable-removal-policies=\"list of policies\"
411 Build support for the list of removal policies.
412 The default is only to build the "lru" module.
413 See src/repl for a list of available modules, or
414 Programmers Guide section 9.9 for details on how
415 to build your custom policy],
416[ case $enableval in
417 yes)
418 for module in $srcdir/src/repl/*; do
419 if test -f $module/Makefile.in; then
420 REPL_POLICIES="$REPL_POLICIES `basename $module`"
421 fi
422 done
423 ;;
424 no)
425 ;;
426 *) REPL_POLICIES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
427 ;;
428 esac
429],
430[ if test -z "$REPL_POLICIES"; then
431 REPL_POLICIES="lru"
432 fi
433])
65033bdd 434echo "Removal policies built: $REPL_POLICIES"
6a566b9c 435AC_SUBST(REPL_POLICIES)
a2794549 436REPL_OBJS="repl/lib`echo $REPL_POLICIES|sed -e 's% %.a repl/lib%g'`.a"
6a566b9c 437AC_SUBST(REPL_OBJS)
6652c622 438REPL_LIBS="`echo $REPL_OBJS|sed -e 's%repl/%%g'`"
f71946fc 439AC_SUBST(REPL_LIBS)
6a566b9c 440
8efddab9 441OPT_PINGER=''
3c573763 442OPT_PINGER_EXE=''
e5f4e1b0 443AC_ARG_ENABLE(icmp,
444[ --enable-icmp Enable ICMP pinging],
445[ if test "$enableval" = "yes" ; then
446 echo "ICMP enabled"
447 AC_DEFINE(USE_ICMP)
8efddab9 448 OPT_PINGER='pinger'
449 OPT_PINGER_EXE='pinger$(EXEEXT)'
e5f4e1b0 450 fi
451])
8efddab9 452AC_SUBST(OPT_PINGER)
3c573763 453AC_SUBST(OPT_PINGER_EXE)
e5f4e1b0 454
a2794549 455AM_CONDITIONAL(USE_DELAY_POOLS, false)
d9180414 456AC_ARG_ENABLE(delay-pools,
76d83c52 457[ --enable-delay-pools Enable delay pools to limit bandwidth usage],
e5f4e1b0 458[ if test "$enableval" = "yes" ; then
95e36d02 459 echo "Delay pools enabled"
95e36d02 460 AC_DEFINE(DELAY_POOLS)
a2794549 461 AM_CONDITIONAL(USE_DELAY_POOLS, true)
e5f4e1b0 462 fi
463])
464
0961c811 465dnl This is a developer only option. Developers know how to set defines
466dnl
467dnl AC_ARG_ENABLE(mem-gen-trace,
468dnl [ --enable-mem-gen-trace Do trace of memory stuff],
469dnl [ if test "$enableval" = "yes" ; then
470dnl echo "Memory trace (to file) enabled"
471dnl AC_DEFINE(MEM_GEN_TRACE)
472dnl fi
473dnl ])
36a97e19 474
d9180414 475AC_ARG_ENABLE(useragent-log,
e5f4e1b0 476[ --enable-useragent-log Enable logging of User-Agent header],
477[ if test "$enableval" = "yes" ; then
478 echo "User-Agent logging enabled"
479 AC_DEFINE(USE_USERAGENT_LOG)
480 fi
481])
482
dfca7e1a 483AC_ARG_ENABLE(referer-log,
0961c811 484[ --enable-referer-log Enable logging of Referer header],
dfca7e1a 485[ if test "$enableval" = "yes" ; then
486 echo "Referer logging enabled"
487 AC_DEFINE(USE_REFERER_LOG)
488 fi
489])
490
320e9f36 491AC_ARG_ENABLE(wccp,
0961c811 492[ --disable-wccp Disable Web Cache Coordination Protocol],
eb824054 493[ if test "$enableval" = "no" ; then
494 echo "Web Cache Coordination Protocol disabled"
495 AC_DEFINE(USE_WCCP, 0)
496 else
497 AC_DEFINE(USE_WCCP, 1)
320e9f36 498 fi
499])
320e9f36 500
d9180414 501AC_ARG_ENABLE(kill-parent-hack,
9fc0b4b8 502[ --enable-kill-parent-hack
503 Kill parent on shutdown],
e5f4e1b0 504[ if test "$enableval" = "yes" ; then
505 echo "Kill parent on shutdown"
506 AC_DEFINE(KILL_PARENT_OPT)
507 fi
508])
509
a2794549 510AM_CONDITIONAL(USE_SNMP, false)
e5f4e1b0 511AC_ARG_ENABLE(snmp,
512[ --enable-snmp Enable SNMP monitoring],
513[ if test "$enableval" = "yes" ; then
514 echo "SNMP monitoring enabled"
515 AC_DEFINE(SQUID_SNMP)
516 SNMPLIB='-L../snmplib -lsnmp'
a2794549 517 AM_CONDITIONAL(USE_SNMP, true)
8a7f0105 518 SNMP_MAKEFILE=./snmplib/Makefile
e5f4e1b0 519 makesnmplib=snmplib
520 fi
521])
522AC_SUBST(SNMPLIB)
e5f4e1b0 523AC_SUBST(makesnmplib)
524
d9180414 525AC_ARG_ENABLE(cachemgr-hostname,
e5f4e1b0 526[ --enable-cachemgr-hostname[=hostname]
527 Make cachemgr.cgi default to this host],
528[ case $enableval in
529 yes)
530 AC_DEFINE(CACHEMGR_HOSTNAME,[getfullhostname()])
531 echo "Cachemgr default hostname == host where cachemgr runs"
532 ;;
533 no)
534 : # Nothing to do..
535 ;;
536 *)
537 AC_DEFINE_UNQUOTED(CACHEMGR_HOSTNAME,"${enableval}")
538 echo "Cachemgr default hostname set to ${enableval}"
539 ;;
540 esac
541])
542
d9180414 543AC_ARG_ENABLE(arp-acl,
e5f4e1b0 544[ --enable-arp-acl Enable use of ARP ACL lists (ether address)],
545[ if test "$enableval" = "yes" ; then
546 echo "ARP ACL lists enabled (ether address)"
933cc58d 547 case "$host" in
ef614b1c 548 *-linux-*)
549 ;;
550 *-solaris-*)
a931a29b 551 ;;
933cc58d 552 *)
ef614b1c 553 echo "WARNING: ARP ACL support probably won't work on $host."
933cc58d 554 sleep 10
555 ;;
556 esac
e5f4e1b0 557 AC_DEFINE(USE_ARP_ACL)
558 fi
559])
560
a2794549 561AM_CONDITIONAL(ENABLE_HTCP, false)
74075210 562AC_ARG_ENABLE(htcp,
88b7de25 563[ --enable-htcp Enable HTCP protocol],
b4b8b6da 564[ if test "$enableval" = "yes" ; then
565 echo "HTCP enabled"
b4b8b6da 566 AC_DEFINE(USE_HTCP)
a2794549 567 AM_CONDITIONAL(ENABLE_HTCP, true)
b4b8b6da 568 fi
74075210 569])
a2794549 570
571AM_CONDITIONAL(ENABLE_SSL, false)
74075210 572
1f7c9178 573AC_ARG_ENABLE(ssl,
574[ --enable-ssl Enable ssl gatewaying support using OpenSSL],
575[ if test "$enableval" != "no"; then
3dff197f 576 echo "SSL gatewaying using OpenSSL enabled"
1f7c9178 577 AC_DEFINE(USE_SSL)
a2794549 578 AM_CONDITIONAL(ENABLE_SSL, true)
1f7c9178 579 SSLLIB='-lssl -lcrypto'
580 USE_OPENSSL=1
581 fi
582])
583
3dff197f 584AM_CONDITIONAL(NEED_OWN_MD5, true)
585
1f7c9178 586AC_ARG_WITH(openssl,
587[ --with-openssl[=prefix]
588 Compile with the OpenSSL libraries. The path to
589 the OpenSSL development libraries and headers
590 installation can be specified if outside of the
591 system standard directories],
592[
46ce628c 593 case "$with_openssl" in
1f7c9178 594 yes)
595 USE_OPENSSL=1
596 ;;
597 no)
598 USE_OPENSSL=
599 ;;
600 *)
46ce628c 601 SSLLIBDIR="$with_openssl/lib"
bcce53ce 602 CPPFLAGS="-I$with_openssl/include $CPPFLAGS"
1f7c9178 603 USE_OPENSSL=1
604 esac
605])
606
607if test -n "$USE_OPENSSL"; then
3dff197f 608 echo "Using OpenSSL MD5 implementation"
1f7c9178 609 AC_DEFINE(USE_OPENSSL)
3dff197f 610 AM_CONDITIONAL(NEED_OWN_MD5, false)
1f7c9178 611 if test -z "$SSLLIB"; then
612 SSLLIB="-lcrypto" # for MD5 routines
613 fi
614fi
615if test -n "$SSLLIBDIR"; then
616 SSLLIB="-L$SSLLIBDIR $SSLLIB"
617fi
1f7c9178 618AC_SUBST(SSLLIB)
619
02749868 620AC_ARG_ENABLE(forw-via-db,
621[ --enable-forw-via-db Enable Forw/Via database],
622[ if test "$enableval" = "yes" ; then
623 echo "FORW-VIA enabled"
624 AC_DEFINE(FORW_VIA_DB)
625 fi
626])
627
6cfa8966 628AC_ARG_ENABLE(cache-digests,
22df58ea 629[ --enable-cache-digests Use Cache Digests
2b6662ba 630 see http://www.squid-cache.org/FAQ/FAQ-16.html],
484f2ebc 631[ if test "$enableval" = "yes" ; then
6cfa8966 632 echo "USE_CACHE_DIGESTS enabled"
633 AC_DEFINE(USE_CACHE_DIGESTS)
484f2ebc 634 fi
635])
636
8c3926c5 637dnl Select Default Error language
638AC_ARG_ENABLE(default-err-language,
639[ --enable-default-err-language=lang
0961c811 640 Select default language for Error pages (see
641 errors directory) ],
933cc58d 642[
cf9d704a 643 if test -d $srcdir/errors/$enableval; then
8c3926c5 644 ERR_DEFAULT_LANGUAGE=$enableval
933cc58d 645 else
0961c811 646 echo "ERROR! Unknown language $enableval, see errors/ directory"
933cc58d 647 exit 1
648 fi
8c3926c5 649],[ERR_DEFAULT_LANGUAGE="English"])
650AC_SUBST(ERR_DEFAULT_LANGUAGE)
651
652dnl Select languages to be installed
653AC_ARG_ENABLE(err-languages,
654[ --enable-err-languages=\"lang1 lang2..\"
0961c811 655 Select languages to be installed. (All will be
656 installed by default) ],
8c3926c5 657[
658 for l in $enableval; do
659 if test -d $srcdir/errors/$l; then :; else
660 echo "ERROR! Unknown language $$l, see errors/"
661 exit 1
662 fi
663 done
664 ERR_LANGUAGES=$enableval
665],[
666 ERR_LANGUAGES=
667 for l in $srcdir/errors/*; do
cbbe101f 668 if test -f $l/ERR_ACCESS_DENIED; then
8c3926c5 669 ERR_LANGUAGES="$ERR_LANGUAGES `basename $l`"
670 fi
671 done
672])
673AC_SUBST(ERR_LANGUAGES)
933cc58d 674
cd748f27 675dnl Size of COSS memory buffer
676AC_ARG_WITH(coss-membuf-size,
677[ --with-coss-membuf-size COSS membuf size (default 1048576 bytes) ],
678[ if test "$with_coss_membuf_size"; then
679 echo "Setting COSS membuf size to $with_coss_membuf_size bytes"
680 AC_DEFINE_UNQUOTED(COSS_MEMBUF_SZ, $with_coss_membuf_size)
681 fi
682])
683
1b3db6d9 684dnl check for netio plugin stuff
9bb83c8b 685dnl Enable poll()
686AC_ARG_ENABLE(poll,
0961c811 687[ --enable-poll Enable poll() support.
688 --disable-poll Disable poll() support. ],
1b3db6d9 689
690[
c68e9c6b 691 case "$enableval" in
692 yes)
9bb83c8b 693 echo "Forcing poll() to be enabled"
694 ac_cv_func_poll='yes'
c68e9c6b 695 ;;
696 no)
697 echo "Forcing poll() to be disabled"
698 ac_cv_func_poll='no'
699 ;;
700 esac
9bb83c8b 701])
702
1b3db6d9 703dnl Enable select()
704AC_ARG_ENABLE(select,
0961c811 705[ --enable-select Enable select() support.
706 --disable-select Disable select() support. ],
1b3db6d9 707
708[
709 case "$enableval" in
710 yes)
711 echo "Forcing select() to be enabled"
712 ac_cv_func_select='yes'
713 ;;
714 no)
715 echo "Forcing select() to be disabled"
716 ac_cv_func_select='no'
717 ;;
718 esac
719])
720
721dnl Enable kqueue()
722AC_ARG_ENABLE(kqueue,
0961c811 723[ --enable-kqueue Enable kqueue() support.
724 --disable-kqueue Disable kqueue() support. ],
1b3db6d9 725
726[
727 case "$enableval" in
728 yes)
729 echo "Forcing kqueue() to be enabled"
730 ac_cv_func_kqueue='yes'
731 ;;
732 no)
733 echo "Forcing kqueue() to be disabled"
734 ac_cv_func_kqueue='no'
735 ;;
736esac
737])
738
72fd085a 739dnl Disable HTTP violations
740AC_ARG_ENABLE(http-violations,
741[ --disable-http-violations
742 This allows you to remove code which is known to
c68e9c6b 743 violate the HTTP protocol specification.],
72fd085a 744[ if test "$enableval" = "no" ; then
745 echo "Disabling HTTP Violations"
6eec93b2 746 AC_DEFINE(HTTP_VIOLATIONS, 0)
72fd085a 747 else
6eec93b2 748 AC_DEFINE(HTTP_VIOLATIONS, 1)
72fd085a 749 fi
750])
751
5cafc1d6 752dnl Enable IP-Filter Transparent Proxy
753AC_ARG_ENABLE(ipf-transparent,
754[ --enable-ipf-transparent
755 Enable Transparent Proxy support for systems
c68e9c6b 756 using IP-Filter network address redirection.],
5cafc1d6 757[ if test "$enableval" = "yes" ; then
758 echo "IP-Filter Transparent Proxy enabled"
759 AC_DEFINE(IPF_TRANSPARENT)
760 IPF_TRANSPARENT="yes"
761 fi
762])
763
2b0dd4ac 764dnl Enable PF Transparent Proxy
765AC_ARG_ENABLE(pf-transparent,
766[ --enable-pf-transparent
767 Enable Transparent Proxy support for systems
768 using PF network address redirection.],
769[ if test "$enableval" = "yes" ; then
770 echo "PF Transparent Proxy enabled"
771 AC_DEFINE(PF_TRANSPARENT)
772 PF_TRANSPARENT="yes"
773 fi
774])
775
d852fbad 776dnl Enable Linux Netfilter (2.4) Transparent Proxy
777AC_ARG_ENABLE(linux-netfilter,
778[ --enable-linux-netfilter
779 Enable Transparent Proxy support for Linux 2.4.],
780[ if test "$enableval" = "yes" ; then
781 echo "Linux-Netfilter Transparent Proxy enabled"
782 AC_DEFINE(LINUX_NETFILTER)
783 LINUX_NETFILTER="yes"
784 fi
785])
786
bb7b5fd0 787dnl Enable Large file support
788AC_ARG_ENABLE(large-files,
789[ --enable-large-files Enable support for large files (>2GB). Still
790 experimental.],
791[ if test "$enableval" = "yes" ; then
792 echo "Large file support enabled"
793 CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64"
794 fi
795])
796
a2794549 797AM_CONDITIONAL(MAKE_LEAKFINDER, false)
5d620373 798dnl Enable Leak Finding Functions
799AC_ARG_ENABLE(leakfinder,
800[ --enable-leakfinder
801 Enable Leak Finding code. Enabling this alone
802 does nothing; you also have to modify the source
803 code to use the leak finding functions. Probably
804 Useful for hackers only.],
805[ if test "$enableval" = "yes" ; then
806 echo "Leak-Finding enabled"
807 AC_DEFINE(USE_LEAKFINDER)
5d620373 808 USE_LEAKFINDER="yes"
a2794549 809 AM_CONDITIONAL(MAKE_LEAKFINDER, true)
5d620373 810 fi
811])
5d620373 812
3898f57f 813AC_ARG_ENABLE(ident-lookups,
814[ --disable-ident-lookups
815 This allows you to remove code that performs
816 Ident (RFC 931) lookups.],
817[ if test "$enableval" = "no" ; then
818 echo "Disabling Ident Lookups"
819 AC_DEFINE(USE_IDENT, 0)
820 else
821 AC_DEFINE(USE_IDENT, 1)
822 fi
823])
824
a2794549 825AM_CONDITIONAL(USE_DNSSERVER, false)
3c573763 826use_dnsserver=
eb824054 827AC_ARG_ENABLE(internal-dns,
7e3ce7b9 828[ --disable-internal-dns This prevents Squid from directly sending and
eb824054 829 receiving DNS messages, and instead enables the
830 old external 'dnsserver' processes.],
831[ if test "$enableval" = "no" ; then
832 echo "Disabling Internal DNS queries"
3c573763 833 use_dnsserver="yes"
eb824054 834 fi
835])
3c573763 836if test "$use_dnsserver" = "yes"; then
7b800d9f 837 AC_DEFINE(USE_DNSSERVERS)
bacca099 838 OPT_DNSSERVER_EXE='dnsserver$(EXEEXT)'
a2794549 839 AM_CONDITIONAL(USE_DNSSERVER, true)
3c573763 840else
841 OPT_DNSSERVER_EXE=''
3c573763 842fi
843AC_SUBST(OPT_DNSSERVER_EXE)
eb824054 844
845AC_ARG_ENABLE(truncate,
7e3ce7b9 846[ --enable-truncate This uses truncate() instead of unlink() when
eb824054 847 removing cache files. Truncate gives a little
848 performance improvement, but may cause problems
849 when used with async I/O. Truncate uses more
850 filesystem inodes than unlink..],
851[ if test "$enableval" = "yes" ; then
852 echo "Enabling truncate instead of unlink"
853 AC_DEFINE(USE_TRUNCATE)
854 fi
855])
856
9bc73deb 857dnl Enable underscore in hostnames
858AC_ARG_ENABLE(underscores,
859[ --enable-underscores Squid by default rejects any host names with _
76d83c52 860 in their name to conform with internet standards.
9bc73deb 861 If you disagree with this you may allow _ in
862 hostnames by using this switch, provided that
863 the resolver library on the host where Squid runs
864 does not reject _ in hostnames...],
865[ if test "$enableval" = "yes" ; then
866 echo "Enabling the use of underscores in host names"
867 AC_DEFINE(ALLOW_HOSTNAME_UNDERSCORES, 1)
868 fi
869])
870
9d798391 871dnl Select Default hosts file location
872AC_ARG_ENABLE(default-hostsfile,
873[ --enable-default-hostsfile=path
874 Select default location for hosts file.
875 See hosts_file directive in squid.conf for details],
876[
877 if test "$enableval" != "none" ; then
878 if test -f $enableval; then
879 OPT_DEFAULT_HOSTS=$enableval
880 else
881 echo "Warning Unable to find $enableval"
882 sleep 5
883 fi
884 else
885 OPT_DEFAULT_HOSTS="none"
886 fi
887 echo "Default hosts file set to: $enableval"
888],[OPT_DEFAULT_HOSTS="/etc/hosts"])
889AC_SUBST(OPT_DEFAULT_HOSTS)
890
94439e4e 891
892dnl Select auth schemes modules to build
893AC_ARG_ENABLE(auth,
894[ --enable-auth=\"list of auth scheme modules\"
895 Build support for the list of authentication schemes.
896 The default is to build support for the Basic scheme.
897 See src/auth for a list of available modules, or
898 Programmers Guide section authentication schemes
899 for details on how to build your custom auth scheme
900 module],
901[ case $enableval in
902 yes)
903 for module in $srcdir/src/auth/*; do
904 if test -f $module/Makefile.in; then
905 AUTH_MODULES="$AUTH_MODULES `basename $module`"
906 fi
907 done
908 ;;
909 no)
910 ;;
911 *) AUTH_MODULES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
912 ;;
913 esac
914],
915[ if test -z "$AUTH_MODULES"; then
916 AUTH_MODULES="basic"
917 fi
918])
919echo "Auth scheme modules built: $AUTH_MODULES"
920AC_SUBST(AUTH_MODULES)
a2794549 921AUTH_OBJS="auth/lib`echo $AUTH_MODULES|sed -e 's% %.a auth/lib%g'`.a"
94439e4e 922AC_SUBST(AUTH_OBJS)
6652c622 923AUTH_LIBS="`echo $AUTH_OBJS|sed -e 's%auth/%%g'`"
94439e4e 924AC_SUBST(AUTH_LIBS)
925
926dnl Select basic auth scheme helpers to build
927BASIC_AUTH_HELPERS=""
380f0a87 928AC_ARG_ENABLE(auth-modules,
94439e4e 929[ --enable-auth-modules=\"list of helpers\"
930 Backwards compability alias for
931 --enable-basic-auth-helpers],
932[ echo "--enable-auth-modules is obsolete. Please use the new"
933 echo "option --enable-basic-auth-helpers"
934 sleep 5
935 case "$enableval" in
936 yes)
0c510f3c 937 for helper in $srcdir/helpers/basic_auth/*; do
94439e4e 938 if test -f $helper/Makefile.in; then
fc83a946 939 BASIC_AUTH_HELPERS="$BASIC_AUTH_HELPERS `basename $helper`"
94439e4e 940 fi
941 done
942 ;;
943 no)
944 ;;
945 *)
fc83a946 946 BASIC_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
94439e4e 947 esac
948])
949AC_ARG_ENABLE(basic-auth-helpers,
950[ --enable-basic-auth-helpers=\"list of helpers\"
951 This option selects which basic scheme proxy_auth
952 helpers to build and install as part of the normal
953 build process. For a list of available
0c510f3c 954 helpers see the helpers/basic_auth directory.],
94439e4e 955[ case "$enableval" in
956 yes)
957 BASIC_AUTH_HELPERS=""
0c510f3c 958 for helper in $srcdir/helpers/basic_auth/*; do
94439e4e 959 if test -f $helper/Makefile.in; then
fc83a946 960 BASIC_AUTH_HELPERS="$BASIC_AUTH_HELPERS `basename $helper`"
94439e4e 961 fi
962 done
963 ;;
964 no)
965 ;;
966 *)
fc83a946 967 BASIC_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
94439e4e 968 esac
969])
fc83a946 970if test -n "$BASIC_AUTH_HELPERS"; then
20d8bfe4 971 for helper in $BASIC_AUTH_HELPERS; do
972 if test -f $srcdir/helpers/basic_auth/$helper/Makefile.in; then
973 :
974 else
975 echo "ERROR: Basic auth helper $helper does not exists"
976 exit 1
977 fi
978 done
fc83a946 979 echo "Basic auth helpers built: $BASIC_AUTH_HELPERS"
94439e4e 980fi
fc83a946 981AC_SUBST(BASIC_AUTH_HELPERS)
94439e4e 982
983dnl Select ntlm auth helpers to build
984NTLM_AUTH_HELPERS=
985AC_ARG_ENABLE(ntlm-auth-helpers,
986[ --enable-ntlm-auth-helpers=\"list of helpers\"
987 This option selects which proxy_auth ntlm helpers
988 to build and install as part of the normal build
0c510f3c 989 process. For a list of available helpers see
990 the helpers/ntlm_auth directory.],
380f0a87 991[ case "$enableval" in
992 yes)
0c510f3c 993 for helper in $srcdir/helpers/ntlm_auth/*; do
94439e4e 994 if test -f $helper/Makefile.in; then
995 NTLM_AUTH_HELPERS="$NTLM_AUTH_HELPERS `basename $helper`"
380f0a87 996 fi
997 done
998 ;;
999 no)
1000 ;;
1001 *)
94439e4e 1002 NTLM_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
380f0a87 1003 esac
1004])
94439e4e 1005if test -n "$NTLM_AUTH_HELPERS"; then
20d8bfe4 1006 for helper in $NTLM_AUTH_HELPERS; do
1007 if test -f $srcdir/helpers/ntlm_auth/$helper/Makefile.in; then
1008 :
1009 else
1010 echo "ERROR: NTLM auth helper $helper does not exists"
1011 exit 1
1012 fi
1013 done
94439e4e 1014 echo "NTLM auth helpers built: $NTLM_AUTH_HELPERS"
380f0a87 1015fi
94439e4e 1016AC_SUBST(NTLM_AUTH_HELPERS)
1017
2d70df72 1018dnl Select digest auth scheme helpers to build
1019DIGEST_AUTH_HELPERS=
1020AC_ARG_ENABLE(digest-auth-helpers,
1021[ --enable-digest-auth-helpers=\"list of helpers\"
1022 This option selects which digest scheme authentication
1023 helpers to build and install as part of the normal build
0c510f3c 1024 process. For a list of available helpers see the
1025 helpers/digest_auth directory.],
2d70df72 1026[ case "$enableval" in
1027 yes)
0c510f3c 1028 for helper in $srcdir/helpers/digest_auth/*; do
2d70df72 1029 if test -f $helper/Makefile.in; then
1030 DIGEST_AUTH_HELPERS="$DIGEST_AUTH_HELPERS `basename $helper`"
1031 fi
1032 done
1033 ;;
1034 no)
1035 ;;
1036 *)
1037 DIGEST_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
1038 esac
1039])
1040if test -n "$DIGEST_AUTH_HELPERS"; then
1daefc1a 1041 for helper in $DIGEST_AUTH_HELPERS; do
1042 if test -f $srcdir/helpers/digest_auth/$helper/Makefile.in; then
1043 :
1044 else
1045 echo "ERROR: digest auth helper $helper does not exists"
1046 exit 1
1047 fi
1048 done
2d70df72 1049 echo "Digest auth helpers built: $DIGEST_AUTH_HELPERS"
1050fi
1051AC_SUBST(DIGEST_AUTH_HELPERS)
380f0a87 1052
6437ac71 1053dnl Enable "NTLM fail open"
1054AC_ARG_ENABLE(ntlm-fail-open,
1055[ --enable-ntlm-fail-open Enable NTLM fail open, where a helper that fails one of the
0961c811 1056 Authentication steps can allow squid to still authenticate
1057 the user.],
6437ac71 1058[ if test "$enableval" = "yes" ; then
1059 AC_DEFINE(NTLM_FAIL_OPEN)
1060 fi
1061])
1062
c6588c68 1063dnl Select external_acl helpers to build
1064EXTERNAL_ACL_HELPERS=
1065AC_ARG_ENABLE(external-acl-helpers,
1066[ --enable-external-acl-helpers=\"list of helpers\"
1067 This option selects which external_acl helpers to
1068 build and install as part of the normal build
1069 process. For a list of available helpers see the
1070 helpers/external_acl directory.],
1071[ case "$enableval" in
1072 yes)
1073 for helper in $srcdir/helpers/external_acl/*; do
1074 if test -f $helper/Makefile.in; then
1075 EXTERNAL_ACL_HELPERS="$EXTERNAL_ACL_HELPERS `basename $helper`"
1076 fi
1077 done
1078 ;;
1079 no)
1080 ;;
1081 *)
1082 EXTERNAL_ACL_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`"
1083 esac
1084])
1085if test -n "$EXTERNAL_ACL_HELPERS"; then
20d8bfe4 1086 for helper in $EXTERNAL_ACL_HELPERS; do
1087 if test -f $srcdir/helpers/external_acl/$helper/Makefile.in; then
1088 :
1089 else
1daefc1a 1090 echo "ERROR: external acl helper $helper does not exists"
20d8bfe4 1091 exit 1
1092 fi
1093 done
c6588c68 1094 echo "External acl helpers built: $EXTERNAL_ACL_HELPERS"
1095fi
1096AC_SUBST(EXTERNAL_ACL_HELPERS)
1097
d96ceb8e 1098dnl Disable "memPools" code
1099AC_ARG_ENABLE(mempools,
1100[ --disable-mempools Disable memPools],
1101[ if test "$enableval" = "no" ; then
1102 echo "memPools disabled"
1103 AC_DEFINE(DISABLE_POOLS, 1)
1104 else
1105 AC_DEFINE(DISABLE_POOLS, 0)
1106 fi
1107])
1108
3c573763 1109dnl Disable "unlinkd" code
fe0810ac 1110AC_ARG_ENABLE(unlinkd,
1111[ --disable-unlinkd Do not use unlinkd],
1112[ if test "$enableval" = "no" ; then
3c573763 1113 use_unlinkd=no
fe0810ac 1114 else
3c573763 1115 use_unlinkd=yes
fe0810ac 1116 fi
1117],[
1118 # Here we should probably use some magic depending on the selected
1119 # storage models
3c573763 1120 use_unlinkd=yes
fe0810ac 1121])
3c573763 1122if test "$use_unlinkd" = "yes"; then
fe0810ac 1123 echo "unlinkd enabled"
1124 AC_DEFINE(USE_UNLINKD)
a2794549 1125 AM_CONDITIONAL(ENABLE_UNLINKD, true)
fe0810ac 1126else
1127 echo "unlinkd disabled"
a2794549 1128 AM_CONDITIONAL(ENABLE_UNLINKD, false)
fe0810ac 1129fi
fe0810ac 1130
ce3d30fb 1131dnl Enable backtraces on fatal errors
1132AC_ARG_ENABLE(stacktraces,
1133[ --enable-stacktraces Enable automatic call backtrace on fatal errors],
1134[ if test "$enableval" = "yes" ; then
1135 echo "Enabling automatic stack backtraces on fatal errors"
1136 AC_DEFINE(PRINT_STACK_TRACE, 1)
1137 fi
1138])
1139
f66a9ef4 1140dnl Enable X-Accelerator-Vary for Vary support within an accelerator setup
1141AC_ARG_ENABLE(x_accelerator_vary,
0961c811 1142[ --enable-x-accelerator-vary
1143 Enable support for the X-Accelerator-Vary
1144 HTTP header. Can be used to indicate
1145 variance within an accelerator setup.
1146 Typically used together with other code
1147 that adds custom HTTP headers to the requests.],
f66a9ef4 1148[ if test "$enableval" = "yes" ; then
1149 echo "Enabling support for X-Accelerator-Vary"
1150 AC_DEFINE(X_ACCELERATOR_VARY, 1)
1151 fi
1152])
1153
fd9aaa3e 1154# Force some compilers to use ANSI features
1155#
1156case "$host" in
1157 alpha-dec-osf*)
1158 if test "$ac_cv_prog_CC" = "cc" ; then
1159 echo "adding '-std1' to cc args for $host"
1160 CC="cc -std1";
1161 ac_cv_prog_CC="$CC"
1162 fi
1163 ;;
c68e9c6b 1164 *-hp-hpux*)
1165 if test "$ac_cv_prog_CC" = "cc" ; then
1166 echo "adding '-Ae' to cc args for $host"
1167 CC="cc -Ae";
1168 ac_cv_prog_CC="$CC"
1169 fi
1170 ;;
fd9aaa3e 1171esac
1172
090089c4 1173dnl Check for programs
1174AC_PROG_CPP
1175AC_PROG_INSTALL
1176AC_PROG_RANLIB
1177AC_PROG_LN_S
81280a96 1178AC_PATH_PROG(SH, sh, /bin/sh)
d9f67e6f 1179AC_PATH_PROG(FALSE, false, /usr/bin/false)
1180AC_PATH_PROG(TRUE, true, /usr/bin/true)
1181AC_PATH_PROG(RM, rm, $FALSE)
1182AC_PATH_PROG(MV, mv, $FALSE)
1183AC_PATH_PROG(MKDIR, mkdir, $FALSE)
090089c4 1184AC_PATH_PROG(LN, ln, cp)
4e9d8e26 1185AC_PATH_PROG(PERL, perl, none)
a2794549 1186dnl automake handles this AC_PATH_PROG(MAKEDEPEND, makedepend, $TRUE)
6ad85e8a 1187AC_PATH_PROG(AR, ar, $FALSE)
1188
4e9d8e26 1189if test "$ac_cv_path_PERL" = "none"; then
1190 echo "Perl is required to compile Squid"
1191 echo "Please install Perl and then re-run configure"
1192 exit 1
1193fi
1194
6ad85e8a 1195case "$host" in
1196 *-hp-hpux*)
1197 echo "Disabling 'ranlib' for HP-UX..."
1198 RANLIB=":"
1199 ;;
1200esac
1201
1202dnl set $(AR)
1203AR_R="$AR r"
1204case "$host" in
1205 *-next-nextstep3)
1206 AR="libtool -o"
1207 ;;
1208esac
1209AC_SUBST(AR_R)
090089c4 1210
1211dnl Check for headers
1212AC_HEADER_DIRENT
1213AC_HEADER_STDC
db40ae20 1214
1215AC_CHECK_HEADERS( \
db40ae20 1216 arpa/inet.h \
30a4f2a8 1217 arpa/nameser.h \
9441aa34 1218 assert.h \
db40ae20 1219 bstring.h \
db40ae20 1220 crypt.h \
30a4f2a8 1221 ctype.h \
1222 errno.h \
ce3d30fb 1223 execinfo.h \
db40ae20 1224 fcntl.h \
9c1d8929 1225 getopt.h \
88738790 1226 gnumalloc.h \
30a4f2a8 1227 grp.h \
5cafc1d6 1228 ip_compat.h \
42b51993 1229 ip_fil_compat.h \
5cafc1d6 1230 ip_fil.h \
1231 ip_nat.h \
30a4f2a8 1232 libc.h \
6ad85e8a 1233 limits.h \
d852fbad 1234 linux/netfilter_ipv4.h \
30a4f2a8 1235 malloc.h \
e0bddc45 1236 math.h \
db40ae20 1237 memory.h \
b075cbb1 1238 mount.h \
5cafc1d6 1239 net/if.h \
2b0dd4ac 1240 net/pfvar.h \
30a4f2a8 1241 netdb.h \
c415c128 1242 netinet/if_ether.h \
db40ae20 1243 netinet/in.h \
30a4f2a8 1244 netinet/tcp.h \
eb824054 1245 netinet/ip_compat.h \
42b51993 1246 netinet/ip_fil_compat.h \
eb824054 1247 netinet/ip_fil.h \
1248 netinet/ip_nat.h \
1f7c9178 1249 openssl/err.h \
1250 openssl/md5.h \
1251 openssl/ssl.h \
dcfe6390 1252 poll.h \
30a4f2a8 1253 pwd.h \
1254 regex.h \
1255 resolv.h \
c68e9c6b 1256 sched.h \
30a4f2a8 1257 signal.h \
1258 stdarg.h \
1259 stddef.h \
1260 stdio.h \
db40ae20 1261 stdlib.h \
1262 string.h \
1263 strings.h \
0a4e8536 1264 sys/bitypes.h \
db40ae20 1265 sys/file.h \
5cafc1d6 1266 sys/ioctl.h \
0343b99c 1267 sys/mount.h \
ebb3c3ba 1268 sys/msg.h \
30a4f2a8 1269 sys/param.h \
1270 sys/resource.h \
db40ae20 1271 sys/select.h\
30a4f2a8 1272 sys/socket.h \
1273 sys/stat.h \
b075cbb1 1274 sys/statvfs.h \
3c641669 1275 syscall.h \
30a4f2a8 1276 sys/syscall.h \
db40ae20 1277 sys/time.h \
1278 sys/types.h \
30a4f2a8 1279 sys/un.h \
b075cbb1 1280 sys/vfs.h \
30a4f2a8 1281 sys/wait.h \
db40ae20 1282 syslog.h \
30a4f2a8 1283 time.h \
1284 unistd.h \
3c641669 1285 utime.h \
30a4f2a8 1286 varargs.h \
77d6bd88 1287 byteswap.h \
1288 glib.h \
60d096f4 1289 stdint.h \
1290 inttypes.h \
3c641669 1291 grp.h \
1292 nss_common.h \
1293 nss.h
db40ae20 1294)
1295
aee0606f 1296AC_C_CONST
d57288d2 1297AC_C_BIGENDIAN
aee0606f 1298
5c51415d 1299AC_CACHE_CHECK(if ANSI prototypes work,ac_cv_have_ansi_prototypes, [
1300 AC_TRY_COMPILE([int foo(char *); int foo (char *bar) {return 1;}],
1301 [foo("bar")],
1302 ac_cv_have_ansi_prototypes="yes",
1303 ac_cv_have_ansi_prototypes="no")
1304])
1305if test $ac_cv_have_ansi_prototypes = "yes" ; then
1306 AC_DEFINE(HAVE_ANSI_PROTOTYPES)
1307fi
20a50bb9 1308
5c51415d 1309AC_CACHE_CHECK(for tm->tm_gmtoff,ac_cv_have_tm_gmoff, [
1310 AC_TRY_COMPILE([#include <time.h>
46c883ed 1311#include <sys/time.h>],
5c51415d 1312 [struct tm foo;
1313 foo.tm_gmtoff = 0;],
1314 ac_cv_have_tm_gmoff="yes",
1315 ac_cv_have_tm_gmoff="no")
1316])
1317if test $ac_cv_have_tm_gmoff = "yes" ; then
1318 AC_DEFINE(HAVE_TM_GMTOFF)
1319fi
46c883ed 1320
eb824054 1321AC_CACHE_CHECK(for struct mallinfo,ac_cv_have_struct_mallinfo, [
1322 AC_TRY_COMPILE([#include <sys/types.h>
1323#if HAVE_MALLOC_H
1324#include <malloc.h>
1325#endif],
1326 [struct mallinfo foo;
1327 foo.arena = 0;
1328 foo.ordblks = 0;
1329 foo.smblks = 0;
1330 foo.hblks = 0;
1331 foo.hblkhd = 0;
1332 foo.uordblks = 0;
1333 foo.fordblks = 0;
1334 foo.keepcost = 0;],
1335 ac_cv_have_struct_mallinfo="yes",
1336 ac_cv_have_struct_mallinfo="no")
1337])
1338if test $ac_cv_have_struct_mallinfo = "yes" ; then
1339 AC_DEFINE(HAVE_STRUCT_MALLINFO)
1340fi
1341
5c51415d 1342AC_CACHE_CHECK(for extended mallinfo,ac_cv_have_ext_mallinfo, [
1343 AC_TRY_COMPILE([#include <sys/types.h>
46c883ed 1344#include <malloc.h>],
5c51415d 1345 [struct mallinfo foo;
1346 foo.mxfast = 0;],
1347 ac_cv_have_ext_mallinfo="yes",
1348 ac_cv_have_ext_mallinfo="no")
1349])
1350if test $ac_cv_have_ext_mallinfo = "yes" ; then
1351 AC_DEFINE(HAVE_EXT_MALLINFO)
1352fi
090089c4 1353
b54a6789 1354AC_CACHE_CHECK(for struct rusage,ac_cv_have_struct_rusage, [
1355 AC_TRY_COMPILE([
8ff51bba 1356#if HAVE_SYS_TIME_H
1357#include <sys/time.h>
1358#endif
b54a6789 1359#if HAVE_SYS_RESOURCE_H
1360#include <sys/resource.h>
1361#endif],
1362 [struct rusage R;],
1363 ac_cv_have_struct_rusage="yes",
1364 ac_cv_have_struct_rusage="no")
1365])
1366if test $ac_cv_have_struct_rusage = "yes" ; then
1367 AC_DEFINE(HAVE_STRUCT_RUSAGE)
1368fi
1369
5c51415d 1370AC_CACHE_CHECK(for ip->ip_hl, ac_cv_have_ip_hl, [
1371 AC_TRY_COMPILE([#include <sys/types.h>
a025a745 1372#include <netinet/in.h>
1373#include <netinet/in_systm.h>
6ad85e8a 1374#include <netinet/ip.h>
b05490a8 1375#if defined (__linux__) || defined (__CYGWIN__)
6ad85e8a 1376#define ip_hl ihl
1377#endif
1378#ifndef __linux__
b05490a8 1379#ifndef __CYGWIN__
6ad85e8a 1380#define iphdr ip
b05490a8 1381#endif
6ad85e8a 1382#endif],
5c51415d 1383 [struct iphdr ip;
1384 ip.ip_hl= 0;],
1385 ac_cv_have_ip_hl="yes",
1386 ac_cv_have_ip_hl="no")
1387])
1388if test $ac_cv_have_ip_hl = "yes" ; then
1389 AC_DEFINE(HAVE_IP_HL)
1390fi
a025a745 1391
090089c4 1392dnl Check for typedefs
77d6bd88 1393AC_CHECK_SIZEOF(void *)
1394AC_CHECK_SIZEOF(short)
090089c4 1395AC_CHECK_SIZEOF(int)
1396AC_CHECK_SIZEOF(long)
77d6bd88 1397AC_CHECK_SIZEOF(long long)
8154dd82 1398AC_CHECK_SIZEOF_SYSTYPE(__int64)
1399AC_CHECK_SIZEOF_SYSTYPE(int16_t)
1400AC_CHECK_SIZEOF_SYSTYPE(uint16_t)
1401AC_CHECK_SIZEOF_SYSTYPE(u_int16_t)
1402AC_CHECK_SIZEOF_SYSTYPE(int32_t)
1403AC_CHECK_SIZEOF_SYSTYPE(uint32_t)
1404AC_CHECK_SIZEOF_SYSTYPE(u_int32_t)
1405AC_CHECK_SIZEOF_SYSTYPE(int64_t)
1406AC_CHECK_SIZEOF_SYSTYPE(uint64_t)
1407AC_CHECK_SIZEOF_SYSTYPE(u_int64_t)
77d6bd88 1408
1409dnl int16_t
1410if test "x$ac_cv_sizeof_short" = "x2"; then
62b34480 1411 AC_CHECK_SYSTYPE(int16_t,short)
77d6bd88 1412elif test "x$ac_cv_sizeof_int" = "x2"; then
62b34480 1413 AC_CHECK_SYSTYPE(int16_t,int)
77d6bd88 1414fi
1415dnl u_int16t_t
1416if test "x$ac_cv_sizeof_uint16_t" = "x2"; then
62b34480 1417 AC_CHECK_SYSTYPE(u_int16_t,uint16_t)
77d6bd88 1418elif test "x$ac_cv_sizeof_short" = "x2"; then
62b34480 1419 AC_CHECK_SYSTYPE(u_int16_t,unsigned short)
77d6bd88 1420elif test "x$ac_cv_sizeof_int" = "x2"; then
62b34480 1421 AC_CHECK_SYSTYPE(u_int16_t,unsigned int)
77d6bd88 1422fi
1423dnl int32_t
1424if test "x$ac_cv_sizeof_int" = "x4"; then
62b34480 1425 AC_CHECK_SYSTYPE(int32_t,int)
77d6bd88 1426elif "x$ac_cv_sizeof_long" = "x4"; then
62b34480 1427 AC_CHECK_SYSTYPE(int32_t,long)
77d6bd88 1428fi
1429dnl u_int32_t
1430if test "x$ac_cv_sizeof_uint32_t" = "x4"; then
62b34480 1431 AC_CHECK_SYSTYPE(u_int32_t,uint32_t)
77d6bd88 1432elif test "x$ac_cv_sizeof_int" = "x4"; then
62b34480 1433 AC_CHECK_SYSTYPE(u_int32_t,unsigned int)
77d6bd88 1434elif test "x$ac_cv_sizeof_long" = "x4"; then
62b34480 1435 AC_CHECK_SYSTYPE(u_int32_t,unsigned long)
77d6bd88 1436fi
1437dnl int64_t
1438if test "x$ac_cv_sizeof_long" = "x8"; then
62b34480 1439 AC_CHECK_SYSTYPE(int64_t,long)
77d6bd88 1440elif test "x$ac_cv_sizeof_long_long" = "x8"; then
62b34480 1441 AC_CHECK_SYSTYPE(int64_t,long long)
77d6bd88 1442elif test "x$ac_cv_sizeof___int64" = "x8"; then
62b34480 1443 AC_CHECK_SYSTYPE(int64_t,__int64)
77d6bd88 1444fi
1445dnl u_int64_t
1446if test "x$ac_cv_sizeof_uint64_t" = "x8"; then
62b34480 1447 AC_CHECK_SYSTYPE(u_int64_t,uint64_t)
77d6bd88 1448elif test "x$ac_cv_sizeof_long" = "x8"; then
62b34480 1449 AC_CHECK_SYSTYPE(u_int64_t,unsigned long)
77d6bd88 1450elif test "x$ac_cv_sizeof_long_long" = "x8"; then
62b34480 1451 AC_CHECK_SYSTYPE(u_int64_t,unsigned long long)
77d6bd88 1452elif test "x$ac_cv_sizeof___int64" = "x8"; then
62b34480 1453 AC_CHECK_SYSTYPE(int64_t,unsigned __int64)
77d6bd88 1454fi
090089c4 1455
3f6fcd8a 1456AC_CHECK_TYPE(pid_t, int)
0897af2d 1457AC_CHECK_TYPE(size_t, unsigned int)
1458AC_CHECK_TYPE(ssize_t, int)
3f6fcd8a 1459AC_CHECK_TYPE(off_t, int)
95cf2361 1460AC_CHECK_TYPE(mode_t, u_short)
c716a1dd 1461AC_CHECK_TYPE(fd_mask, int)
3f6fcd8a 1462
adcceb47 1463AC_CHECK_SIZEOF_SYSTYPE(off_t, 4)
1464AC_CHECK_SIZEOF_SYSTYPE(size_t, 4)
1465
77d6bd88 1466dnl Check for special functions
1467AC_FUNC_ALLOCA
1468
1469
6637e3a5 1470dnl Check for type in sys/socket.h
1471AC_CACHE_CHECK(for socklen_t, ac_cv_type_socklen_t, [
1472 AC_EGREP_CPP([socklen_t[^a-zA-Z_0-9]], [#include <sys/types.h>
1473#include <sys/socket.h>
1474#if STDC_HEADERS
1475#include <stdlib.h>
1476#include <stddef.h>
1477#endif],
1478 ac_cv_type_socklen_t=yes,
1479 ac_cv_type_socklen_t=no)
1480])
1481if test $ac_cv_type_socklen_t = no; then
1482 AC_DEFINE(socklen_t, int)
1483fi
1484
aea1be68 1485dnl Check for mtyp_t in some headers
1486AC_CACHE_CHECK(for mtyp_t, ac_cv_type_mtyp_t, [
1487 AC_EGREP_CPP([mtyp_t[^a-zA-Z_0-9]], [#include <sys/types.h>
1488#include <sys/ipc.h>
1489#include <sys/msg.h>],
1490 ac_cv_type_mtyp_t=yes,
1491 ac_cv_type_mtyp_t=no)
1492])
1493if test $ac_cv_type_mtyp_t = no; then
1494 AC_DEFINE(mtyp_t, long)
1495 fi
1496
090089c4 1497dnl Check for needed libraries
30a4f2a8 1498AC_CHECK_LIB(nsl, main)
6716b242 1499AC_CHECK_LIB(socket, main)
94d48591 1500
3c641669 1501dnl Ripped from the Samba sources
1502AC_CACHE_CHECK([for unix domain sockets],squid_cv_unixsocket, [
1503 AC_TRY_COMPILE([
1504#include <sys/types.h>
1505#include <stdlib.h>
1506#include <stddef.h>
1507#include <sys/socket.h>
1508#include <sys/un.h>],
1509[
1510 struct sockaddr_un sunaddr;
1511 sunaddr.sun_family = AF_UNIX;
1512],
1513 squid_cv_unixsocket=yes,squid_cv_unixsocket=no)])
1514if test x"$squid_cv_unixsocket" = x"yes"; then
1515 AC_DEFINE(HAVE_UNIXSOCKET)
1516fi
1517dnl end rip
1518
94d48591 1519if test "x$ac_cv_enabled_dlmalloc" = "xyes" ; then
1520 echo "skipping libmalloc check (--enable-dlmalloc specified)"
5c51415d 1521else
94d48591 1522 AC_CHECK_LIB(gnumalloc, main)
1523 if test "$ac_cv_lib_gnumalloc_main" = "yes"; then
1524 echo "Disabling extended malloc functions when using gnumalloc"
1525 ac_cv_func_mallinfo=no
1526 ac_cv_func_mallocblksize=no
1527 ac_cv_func_mallopt=no
1528 else
1529 case "$host" in
1530 *-sun-solaris*)
1531 echo "skipping libmalloc check for $host"
1532 ;;
1533 i386-*-freebsd*)
1534 echo "skipping libmalloc check for $host"
1535 ;;
1536 *)
1537
1538 AC_CHECK_LIB(malloc, main)
1539 ;;
1540 esac
1541 fi
8a15e65e 1542fi
94d48591 1543
6716b242 1544AC_CHECK_LIB(bsd, main)
be79ade0 1545AC_CHECK_LIB(regex, main, [REGEXLIB="-lregex"])
04a56fa3 1546AC_CHECK_LIB(bind, gethostbyname)
1547if test $ac_cv_lib_bind_gethostbyname = "no" ; then
1548 case "$host" in
78743365 1549 i386-*-freebsd*)
1550 echo "skipping libresolv checks for $host"
1551 ;;
1552 *)
1553 AC_CHECK_LIB(resolv, inet_aton, AC_CHECK_LIB(44bsd, inet_aton))
1554 AC_CHECK_LIB(resolv, main)
1555 ;;
04a56fa3 1556 esac
1557fi
e0bddc45 1558AC_CHECK_LIB(m, main)
090089c4 1559
1560dnl Check for libcrypt
8154dd82 1561dnl Some of our helpers use crypt(3) which may be in libc, or in
1562dnl libcrypt (eg FreeBSD)
042b1f8a 1563AC_CHECK_LIB(crypt, crypt, [CRYPTLIB="-lcrypt"])
be79ade0 1564AC_SUBST(CRYPTLIB)
77f675ad 1565
042b1f8a 1566dnl Check for libdl, used by auth_modules/PAM
8154dd82 1567if test "$with_dl" = "yes"; then
1568 AC_CHECK_LIB(dl, dlopen)
1569fi
042b1f8a 1570
e5f4e1b0 1571dnl Check for pthreads
1572dnl We use pthreads when doing ASYNC I/O
8154dd82 1573if test "$with_pthreads" = "yes"; then
1574 AC_CHECK_LIB(pthread, main)
1575fi
71f8abc8 1576
f85c88f3 1577dnl Check for librt
1578dnl We use AIO in the coss store
8154dd82 1579if test "$with_aio" = "yes"; then
1580 AC_CHECK_LIB(rt, aio_read)
1581fi
f85c88f3 1582
86ec11aa 1583dnl -lintl is needed on SCO version 3.2v4.2 for strftime()
1584dnl Robert Side <rside@aiinc.bc.ca>
1585dnl Mon, 18 Jan 1999 17:48:00 GMT
1586case "$host" in
1587 *-pc-sco3.2*)
1588 AC_CHECK_LIB(intl, strftime)
1589 ;;
1590esac
1591
77f675ad 1592dnl System-specific library modifications
1593dnl
1594case "$host" in
88738790 1595 i386-*-solaris2.*)
7149a49f 1596 if test "$GCC" = "yes"; then
1597 echo "Removing -O for gcc on $host"
80e92d6d 1598 CFLAGS="`echo $CFLAGS | sed -e 's/-O[[0-9]]*//'`"
7149a49f 1599 fi
1600 ;;
77f675ad 1601 *-sgi-irix*)
1602 echo "Removing -lsocket for IRIX..."
6716b242 1603 LIBS=`echo $LIBS | sed -e s/-lsocket//`
77f675ad 1604 echo "Removing -lnsl for IRIX..."
6716b242 1605 LIBS=`echo $LIBS | sed -e s/-lnsl//`
c415c128 1606 ac_cv_lib_nsl_main=no
b44c0fb4 1607 echo "Removing -lbsd for IRIX..."
1608 LIBS=`echo $LIBS | sed -e s/-lbsd//`
77f675ad 1609 ;;
4ba0bd0e 1610dnl From: c0032033@ws.rz.tu-bs.de (Joerg Schumacher)
1611dnl Date: Thu, 17 Oct 1996 04:09:30 +0200
1612dnl Please change your configure script. AIX doesn't need -lbsd.
1613 *-ibm-aix*)
1614 echo "Removing -lbsd for AIX..."
1615 LIBS=`echo $LIBS | sed -e s/-lbsd//`
c68e9c6b 1616dnl From: mlaster@metavillage.com (Mike Laster)
1617dnl AIX 4.1.4.x does not have header files for snprintf/vsnprintf
1618dnl So using the internal versions generates a load of warnings
1619dnl during compile.
1620 echo "disabling snprintf/vsnprintf for $host"
1621 ac_cv_func_snprintf=no
1622 ac_cv_func_vsnprintf=no
4ba0bd0e 1623 ;;
30a4f2a8 1624 *m88k*)
1625 CFLAGS="$CFLAGS -D_SQUID_MOTOROLA_"
7149a49f 1626 AC_DEFINE(GETTIMEOFDAY_NO_TZP)
1627 ;;
580ce039 1628 [*-*-solaris2.[0-4]])
7149a49f 1629 AC_DEFINE(GETTIMEOFDAY_NO_TZP)
30a4f2a8 1630 ;;
711fa75e 1631 [*-sony-newsos[56]*])
f62c73dc 1632 AC_DEFINE(GETTIMEOFDAY_NO_TZP)
1633 ;;
77f675ad 1634esac
090089c4 1635
57faa85a 1636# Remove optimization for GCC 2.95.[123]
d20b1cd0 1637# gcc -O[2] on *BSD and Linux (x86) causes pointers to magically become NULL
1638if test "$GCC" = "yes"; then
1639 GCCVER=`$CC -v 2>&1 | awk '$2 == "version" {print $3}'`
1640 case "$GCCVER" in
57faa85a 1641 [2.95.[123]])
d20b1cd0 1642 echo "Removing -O for gcc on $host with GCC $GCCVER"
1643 CFLAGS="`echo $CFLAGS | sed -e 's/-O[[0-9]]*//'`"
1644 ;;
1645 esac
1646fi
1647
176d10ee 1648# Recommended by Balint Nagy Endre <bne@CareNet.hu>
1649case "$host" in
1650 *-univel-sysv4.2MP)
1651 if test `uname -v` = "2.03"; then
1652 echo "disabling mallinfo for $host"
1653 ac_cv_func_mallinfo=no
1654 fi
1655 ;;
1656esac
1657
84cecfd2 1658dnl This has to be before AC_CHECK_FUNCS
1659# Disable poll() on certain platforms. Override by setting ac_cv_func_poll
1660# when running configure.
1661if test -z "$ac_cv_func_poll"; then
1662 case "$host" in
1663 [alpha-dec-osf3.*])
1664 # John Kay (jkay@nlanr.net) 19970818
1665 echo "disabling poll for $host..."
1666 ac_cv_func_poll='no'
1667 ;;
1668 [*-hp-hpux*.*])
1669 # Duane Wessels
1670 echo "disabling poll for $host..."
1671 ac_cv_func_poll='no'
1672 ;;
1673 [*-linux-*])
f5cec332 1674 # Henrik Nordstrom (hno@squid-cache.org) 19980817
9bb83c8b 1675 # poll is problematic on Linux. We disable it
1676 # by default until Linux gets it right.
b6a2f15e 1677 rev=`uname -r | awk -F. '{printf "%03d%03d",$1,$2}'`
1678 if test $rev -lt 002002; then
1679 echo "disabling poll for $host < 2.2..."
1680 ac_cv_func_poll='no'
1681 fi
84cecfd2 1682 ;;
c68e9c6b 1683 [powerpc-ibm-aix4.1.*])
1684 # Mike Laster (mlaster@metavillage.com) 19981021
1685 echo "disabling poll for $host..."
1686 ac_cv_func_poll='no'
1687 ;;
86ec11aa 1688 [*-pc-sco3.2*])
1689 # Robert Side <rside@aiinc.bc.ca>
1690 # Mon, 18 Jan 1999 17:48:00 GMT
1691 echo "disabling poll for $host..."
1692 ac_cv_func_poll='no'
1693 ;;
84cecfd2 1694 esac
1695fi
176d10ee 1696
6716b242 1697dnl Check for library functions
1698AC_CHECK_FUNCS(\
ce3d30fb 1699 backtrace_symbols_fd \
3a144521 1700 bcopy \
1701 bswap_16 \
1702 bswap_32 \
df087e68 1703 crypt \
4ac29a5b 1704 fchmod \
6716b242 1705 getdtablesize \
8505e57b 1706 getpagesize \
230c091c 1707 getpass \
3a144521 1708 getrlimit \
30a4f2a8 1709 getrusage \
9c1d8929 1710 getspnam \
30a4f2a8 1711 lrand48 \
6716b242 1712 mallinfo \
0f5efab0 1713 mallocblksize \
6716b242 1714 mallopt \
2ae6b9b0 1715 memcpy \
30a4f2a8 1716 memmove \
dac27377 1717 memset \
b99a6dec 1718 mkstemp \
1812b6c7 1719 mktime \
88738790 1720 mstats \
84cecfd2 1721 poll \
3a144521 1722 pthread_attr_setschedparam \
cd748f27 1723 pthread_attr_setscope \
1724 pthread_setschedparam \
42b51993 1725 pthread_sigmask \
c68e9c6b 1726 putenv \
b1e77ec1 1727 random \
6716b242 1728 regcomp \
1729 regexec \
1730 regfree \
30a4f2a8 1731 res_init \
4915be3b 1732 rint \
3a144521 1733 select \
234967c9 1734 seteuid \
c415c128 1735 setgroups \
30a4f2a8 1736 setpgrp \
6716b242 1737 setrlimit \
30a4f2a8 1738 setsid \
1739 sigaction \
11430c03 1740 snprintf \
1ccc0d40 1741 socketpair \
30a4f2a8 1742 srand48 \
b1e77ec1 1743 srandom \
0343b99c 1744 statfs \
6716b242 1745 sysconf \
1746 syslog \
234967c9 1747 timegm \
28da5e0d 1748 vsnprintf \
6716b242 1749)
1750
1b3db6d9 1751dnl Magic which checks whether we are forcing a type of comm loop we
1752dnl are actually going to (ab)use
1753
1754dnl Actually do the define magic now
1755dnl mostly ripped from squid-commloops, thanks to adrian and benno
1756
1757if test "$ac_cv_func_poll" = "yes" ; then
1758 SELECT_TYPE="poll"
1759 AC_DEFINE(USE_POLL)
1760elif test "$ac_cv_func_select" = "yes" ; then
1761 SELECT_TYPE="select"
1762 AC_DEFINE(USE_SELECT)
92b9f1fd 1763elif test "$ac_cv_func_kqueue" = "yes" ; then
1764 SELECT_TYPE="kqueue"
1765 AC_DEFINE(USE_KQUEUE)
1b3db6d9 1766else
92b9f1fd 1767 echo "Eep! Can't find poll, kqueue or select!"
1b3db6d9 1768 echo "I'll try select and hope for the best."
1769 SELECT_TYPE="select"
1770 AC_DEFINE(USE_SELECT)
1771fi
1772echo "Using ${SELECT_TYPE} for select loop."
1b3db6d9 1773
1774
60939927 1775dnl Yay! Another Linux brokenness. Its not good enough
1776dnl to know that setresuid() exists, because RedHat 5.0 declares
1777dnl setresuid() but doesn't implement it.
1778dnl
1779AC_CACHE_CHECK(if setresuid is implemented, ac_cv_func_setresuid,
5c51415d 1780 AC_TRY_RUN([
60939927 1781#include <stdlib.h>
5c51415d 1782 int main() {
1783 if(setresuid(-1,-1,-1)) {
1784 perror("setresuid:");
1785 exit(1);
60939927 1786 }
1787 exit(0);
5c51415d 1788 }
1789 ],ac_cv_func_setresuid="yes",ac_cv_func_setresuid="no")
60939927 1790)
5c51415d 1791if test "$ac_cv_func_setresuid" = "yes" ; then
1792 AC_DEFINE(HAVE_SETRESUID)
1793fi
60939927 1794
c3d0c8b5 1795AM_CONDITIONAL(NEED_OWN_SNPRINTF, false)
1796if test "$ac_cv_func_snprintf" = "no" || test "$ac_cv_func_vsnprintf" = "no" ; then
1797 AM_CONDITIONAL(NEED_OWN_SNPRINTF, true)
1798fi
1799
5cafc1d6 1800dnl IP-Filter support requires ipf header files. These aren't
1801dnl installed by default, so we need to check for them
1802if test "$IPF_TRANSPARENT" ; then
1803 AC_MSG_CHECKING(if IP-Filter header files are installed)
42b51993 1804 # hold on to your hats...
1805 if test "$ac_cv_header_ip_compat_h" = "yes" ||
1806 test "$ac_cv_header_ip_fil_compat_h" = "yes" ||
87d21d8b 1807 test "$ac_cv_header_netinet_ip_compat_h" = "yes" ||
1808 test "$ac_cv_header_netinet_ip_fil_compat_h" = "yes" ; then
42b51993 1809 have_ipfilter_compat_header="yes"
1810 fi
1811 if test "x$have_ipfilter_compat_header" = "xyes" &&
eb824054 1812 test "$ac_cv_header_ip_fil_h" = "yes" &&
1813 test "$ac_cv_header_ip_nat_h" = "yes" ; then
1814 IPF_TRANSPARENT="yes"
1815 AC_DEFINE(IPF_TRANSPARENT, 1)
42b51993 1816 elif test "$have_ipfilter_compat_header" = "yes" &&
eb824054 1817 test "$ac_cv_header_netinet_ip_fil_h" = "yes" &&
1818 test "$ac_cv_header_netinet_ip_nat_h" = "yes" ; then
1819 IPF_TRANSPARENT="yes"
1820 AC_DEFINE(IPF_TRANSPARENT, 1)
1821 else
5cafc1d6 1822 IPF_TRANSPARENT="no"
1823 AC_DEFINE(IPF_TRANSPARENT, 0)
5cafc1d6 1824 fi
1825 AC_MSG_RESULT($IPF_TRANSPARENT)
1826fi
1827if test "$IPF_TRANSPARENT" = "no" ; then
1828 echo "WARNING: Cannot find necessary IP-Filter header files"
1829 echo " Transparent Proxy support WILL NOT be enabled"
1830 sleep 10
1831fi
1832
2b0dd4ac 1833dnl PF support requires a header file.
1834if test "$PF_TRANSPARENT" ; then
1835 AC_MSG_CHECKING(if PF header file is installed)
1836 # hold on to your hats...
1837 if test "$ac_cv_header_net_pfvar_h" = "yes"; then
1838 PF_TRANSPARENT="yes"
1839 AC_DEFINE(PF_TRANSPARENT, 1)
1840 else
1841 PF_TRANSPARENT="no"
1842 AC_DEFINE(PF_TRANSPARENT, 0)
1843 fi
1844 AC_MSG_RESULT($PF_TRANSPARENT)
1845fi
1846if test "$PF_TRANSPARENT" = "no" ; then
1847 echo "WARNING: Cannot find necessary PF header file"
1848 echo " Transparent Proxy support WILL NOT be enabled"
1849 sleep 10
1850fi
1851
d852fbad 1852dnl Linux-Netfilter support requires Linux 2.4 kernel header files.
1853dnl Shamelessly copied from above
1854if test "$LINUX_NETFILTER" ; then
1855 AC_MSG_CHECKING(if Linux 2.4 kernel header files are installed)
1856 # hold on to your hats...
1857 if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes"; then
1858 LINUX_NETFILTER="yes"
1859 AC_DEFINE(LINUX_NETFILTER, 1)
1860 else
1861 LINUX_NETFILTER="no"
1862 AC_DEFINE(LINUX_NETFILTER, 0)
1863 fi
1864 AC_MSG_RESULT($LINUX_NETFILTER)
1865fi
1866if test "$LINUX_NETFILTER" = "no" ; then
1867 echo "WARNING: Cannot find necessary Linux 2.4 kernel header files"
1868 echo " Linux 2.4 Transparent Proxy support WILL NOT be enabled"
1869 sleep 10
1870fi
1871
91bc414e 1872if test -z "$USE_GNUREGEX" ; then
1873 case "$host" in
1874 *-sun-solaris2.[[0-4]])
1875 USE_GNUREGEX="yes"
1876 ;;
1877 *-next-nextstep*)
1878 USE_GNUREGEX="yes"
1879 ;;
1880 esac
1881fi
7a081912 1882AC_MSG_CHECKING(if GNUregex needs to be compiled)
91bc414e 1883if test -z "$USE_GNUREGEX"; then
55878dfd 1884if test "$ac_cv_func_regcomp" = "no" || test "$USE_GNUREGEX" = "yes" ; then
74946a0f 1885 USE_GNUREGEX="yes"
00fa2c12 1886else
0cccc031 1887 AC_TRY_COMPILE([#include <sys/types.h>
1888#include <regex.h>],[regex_t t; regcomp(&t,"",0);],
91bc414e 1889 USE_GNUREGEX="no",
1890 USE_GNUREGEX="yes")
1891fi
00fa2c12 1892fi
74946a0f 1893AC_MSG_RESULT($USE_GNUREGEX)
1894if test "$USE_GNUREGEX" = "yes"; then
26675bf4 1895 REGEXLIB="-lregex"
7a081912 1896 LIBREGEX="libregex.a"
74946a0f 1897 AC_DEFINE(USE_GNUREGEX)
7a081912 1898fi
26675bf4 1899AC_SUBST(REGEXLIB)
00fa2c12 1900AC_SUBST(LIBREGEX)
7a081912 1901
3f6fcd8a 1902AC_REPLACE_FUNCS(\
3d0cf10e 1903 drand48 \
3f6fcd8a 1904 tempnam \
4d38fc7e 1905 strerror \
3f6fcd8a 1906)
1907
5c51415d 1908dnl Not cached since people are likely to tune this
e924600d 1909AC_MSG_CHECKING(Default FD_SETSIZE value)
1910AC_TRY_RUN([
1911#if HAVE_STDIO_H
1912#include <stdio.h>
1913#endif
1914#if HAVE_UNISTD_H
1915#include <unistd.h>
1916#endif
1917#if HAVE_SYS_TIME_H
1918#include <sys/time.h>
1919#endif
1920#if HAVE_SYS_SELECT_H
1921#include <sys/select.h>
1922#endif
1923#if HAVE_SYS_TYPES_H
1924#include <sys/types.h>
1925#endif
1926main() {
635e6242 1927 FILE *fp = fopen("conftestval", "w");
1928 fprintf (fp, "%d\n", FD_SETSIZE);
e924600d 1929 exit(0);
1930}
1931],
1932DEFAULT_FD_SETSIZE=`cat conftestval`,
1933DEFAULT_FD_SETSIZE=256,
1934DEFAULT_FD_SETSIZE=256)
1935AC_MSG_RESULT($DEFAULT_FD_SETSIZE)
1936AC_DEFINE_UNQUOTED(DEFAULT_FD_SETSIZE, $DEFAULT_FD_SETSIZE)
1937
5c51415d 1938dnl Not cached since people are likely to tune this
234967c9 1939AC_MSG_CHECKING(Maximum number of filedescriptors we can open)
c76d8acc 1940dnl damn! FreeBSD's pthreads breaks dup2().
1941TLDFLAGS="$LDFLAGS"
1942case $host in
1943i386-unknown-freebsd*)
1944 if echo "$LDFLAGS" | grep -q pthread; then
1945 LDFLAGS=`echo $LDFLAGS | sed -e "s/-pthread//"`
1946 fi
1947esac
234967c9 1948AC_TRY_RUN([
8cca06da 1949#include <stdio.h>
234967c9 1950#include <unistd.h>
30a4f2a8 1951#include <sys/time.h> /* needed on FreeBSD */
234967c9 1952#include <sys/param.h>
1953#include <sys/resource.h>
1954main() {
635e6242 1955 FILE *fp;
234967c9 1956 int i,j;
42b51993 1957#if defined(__CYGWIN32__) || defined (__CYGWIN__)
b05490a8 1958 /* getrlimit and sysconf returns bogous values on cygwin32.
df087e68 1959 * Number of fds is virtually unlimited in cygwin (sys/param.h)
b05490a8 1960 * __CYGWIN32__ is deprecated.
df087e68 1961 */
1962 i = NOFILE;
b05490a8 1963#else
1964#if HAVE_SETRLIMIT
234967c9 1965 struct rlimit rl;
1966#if defined(RLIMIT_NOFILE)
1967 if (getrlimit(RLIMIT_NOFILE, &rl) < 0) {
1968 perror("getrlimit: RLIMIT_NOFILE");
1969 } else {
1970 rl.rlim_cur = rl.rlim_max; /* set it to the max */
1971 if (setrlimit(RLIMIT_NOFILE, &rl) < 0) {
1972 perror("setrlimit: RLIMIT_NOFILE");
1973 }
1974 }
1975#elif defined(RLIMIT_OFILE)
1976 if (getrlimit(RLIMIT_OFILE, &rl) < 0) {
1977 perror("getrlimit: RLIMIT_OFILE");
1978 } else {
1979 rl.rlim_cur = rl.rlim_max; /* set it to the max */
1980 if (setrlimit(RLIMIT_OFILE, &rl) < 0) {
1981 perror("setrlimit: RLIMIT_OFILE");
1982 }
1983 }
1984#endif /* RLIMIT_NOFILE */
1985#endif /* HAVE_SETRLIMIT */
d9399075 1986 /* by starting at 2^14, we will never get higher
1987 than 2^15 for SQUID_MAXFD */
1988 i = j = 1<<14;
1989 while (j) {
1990 j >>= 1;
1991 if (dup2(0, i) < 0) {
1992 i -= j;
1993 } else {
1994 close(i);
1995 i += j;
1996 }
1997 }
1998 i++;
b05490a8 1999#endif /* IF !DEF CYGWIN */
635e6242 2000 fp = fopen("conftestval", "w");
2001 fprintf (fp, "%d\n", i);
234967c9 2002 exit(0);
2003}
2004],
431d84c5 2005SQUID_MAXFD=`cat conftestval`,
2006SQUID_MAXFD=256,
2007SQUID_MAXFD=256)
2008AC_MSG_RESULT($SQUID_MAXFD)
2009AC_DEFINE_UNQUOTED(SQUID_MAXFD, $SQUID_MAXFD)
b9cc811d 2010if test "$SQUID_MAXFD" -lt 512 ; then
80ab193b 2011 echo "WARNING: $SQUID_MAXFD may not be enough filedescriptors if your"
2012 echo " cache will be very busy. Please see the FAQ page"
2b6662ba 2013 echo " http://www.squid-cache.org/FAQ/FAQ-11.html#filedescriptors"
e692ff35 2014 echo " on how to increase your filedescriptor limit"
933cc58d 2015 sleep 10
80ab193b 2016fi
c76d8acc 2017LDFLAGS="$TLDFLAGS"
234967c9 2018
5c51415d 2019dnl Not cached since people are likely to tune this
30a4f2a8 2020AC_MSG_CHECKING(Default UDP send buffer size)
2021AC_TRY_RUN([
8cca06da 2022#include <stdlib.h>
2023#include <stdio.h>
30a4f2a8 2024#include <sys/types.h>
2025#include <sys/socket.h>
2026#include <netinet/in.h>
2027main ()
2028{
635e6242 2029 FILE *fp;
30a4f2a8 2030 int fd,val=0,len=sizeof(int);
2031 if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) exit(1);
2032 if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) exit(1);
2033 if (val<=0) exit(1);
635e6242 2034 fp = fopen("conftestval", "w");
2035 fprintf (fp, "%d\n", val);
30a4f2a8 2036 exit(0);
2037}
2038],
2039SQUID_UDP_SO_SNDBUF=`cat conftestval`,
1c481e00 2040SQUID_UDP_SO_SNDBUF=16384,
2041SQUID_UDP_SO_SNDBUF=16384)
30a4f2a8 2042AC_MSG_RESULT($SQUID_UDP_SO_SNDBUF)
2043AC_DEFINE_UNQUOTED(SQUID_UDP_SO_SNDBUF, $SQUID_UDP_SO_SNDBUF)
2044
5c51415d 2045dnl Not cached since people are likely to tune this
30a4f2a8 2046AC_MSG_CHECKING(Default UDP receive buffer size)
2047AC_TRY_RUN([
8cca06da 2048#include <stdlib.h>
2049#include <stdio.h>
30a4f2a8 2050#include <sys/types.h>
2051#include <sys/socket.h>
2052#include <netinet/in.h>
2053main ()
2054{
635e6242 2055 FILE *fp;
30a4f2a8 2056 int fd,val=0,len=sizeof(int);
2057 if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) exit(1);
2058 if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) exit(1);
2059 if (val <= 0) exit(1);
635e6242 2060 fp = fopen("conftestval", "w");
2061 fprintf (fp, "%d\n", val);
30a4f2a8 2062 exit(0);
2063}
2064],
2065SQUID_UDP_SO_RCVBUF=`cat conftestval`,
1c481e00 2066SQUID_UDP_SO_RCVBUF=16384,
2067SQUID_UDP_SO_RCVBUF=16384)
30a4f2a8 2068AC_MSG_RESULT($SQUID_UDP_SO_RCVBUF)
2069AC_DEFINE_UNQUOTED(SQUID_UDP_SO_RCVBUF, $SQUID_UDP_SO_RCVBUF)
2070
5c51415d 2071dnl Not cached since people are likely to tune this
30a4f2a8 2072AC_MSG_CHECKING(Default TCP send buffer size)
2073AC_TRY_RUN([
8cca06da 2074#include <stdlib.h>
2075#include <stdio.h>
30a4f2a8 2076#include <sys/types.h>
2077#include <sys/socket.h>
2078#include <netinet/in.h>
2079main ()
2080{
635e6242 2081 FILE *fp;
30a4f2a8 2082 int fd,val=0,len=sizeof(int);
2083 if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) exit(1);
2084 if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) exit(1);
2085 if (val <= 0) exit(1);
635e6242 2086 fp = fopen("conftestval", "w");
2087 fprintf (fp, "%d\n", val);
30a4f2a8 2088 exit(0);
2089}
2090],
2091SQUID_TCP_SO_SNDBUF=`cat conftestval`,
1c481e00 2092SQUID_TCP_SO_SNDBUF=16384,
2093SQUID_TCP_SO_SNDBUF=16384)
30a4f2a8 2094AC_MSG_RESULT($SQUID_TCP_SO_SNDBUF)
2095AC_DEFINE_UNQUOTED(SQUID_TCP_SO_SNDBUF, $SQUID_TCP_SO_SNDBUF)
2096
5c51415d 2097dnl Not cached since people are likely to tune this
30a4f2a8 2098AC_MSG_CHECKING(Default TCP receive buffer size)
2099AC_TRY_RUN([
8cca06da 2100#include <stdlib.h>
2101#include <stdio.h>
30a4f2a8 2102#include <sys/types.h>
2103#include <sys/socket.h>
2104#include <netinet/in.h>
2105main ()
2106{
635e6242 2107 FILE *fp;
30a4f2a8 2108 int fd,val=0,len=sizeof(int);
2109 if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) exit(1);
2110 if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) exit(1);
2111 if (val <= 0) exit(1);
635e6242 2112 fp = fopen("conftestval", "w");
2113 fprintf (fp, "%d\n", val);
30a4f2a8 2114 exit(0);
2115}
2116],
2117SQUID_TCP_SO_RCVBUF=`cat conftestval`,
1c481e00 2118SQUID_TCP_SO_RCVBUF=16384,
2119SQUID_TCP_SO_RCVBUF=16384)
30a4f2a8 2120AC_MSG_RESULT($SQUID_TCP_SO_RCVBUF)
2121AC_DEFINE_UNQUOTED(SQUID_TCP_SO_RCVBUF, $SQUID_TCP_SO_RCVBUF)
2122
5c51415d 2123AC_CACHE_CHECK(if sys_errlist is already defined, ac_cv_needs_sys_errlist,
9bc73deb 2124 AC_TRY_COMPILE([#include <stdio.h>],[char *s = sys_errlist;],
5c51415d 2125 ac_cv_needs_sys_errlist="no",
2126 ac_cv_needs_sys_errlist="yes")
2127)
2128if test "$ac_cv_needs_sys_errlist" = "yes" ; then
2129 AC_DEFINE(NEED_SYS_ERRLIST)
2130fi
30a4f2a8 2131
5c51415d 2132dnl Not cached since people are likely to change this
6bf65235 2133AC_MSG_CHECKING(for libresolv _dns_ttl_ hack)
2134AC_TRY_LINK(extern int _dns_ttl_;,return _dns_ttl_;,
2135[AC_MSG_RESULT(yes)
2136AC_DEFINE(LIBRESOLV_DNS_TTL_HACK)],
2137AC_MSG_RESULT(no))
2138
a937d5e3 2139AC_MSG_CHECKING(if inet_ntoa() actually works)
2140AC_TRY_RUN([
2141#include <stdlib.h>
2142#include <stdio.h>
2143#include <sys/types.h>
2144#include <netinet/in.h>
2145#include <arpa/inet.h>
2146main ()
2147{
635e6242 2148 FILE *fp;
a937d5e3 2149 struct in_addr in;
2150 in.s_addr = inet_addr("1.2.3.4");
635e6242 2151 fp = fopen("conftestval", "w");
2152 fprintf (fp, "%s\n", inet_ntoa(in));
a937d5e3 2153 exit(0);
2154}
2155],
2156INET_NTOA_RESULT=`cat conftestval`,
2157INET_NTOA_RESULT="broken",
2158INET_NTOA_RESULT="broken")
2159if test "$INET_NTOA_RESULT" = "1.2.3.4" ; then
2160 AC_MSG_RESULT("yes")
2161else
2162 AC_MSG_RESULT("no")
b6a2f15e 2163 echo "Will use our own inet_ntoa()."
2164 LIBOBJS="$LIBOBJS inet_ntoa.o"
2165# echo "WARNING: This looks bad, and probably prevents Squid from working."
2166# echo " If you're on IRIX and using GCC 2.8, you probably need"
2167# echo " to use the IRIX C compiler instead."
2168# sleep 10
a937d5e3 2169fi
2170
b6a2f15e 2171if test "$ac_cv_header_sys_statvfs_h" = "yes" ; then
c68e9c6b 2172AC_MSG_CHECKING(for working statvfs() interface)
2173AC_TRY_COMPILE([
2174#include <stdlib.h>
2175#include <stdio.h>
2176#include <sys/types.h>
2177#include <sys/statvfs.h>
2178],
2179[
2180struct statvfs sfs;
2181sfs.f_blocks = sfs.f_bfree = sfs.f_frsize =
2182sfs.f_files = sfs.f_ffree = 0;
2183statvfs("/tmp", &sfs);
2184],
2185 ac_cv_func_statvfs=yes,
2186 ac_cv_func_statvfs=no)
2187AC_MSG_RESULT($ac_cv_func_statvfs)
6b8e7481 2188if test "$ac_cv_func_statvfs" = "yes" ; then
b6a2f15e 2189 AC_DEFINE(HAVE_STATVFS)
2190fi
6b8e7481 2191fi
c68e9c6b 2192
2193AC_CACHE_CHECK(for _res.nsaddr_list, ac_cv_have_res_nsaddr_list,
2194AC_TRY_COMPILE([
2195#if HAVE_SYS_TYPES_H
2196#include <sys/types.h>
2197#endif
2198#if HAVE_NETINET_IN_H
2199#include <netinet/in.h>
2200#endif
2201#if HAVE_ARPA_INET_H
2202#include <arpa/inet.h>
2203#endif
2204#if HAVE_ARPA_NAMESER_H
2205#include <arpa/nameser.h>
2206#endif
2207#if HAVE_RESOLV_H
2208#include <resolv.h>
2209#endif
2210],
2211[_res.nsaddr_list[[0]];],
2212ac_cv_have_res_nsaddr_list="yes",
2213ac_cv_have_res_nsaddr_list="no"))
2214if test $ac_cv_have_res_nsaddr_list = "yes" ; then
2215 AC_DEFINE(HAVE_RES_NSADDR_LIST)
2216fi
2217
2218if test $ac_cv_have_res_nsaddr_list = "no" ; then
2219AC_CACHE_CHECK(for _res.ns_list, ac_cv_have_res_ns_list,
2220AC_TRY_COMPILE([
2221#if HAVE_SYS_TYPES_H
2222#include <sys/types.h>
2223#endif
2224#if HAVE_NETINET_IN_H
2225#include <netinet/in.h>
2226#endif
2227#if HAVE_ARPA_INET_H
2228#include <arpa/inet.h>
2229#endif
2230#if HAVE_ARPA_NAMESER_H
2231#include <arpa/nameser.h>
2232#endif
2233#if HAVE_RESOLV_H
2234#include <resolv.h>
2235#endif
2236],
2237[_res.ns_list[[0]].addr;],
2238ac_cv_have_res_ns_list="yes",
2239ac_cv_have_res_ns_list="no"))
2240if test $ac_cv_have_res_ns_list = "yes" ; then
2241 AC_DEFINE(HAVE_RES_NS_LIST)
2242fi
2243fi
2244
090089c4 2245dnl Need the debugging version of malloc if available
2246XTRA_OBJS=''
6509a1a0 2247if test "$ac_cv_lib_malloc_main" = "yes" ; then
090089c4 2248 if test -r /usr/lib/debug/malloc.o ; then
2249 XTRA_OBJS="$XTRA_OBJS /usr/lib/debug/malloc.o"
2250 fi
2251 if test -r /usr/lib/debug/mallocmap.o ; then
2252 XTRA_OBJS="$XTRA_OBJS /usr/lib/debug/mallocmap.o"
2253 fi
2254fi
2bbd722b 2255
090089c4 2256AC_SUBST(XTRA_OBJS)
2257
38fea766 2258if test -z "$XTRA_LIBS"; then
2259 XTRA_LIBS="$LIBS"
0f5a16f8 2260 dnl minor cleanup
2261 XTRA_LIBS=`echo $XTRA_LIBS | sed -e "s/ */ /g"`
38fea766 2262 LIBS=''
2263fi
090089c4 2264AC_SUBST(XTRA_LIBS)
2265
090089c4 2266dnl Clean up after OSF/1 core dump bug
2267rm -f core
2268
a2794549 2269dnl FS_MAKEFILES=""
2270dnl for fs in $STORE_MODULES none; do
2271dnl if test $fs != none; then
2272dnl FS_MAKEFILES="$FS_MAKEFILES ./src/fs/$fs/Makefile"
2273dnl fi
2274dnl done
2275dnl REPL_MAKEFILES=""
2276dnl for repl in $REPL_POLICIES none; do
2277dnl if test $repl != none; then
2278dnl REPL_MAKEFILES="$REPL_MAKEFILES ./src/repl/$repl/Makefile"
2279dnl fi
2280dnl done
caa4f581 2281
63bf42ae 2282dnl This could actually be used to find all the Makefiles..
a2794549 2283dnl One of Automake's limitations is that it needs to know all the created makefiles.
2284dnl AUTH_MAKEFILES=""
2285dnl for auth in `find $srcdir/src/auth -type d -print`; do
2286dnl if test -f $auth/Makefile.in; then
2287dnl dir=`echo $auth | sed -e "s|^$srcdir/||"`
2288dnl AUTH_MAKEFILES="$AUTH_MAKEFILES ./$dir/Makefile"
2289dnl fi
2290dnl done
2291
2292
2293dnl src/fs/aufs/Makefile \
2294dnl src/fs/coss/Makefile \
2295dnl src/fs/diskd/Makefile \
2296dnl src/fs/null/Makefile \
2297dnl src/fs/ufs/Makefile \
2298dnl src/repl/heap/Makefile \
2299dnl src/repl/lru/Makefile \
2300AC_OUTPUT([\
2301 Makefile \
2302 lib/Makefile \
a2794549 2303 scripts/Makefile \
2304 scripts/RunCache \
2305 scripts/RunAccel \
2306 src/Makefile \
2307 src/fs/Makefile \
2308 src/repl/Makefile \
2309 src/auth/Makefile \
2310 src/auth/basic/Makefile \
a2794549 2311 src/auth/digest/Makefile \
a2794549 2312 src/auth/ntlm/Makefile \
a2794549 2313 contrib/Makefile \
2314 snmplib/Makefile \
2315 icons/Makefile \
2316 errors/Makefile \
c0f59984 2317 src/fs/aufs/Makefile \
2318 src/fs/coss/Makefile \
2319 src/fs/diskd/Makefile \
2320 src/fs/null/Makefile \
2321 src/fs/ufs/Makefile \
2322 src/repl/heap/Makefile \
2323 src/repl/lru/Makefile \
99db07b3 2324 doc/Makefile \
0c510f3c 2325 helpers/Makefile \
2326 helpers/basic_auth/Makefile \
2327 helpers/basic_auth/LDAP/Makefile \
2328 helpers/basic_auth/MSNT/Makefile \
2329 helpers/basic_auth/NCSA/Makefile \
2330 helpers/basic_auth/PAM/Makefile \
2331 helpers/basic_auth/SMB/Makefile \
2332 helpers/basic_auth/YP/Makefile \
2333 helpers/basic_auth/getpwnam/Makefile \
2334 helpers/basic_auth/multi-domain-NTLM/Makefile \
2335 helpers/basic_auth/SASL/Makefile \
2336 helpers/basic_auth/winbind/Makefile \
2337 helpers/digest_auth/Makefile \
2338 helpers/digest_auth/password/Makefile \
2339 helpers/ntlm_auth/Makefile \
2340 helpers/ntlm_auth/fakeauth/Makefile \
2341 helpers/ntlm_auth/no_check/Makefile \
2342 helpers/ntlm_auth/SMB/Makefile \
2343 helpers/ntlm_auth/SMB/smbval/Makefile \
2344 helpers/ntlm_auth/winbind/Makefile \
c6588c68 2345 helpers/external_acl/Makefile \
2346 helpers/external_acl/ip_user/Makefile \
2347 helpers/external_acl/ldap_group/Makefile \
2348 helpers/external_acl/unix_group/Makefile \
2349 helpers/external_acl/wbinfo_group/Makefile \
4402cd0f 2350 helpers/external_acl/winbind_group/Makefile \
53cbe3e4 2351])