]>
Commit | Line | Data |
---|---|---|
090089c4 | 1 | dnl |
2877b8a9 | 2 | dnl Configuration input file for Squid |
090089c4 | 3 | dnl |
983061ed | 4 | dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9) |
090089c4 | 5 | dnl |
11430c03 | 6 | dnl $Id: configure.in,v 1.80 1997/10/21 02:45:00 wessels Exp $ |
090089c4 | 7 | dnl |
8 | dnl | |
090089c4 | 9 | dnl |
a26bdc75 | 10 | AC_INIT(src/main.c) |
090089c4 | 11 | AC_CONFIG_HEADER(include/autoconf.h) |
11430c03 | 12 | AC_REVISION($Revision: 1.80 $)dnl |
2877b8a9 | 13 | AC_PREFIX_DEFAULT(/usr/local/squid) |
da22ac20 | 14 | AC_CONFIG_AUX_DIR(aux) |
090089c4 | 15 | |
88d50a22 | 16 | AC_CANONICAL_HOST |
17 | ||
26675bf4 | 18 | CRYPTLIB='' |
00fa2c12 | 19 | REGEXLIB='' # -lregex |
20 | LIBREGEX='' # libregex.a | |
090089c4 | 21 | |
983061ed | 22 | dnl use directory structure of cached as default (hack) |
23 | if test "$libexecdir" = '${exec_prefix}/libexec'; then | |
24 | libexecdir='${bindir}' | |
25 | localstatedir='${prefix}' | |
26 | ||
27 | fi | |
28 | ||
a26bdc75 | 29 | if test -z "$CACHE_HTTP_PORT"; then |
30 | CACHE_HTTP_PORT="3128" | |
31 | fi | |
32 | if test -z "$CACHE_ICP_PORT"; then | |
33 | CACHE_ICP_PORT="3130" | |
34 | fi | |
a26bdc75 | 35 | |
090089c4 | 36 | dnl Subsitutions |
a26bdc75 | 37 | AC_SUBST(CACHE_HTTP_PORT) |
38 | AC_SUBST(CACHE_ICP_PORT) | |
090089c4 | 39 | |
30a4f2a8 | 40 | AC_DEFINE_UNQUOTED(CONFIG_HOST_TYPE, "$host") |
41 | ||
42 | dnl Set default LDFLAGS | |
43 | if test -z "$LDFLAGS"; then | |
44 | LDFLAGS="-g" | |
45 | fi | |
46 | ||
38fea766 | 47 | PRESET_CFLAGS="$CFLAGS" |
30a4f2a8 | 48 | |
090089c4 | 49 | dnl Check for GNU cc |
50 | AC_PROG_CC | |
51 | ||
52 | dnl Warn if not using GNU cc | |
ec1b5d74 | 53 | if test $ac_cv_prog_gcc = no; then |
090089c4 | 54 | echo '**************************************************************'; |
55 | echo '**************************************************************'; | |
56 | echo '**'; | |
2877b8a9 | 57 | echo '** WARNING: Squid is only guaranteed to compile with GNU cc.'; |
090089c4 | 58 | echo "** Currently, you're using $CC"; |
e973b94a | 59 | echo '**'; |
090089c4 | 60 | echo '**************************************************************'; |
61 | echo '**************************************************************'; | |
62 | sleep 5 | |
63 | fi | |
64 | ||
6ad85e8a | 65 | dnl Gerben Wierda <Gerben_Wierda@RnA.nl> |
66 | case "$host" in | |
67 | mab-next-nextstep3) | |
68 | CC="$CC -arch m68k -arch i486 -arch hppa -arch sparc" | |
69 | ;; | |
70 | esac | |
71 | ||
30a4f2a8 | 72 | dnl Set Default CFLAGS |
73 | if test -z "$PRESET_CFLAGS"; then | |
74 | if test "$GCC" = "yes"; then | |
75 | case "$host" in | |
76 | *-sun-sunos*|*m88k*) | |
77 | # sunos has too many warnings for this to be useful | |
78 | # motorola too | |
79 | ;; | |
80 | *) | |
81 | CFLAGS="$CFLAGS -Wall" | |
82 | ;; | |
83 | esac | |
84 | fi | |
30a4f2a8 | 85 | fi |
86 | ||
87 | dnl Set LDFLAGS | |
88 | if test -z "$PRESET_LDFLAGS"; then | |
89 | if test "$GCC" = "yes"; then | |
90 | case "$host" in | |
91 | *) | |
92 | # nothing | |
93 | ;; | |
94 | esac | |
95 | fi | |
96 | fi | |
2060fa9a | 97 | |
090089c4 | 98 | dnl Check for programs |
99 | AC_PROG_CPP | |
100 | AC_PROG_INSTALL | |
101 | AC_PROG_RANLIB | |
102 | AC_PROG_LN_S | |
81280a96 | 103 | AC_PATH_PROG(SH, sh, /bin/sh) |
d9f67e6f | 104 | AC_PATH_PROG(FALSE, false, /usr/bin/false) |
105 | AC_PATH_PROG(TRUE, true, /usr/bin/true) | |
106 | AC_PATH_PROG(RM, rm, $FALSE) | |
107 | AC_PATH_PROG(MV, mv, $FALSE) | |
108 | AC_PATH_PROG(MKDIR, mkdir, $FALSE) | |
090089c4 | 109 | AC_PATH_PROG(LN, ln, cp) |
983061ed | 110 | AC_PATH_PROG(PERL, perl, /usr/local/bin/perl) |
d9f67e6f | 111 | AC_PATH_PROG(MAKEDEPEND, makedepend, $TRUE) |
6ad85e8a | 112 | AC_PATH_PROG(AR, ar, $FALSE) |
113 | ||
114 | case "$host" in | |
115 | *-hp-hpux*) | |
116 | echo "Disabling 'ranlib' for HP-UX..." | |
117 | RANLIB=":" | |
118 | ;; | |
119 | esac | |
120 | ||
121 | dnl set $(AR) | |
122 | AR_R="$AR r" | |
123 | case "$host" in | |
124 | *-next-nextstep3) | |
125 | AR="libtool -o" | |
126 | ;; | |
127 | esac | |
128 | AC_SUBST(AR_R) | |
090089c4 | 129 | |
130 | dnl Check for headers | |
131 | AC_HEADER_DIRENT | |
132 | AC_HEADER_STDC | |
db40ae20 | 133 | |
2060fa9a | 134 | |
db40ae20 | 135 | AC_CHECK_HEADERS( \ |
136 | alloca.h \ | |
137 | arpa/inet.h \ | |
30a4f2a8 | 138 | arpa/nameser.h \ |
9441aa34 | 139 | assert.h \ |
db40ae20 | 140 | bstring.h \ |
141 | config.h \ | |
142 | crypt.h \ | |
30a4f2a8 | 143 | ctype.h \ |
144 | errno.h \ | |
db40ae20 | 145 | fcntl.h \ |
9c1d8929 | 146 | getopt.h \ |
88738790 | 147 | gnumalloc.h \ |
30a4f2a8 | 148 | grp.h \ |
149 | libc.h \ | |
6ad85e8a | 150 | limits.h \ |
30a4f2a8 | 151 | malloc.h \ |
e0bddc45 | 152 | math.h \ |
db40ae20 | 153 | memory.h \ |
30a4f2a8 | 154 | netdb.h \ |
db40ae20 | 155 | netinet/in.h \ |
30a4f2a8 | 156 | netinet/tcp.h \ |
dcfe6390 | 157 | poll.h \ |
30a4f2a8 | 158 | pwd.h \ |
159 | regex.h \ | |
160 | resolv.h \ | |
161 | signal.h \ | |
162 | stdarg.h \ | |
163 | stddef.h \ | |
164 | stdio.h \ | |
db40ae20 | 165 | stdlib.h \ |
166 | string.h \ | |
167 | strings.h \ | |
168 | sys/file.h \ | |
30a4f2a8 | 169 | sys/param.h \ |
170 | sys/resource.h \ | |
db40ae20 | 171 | sys/select.h\ |
30a4f2a8 | 172 | sys/socket.h \ |
173 | sys/stat.h \ | |
174 | sys/syscall.h \ | |
db40ae20 | 175 | sys/time.h \ |
176 | sys/types.h \ | |
30a4f2a8 | 177 | sys/un.h \ |
178 | sys/wait.h \ | |
db40ae20 | 179 | syslog.h \ |
30a4f2a8 | 180 | time.h \ |
181 | unistd.h \ | |
182 | varargs.h \ | |
db40ae20 | 183 | ) |
184 | ||
aee0606f | 185 | AC_C_CONST |
186 | ||
20a50bb9 | 187 | AC_MSG_CHECKING(if ANSI prototypes work) |
8cca06da | 188 | AC_TRY_COMPILE([int foo(char *); int foo (char *bar) {return 1;}], |
189 | [foo("bar")], | |
20a50bb9 | 190 | [AC_DEFINE(HAVE_ANSI_PROTOTYPES) |
191 | AC_MSG_RESULT(yes)], | |
192 | AC_MSG_RESULT(no)) | |
193 | ||
46c883ed | 194 | AC_MSG_CHECKING(for tm->tm_gmtoff) |
195 | AC_TRY_COMPILE([#include <time.h> | |
196 | #include <sys/time.h>], | |
197 | [struct tm foo; | |
198 | foo.tm_gmtoff = 0;], | |
199 | [AC_DEFINE(HAVE_TM_GMTOFF) | |
200 | AC_MSG_RESULT(yes)], | |
201 | AC_MSG_RESULT(no)) | |
202 | ||
203 | AC_MSG_CHECKING(for extended mallinfo) | |
204 | AC_TRY_COMPILE([#include <sys/types.h> | |
205 | #include <malloc.h>], | |
206 | [struct mallinfo foo; | |
207 | foo.mxfast = 0;], | |
208 | [AC_DEFINE(HAVE_EXT_MALLINFO) | |
209 | AC_MSG_RESULT(yes)], | |
210 | AC_MSG_RESULT(no)) | |
090089c4 | 211 | |
a025a745 | 212 | AC_MSG_CHECKING(for ip->ip_hl) |
213 | AC_TRY_COMPILE([#include <sys/types.h> | |
214 | #include <netinet/in.h> | |
215 | #include <netinet/in_systm.h> | |
6ad85e8a | 216 | #include <netinet/ip.h> |
217 | #ifdef __linux__ | |
218 | #define ip_hl ihl | |
219 | #endif | |
220 | #ifndef __linux__ | |
221 | #define iphdr ip | |
222 | #endif], | |
223 | [struct iphdr ip; | |
a025a745 | 224 | ip.ip_hl= 0;], |
225 | [AC_DEFINE(HAVE_IP_HL) | |
226 | AC_MSG_RESULT(yes)], | |
227 | AC_MSG_RESULT(no)) | |
228 | ||
090089c4 | 229 | dnl Check for typedefs |
230 | AC_CHECK_SIZEOF(int) | |
231 | AC_CHECK_SIZEOF(long) | |
232 | ||
256cf05b | 233 | dnl Check for special functions |
234 | AC_FUNC_ALLOCA | |
090089c4 | 235 | |
3f6fcd8a | 236 | AC_CHECK_TYPE(pid_t, int) |
0897af2d | 237 | AC_CHECK_TYPE(size_t, unsigned int) |
238 | AC_CHECK_TYPE(ssize_t, int) | |
3f6fcd8a | 239 | AC_CHECK_TYPE(off_t, int) |
95cf2361 | 240 | AC_CHECK_TYPE(mode_t, u_short) |
3f6fcd8a | 241 | |
090089c4 | 242 | dnl Check for needed libraries |
30a4f2a8 | 243 | AC_CHECK_LIB(nsl, main) |
6716b242 | 244 | AC_CHECK_LIB(socket, main) |
8a15e65e | 245 | AC_CHECK_LIB(gnumalloc, main) |
6509a1a0 | 246 | if test "$ac_cv_lib_gnumalloc_main" = "no"; then |
8a15e65e | 247 | case "$host" in |
248 | *-sun-solaris*) | |
249 | echo "skipping libmalloc check for $host" | |
250 | ;; | |
251 | i386-*-freebsd*) | |
252 | echo "skipping libmalloc check for $host" | |
253 | ;; | |
254 | *) | |
255 | AC_CHECK_LIB(malloc, main) | |
256 | ;; | |
257 | esac | |
258 | fi | |
6716b242 | 259 | AC_CHECK_LIB(bsd, main) |
be79ade0 | 260 | AC_CHECK_LIB(regex, main, [REGEXLIB="-lregex"]) |
8a15e65e | 261 | AC_CHECK_LIB(resolv, inet_aton, AC_CHECK_LIB(44bsd, inet_aton)) |
6509a1a0 | 262 | AC_CHECK_LIB(resolv, main) |
e0bddc45 | 263 | AC_CHECK_LIB(m, main) |
090089c4 | 264 | |
265 | dnl Check for libcrypt | |
b8de7ebe | 266 | dnl We use crypt(3) which may be in libc, or in libcrypt (eg FreeBSD) |
be79ade0 | 267 | AC_CHECK_LIB(crypt, crypt, [CRYPTLIB="-lcrypt"]) |
268 | AC_SUBST(CRYPTLIB) | |
77f675ad | 269 | |
270 | dnl System-specific library modifications | |
271 | dnl | |
272 | case "$host" in | |
88738790 | 273 | i386-*-solaris2.*) |
7149a49f | 274 | if test "$GCC" = "yes"; then |
275 | echo "Removing -O for gcc on $host" | |
80e92d6d | 276 | CFLAGS="`echo $CFLAGS | sed -e 's/-O[[0-9]]*//'`" |
7149a49f | 277 | fi |
278 | ;; | |
77f675ad | 279 | *-sgi-irix*) |
280 | echo "Removing -lsocket for IRIX..." | |
6716b242 | 281 | LIBS=`echo $LIBS | sed -e s/-lsocket//` |
77f675ad | 282 | echo "Removing -lnsl for IRIX..." |
6716b242 | 283 | LIBS=`echo $LIBS | sed -e s/-lnsl//` |
b44c0fb4 | 284 | echo "Removing -lbsd for IRIX..." |
285 | LIBS=`echo $LIBS | sed -e s/-lbsd//` | |
77f675ad | 286 | ;; |
4ba0bd0e | 287 | dnl From: c0032033@ws.rz.tu-bs.de (Joerg Schumacher) |
288 | dnl Date: Thu, 17 Oct 1996 04:09:30 +0200 | |
289 | dnl Please change your configure script. AIX doesn't need -lbsd. | |
290 | *-ibm-aix*) | |
291 | echo "Removing -lbsd for AIX..." | |
292 | LIBS=`echo $LIBS | sed -e s/-lbsd//` | |
293 | ;; | |
30a4f2a8 | 294 | *m88k*) |
295 | CFLAGS="$CFLAGS -D_SQUID_MOTOROLA_" | |
7149a49f | 296 | AC_DEFINE(GETTIMEOFDAY_NO_TZP) |
297 | ;; | |
580ce039 | 298 | [*-*-solaris2.[0-4]]) |
7149a49f | 299 | AC_DEFINE(GETTIMEOFDAY_NO_TZP) |
30a4f2a8 | 300 | ;; |
77f675ad | 301 | esac |
090089c4 | 302 | |
176d10ee | 303 | # Recommended by Balint Nagy Endre <bne@CareNet.hu> |
304 | case "$host" in | |
305 | *-univel-sysv4.2MP) | |
306 | if test `uname -v` = "2.03"; then | |
307 | echo "disabling mallinfo for $host" | |
308 | ac_cv_func_mallinfo=no | |
309 | fi | |
310 | ;; | |
311 | esac | |
312 | ||
313 | ||
6716b242 | 314 | dnl Check for library functions |
315 | AC_CHECK_FUNCS(\ | |
30a4f2a8 | 316 | bcopy \ |
4ac29a5b | 317 | fchmod \ |
6716b242 | 318 | getdtablesize \ |
30a4f2a8 | 319 | getrusage \ |
9c1d8929 | 320 | getspnam \ |
30a4f2a8 | 321 | lrand48 \ |
6716b242 | 322 | mallinfo \ |
0f5efab0 | 323 | mallocblksize \ |
6716b242 | 324 | mallopt \ |
2ae6b9b0 | 325 | memcpy \ |
30a4f2a8 | 326 | memmove \ |
1812b6c7 | 327 | mktime \ |
88738790 | 328 | mstats \ |
dcfe6390 | 329 | poll \ |
b1e77ec1 | 330 | random \ |
6716b242 | 331 | regcomp \ |
332 | regexec \ | |
333 | regfree \ | |
30a4f2a8 | 334 | res_init \ |
234967c9 | 335 | seteuid \ |
30a4f2a8 | 336 | setpgrp \ |
234967c9 | 337 | setresuid \ |
6716b242 | 338 | setrlimit \ |
30a4f2a8 | 339 | setsid \ |
340 | sigaction \ | |
11430c03 | 341 | snprintf \ |
30a4f2a8 | 342 | srand48 \ |
b1e77ec1 | 343 | srandom \ |
6716b242 | 344 | sysconf \ |
345 | syslog \ | |
0a3efad5 | 346 | tempnam \ |
234967c9 | 347 | timegm \ |
28da5e0d | 348 | vsnprintf \ |
6716b242 | 349 | ) |
350 | ||
a03233e7 | 351 | case "$host" in |
352 | [alpha-dec-osf3.*]) | |
353 | # John Kay (jkay@nlanr.net) 19970818 | |
354 | echo "Disabling poll() for $host..." | |
355 | ac_cv_func_poll="no" | |
356 | ;; | |
357 | esac | |
358 | ||
7a081912 | 359 | AC_MSG_CHECKING(if GNUregex needs to be compiled) |
00fa2c12 | 360 | if test "$ac_cv_func_regcomp" = "no" ; then |
74946a0f | 361 | USE_GNUREGEX="yes" |
00fa2c12 | 362 | else |
74946a0f | 363 | USE_GNUREGEX="no" |
00fa2c12 | 364 | fi |
365 | case "$host" in | |
580ce039 | 366 | [*-sun-solaris2.[0-4]]) |
74946a0f | 367 | USE_GNUREGEX="yes" |
368 | ;; | |
369 | [*-next-nextstep*]) | |
370 | USE_GNUREGEX="yes" | |
371 | ;; | |
00fa2c12 | 372 | esac |
74946a0f | 373 | AC_MSG_RESULT($USE_GNUREGEX) |
374 | if test "$USE_GNUREGEX" = "yes"; then | |
26675bf4 | 375 | REGEXLIB="-lregex" |
7a081912 | 376 | LIBREGEX="libregex.a" |
74946a0f | 377 | AC_DEFINE(USE_GNUREGEX) |
7a081912 | 378 | fi |
26675bf4 | 379 | AC_SUBST(REGEXLIB) |
00fa2c12 | 380 | AC_SUBST(LIBREGEX) |
7a081912 | 381 | |
3f6fcd8a | 382 | AC_REPLACE_FUNCS(\ |
383 | tempnam \ | |
4d38fc7e | 384 | strerror \ |
3f6fcd8a | 385 | ) |
386 | ||
e924600d | 387 | AC_MSG_CHECKING(Default FD_SETSIZE value) |
388 | AC_TRY_RUN([ | |
389 | #if HAVE_STDIO_H | |
390 | #include <stdio.h> | |
391 | #endif | |
392 | #if HAVE_UNISTD_H | |
393 | #include <unistd.h> | |
394 | #endif | |
395 | #if HAVE_SYS_TIME_H | |
396 | #include <sys/time.h> | |
397 | #endif | |
398 | #if HAVE_SYS_SELECT_H | |
399 | #include <sys/select.h> | |
400 | #endif | |
401 | #if HAVE_SYS_TYPES_H | |
402 | #include <sys/types.h> | |
403 | #endif | |
404 | main() { | |
405 | fprintf (fopen("conftestval", "w"), "%d\n", FD_SETSIZE); | |
406 | exit(0); | |
407 | } | |
408 | ], | |
409 | DEFAULT_FD_SETSIZE=`cat conftestval`, | |
410 | DEFAULT_FD_SETSIZE=256, | |
411 | DEFAULT_FD_SETSIZE=256) | |
412 | AC_MSG_RESULT($DEFAULT_FD_SETSIZE) | |
413 | AC_DEFINE_UNQUOTED(DEFAULT_FD_SETSIZE, $DEFAULT_FD_SETSIZE) | |
414 | ||
234967c9 | 415 | AC_MSG_CHECKING(Maximum number of filedescriptors we can open) |
416 | AC_TRY_RUN([ | |
8cca06da | 417 | #include <stdio.h> |
234967c9 | 418 | #include <unistd.h> |
30a4f2a8 | 419 | #include <sys/time.h> /* needed on FreeBSD */ |
234967c9 | 420 | #include <sys/param.h> |
421 | #include <sys/resource.h> | |
422 | main() { | |
423 | int i,j; | |
424 | #if HAVE_SETRLIMIT | |
425 | struct rlimit rl; | |
426 | #if defined(RLIMIT_NOFILE) | |
427 | if (getrlimit(RLIMIT_NOFILE, &rl) < 0) { | |
428 | perror("getrlimit: RLIMIT_NOFILE"); | |
429 | } else { | |
430 | rl.rlim_cur = rl.rlim_max; /* set it to the max */ | |
431 | if (setrlimit(RLIMIT_NOFILE, &rl) < 0) { | |
432 | perror("setrlimit: RLIMIT_NOFILE"); | |
433 | } | |
434 | } | |
435 | #elif defined(RLIMIT_OFILE) | |
436 | if (getrlimit(RLIMIT_OFILE, &rl) < 0) { | |
437 | perror("getrlimit: RLIMIT_OFILE"); | |
438 | } else { | |
439 | rl.rlim_cur = rl.rlim_max; /* set it to the max */ | |
440 | if (setrlimit(RLIMIT_OFILE, &rl) < 0) { | |
441 | perror("setrlimit: RLIMIT_OFILE"); | |
442 | } | |
443 | } | |
444 | #endif /* RLIMIT_NOFILE */ | |
445 | #endif /* HAVE_SETRLIMIT */ | |
446 | #if HAVE_SYSCONF && defined(_SC_OPEN_MAX) | |
447 | i = sysconf(_SC_OPEN_MAX); | |
3f6fcd8a | 448 | #elif HAVE_GETDTABLESIZE && !defined(__linux__) |
234967c9 | 449 | i = getdtablesize(); |
450 | #elif defined(OPEN_MAX) | |
451 | i = OPEN_MAX; | |
452 | #elif defined(NOFILE) | |
453 | i = NOFILE; | |
454 | #elif defined(_NFILE) | |
455 | i = _NFILE; | |
456 | #else | |
457 | while((j=open("/dev/null", 0)) > 0) i=j; | |
0a5b9b32 | 458 | close(i); close(i-1); |
459 | i++; | |
234967c9 | 460 | #endif |
461 | fprintf (fopen("conftestval", "w"), "%d\n", i); | |
462 | exit(0); | |
463 | } | |
464 | ], | |
431d84c5 | 465 | SQUID_MAXFD=`cat conftestval`, |
466 | SQUID_MAXFD=256, | |
467 | SQUID_MAXFD=256) | |
468 | AC_MSG_RESULT($SQUID_MAXFD) | |
469 | AC_DEFINE_UNQUOTED(SQUID_MAXFD, $SQUID_MAXFD) | |
234967c9 | 470 | |
30a4f2a8 | 471 | AC_MSG_CHECKING(Default UDP send buffer size) |
472 | AC_TRY_RUN([ | |
8cca06da | 473 | #include <stdlib.h> |
474 | #include <stdio.h> | |
30a4f2a8 | 475 | #include <sys/types.h> |
476 | #include <sys/socket.h> | |
477 | #include <netinet/in.h> | |
478 | main () | |
479 | { | |
480 | int fd,val=0,len=sizeof(int); | |
481 | if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) exit(1); | |
482 | if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) exit(1); | |
483 | if (val<=0) exit(1); | |
484 | fprintf (fopen("conftestval", "w"), "%d\n", val); | |
485 | exit(0); | |
486 | } | |
487 | ], | |
488 | SQUID_UDP_SO_SNDBUF=`cat conftestval`, | |
1c481e00 | 489 | SQUID_UDP_SO_SNDBUF=16384, |
490 | SQUID_UDP_SO_SNDBUF=16384) | |
30a4f2a8 | 491 | AC_MSG_RESULT($SQUID_UDP_SO_SNDBUF) |
492 | AC_DEFINE_UNQUOTED(SQUID_UDP_SO_SNDBUF, $SQUID_UDP_SO_SNDBUF) | |
493 | ||
494 | AC_MSG_CHECKING(Default UDP receive buffer size) | |
495 | AC_TRY_RUN([ | |
8cca06da | 496 | #include <stdlib.h> |
497 | #include <stdio.h> | |
30a4f2a8 | 498 | #include <sys/types.h> |
499 | #include <sys/socket.h> | |
500 | #include <netinet/in.h> | |
501 | main () | |
502 | { | |
503 | int fd,val=0,len=sizeof(int); | |
504 | if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) exit(1); | |
505 | if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) exit(1); | |
506 | if (val <= 0) exit(1); | |
507 | fprintf (fopen("conftestval", "w"), "%d\n", val); | |
508 | exit(0); | |
509 | } | |
510 | ], | |
511 | SQUID_UDP_SO_RCVBUF=`cat conftestval`, | |
1c481e00 | 512 | SQUID_UDP_SO_RCVBUF=16384, |
513 | SQUID_UDP_SO_RCVBUF=16384) | |
30a4f2a8 | 514 | AC_MSG_RESULT($SQUID_UDP_SO_RCVBUF) |
515 | AC_DEFINE_UNQUOTED(SQUID_UDP_SO_RCVBUF, $SQUID_UDP_SO_RCVBUF) | |
516 | ||
517 | AC_MSG_CHECKING(Default TCP send buffer size) | |
518 | AC_TRY_RUN([ | |
8cca06da | 519 | #include <stdlib.h> |
520 | #include <stdio.h> | |
30a4f2a8 | 521 | #include <sys/types.h> |
522 | #include <sys/socket.h> | |
523 | #include <netinet/in.h> | |
524 | main () | |
525 | { | |
526 | int fd,val=0,len=sizeof(int); | |
527 | if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) exit(1); | |
528 | if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) exit(1); | |
529 | if (val <= 0) exit(1); | |
530 | fprintf (fopen("conftestval", "w"), "%d\n", val); | |
531 | exit(0); | |
532 | } | |
533 | ], | |
534 | SQUID_TCP_SO_SNDBUF=`cat conftestval`, | |
1c481e00 | 535 | SQUID_TCP_SO_SNDBUF=16384, |
536 | SQUID_TCP_SO_SNDBUF=16384) | |
30a4f2a8 | 537 | AC_MSG_RESULT($SQUID_TCP_SO_SNDBUF) |
538 | AC_DEFINE_UNQUOTED(SQUID_TCP_SO_SNDBUF, $SQUID_TCP_SO_SNDBUF) | |
539 | ||
540 | AC_MSG_CHECKING(Default TCP receive buffer size) | |
541 | AC_TRY_RUN([ | |
8cca06da | 542 | #include <stdlib.h> |
543 | #include <stdio.h> | |
30a4f2a8 | 544 | #include <sys/types.h> |
545 | #include <sys/socket.h> | |
546 | #include <netinet/in.h> | |
547 | main () | |
548 | { | |
549 | int fd,val=0,len=sizeof(int); | |
550 | if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) exit(1); | |
551 | if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) exit(1); | |
552 | if (val <= 0) exit(1); | |
553 | fprintf (fopen("conftestval", "w"), "%d\n", val); | |
554 | exit(0); | |
555 | } | |
556 | ], | |
557 | SQUID_TCP_SO_RCVBUF=`cat conftestval`, | |
1c481e00 | 558 | SQUID_TCP_SO_RCVBUF=16384, |
559 | SQUID_TCP_SO_RCVBUF=16384) | |
30a4f2a8 | 560 | AC_MSG_RESULT($SQUID_TCP_SO_RCVBUF) |
561 | AC_DEFINE_UNQUOTED(SQUID_TCP_SO_RCVBUF, $SQUID_TCP_SO_RCVBUF) | |
562 | ||
563 | AC_MSG_CHECKING(if sys_errlist[] is already defined) | |
564 | AC_TRY_COMPILE([#include <stdio.h>], | |
565 | [char *s = sys_errlist[0];], | |
566 | AC_MSG_RESULT(yes), | |
567 | [AC_MSG_RESULT(no) | |
568 | AC_DEFINE(NEED_SYS_ERRLIST)]) | |
569 | ||
6bf65235 | 570 | AC_MSG_CHECKING(for libresolv _dns_ttl_ hack) |
571 | AC_TRY_LINK(extern int _dns_ttl_;,return _dns_ttl_;, | |
572 | [AC_MSG_RESULT(yes) | |
573 | AC_DEFINE(LIBRESOLV_DNS_TTL_HACK)], | |
574 | AC_MSG_RESULT(no)) | |
575 | ||
090089c4 | 576 | dnl Need the debugging version of malloc if available |
577 | XTRA_OBJS='' | |
6509a1a0 | 578 | if test "$ac_cv_lib_malloc_main" = "yes" ; then |
090089c4 | 579 | if test -r /usr/lib/debug/malloc.o ; then |
580 | XTRA_OBJS="$XTRA_OBJS /usr/lib/debug/malloc.o" | |
581 | fi | |
582 | if test -r /usr/lib/debug/mallocmap.o ; then | |
583 | XTRA_OBJS="$XTRA_OBJS /usr/lib/debug/mallocmap.o" | |
584 | fi | |
585 | fi | |
586 | AC_SUBST(XTRA_OBJS) | |
587 | ||
38fea766 | 588 | if test -z "$XTRA_LIBS"; then |
589 | XTRA_LIBS="$LIBS" | |
590 | LIBS='' | |
591 | fi | |
090089c4 | 592 | AC_SUBST(XTRA_LIBS) |
593 | ||
090089c4 | 594 | dnl Clean up after OSF/1 core dump bug |
595 | rm -f core | |
596 | ||
597 | AC_OUTPUT(\ | |
0992a350 | 598 | ./makefile \ |
090089c4 | 599 | ./lib/Makefile \ |
a26bdc75 | 600 | ./include/config.h \ |
090089c4 | 601 | ./scripts/Makefile \ |
602 | ./scripts/RunCache \ | |
603 | ./scripts/RunAccel \ | |
a26bdc75 | 604 | ./src/Makefile \ |
e550e8b6 | 605 | ./contrib/Makefile \ |
81280a96 | 606 | ./icons/Makefile \ |
d4fb069d | 607 | ./errors/Makefile \ |
090089c4 | 608 | ) |