]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Shuffled buffer detection tests into os-deps.m4
authorFrancesco Chemolli <kinkie@squid-cache.org>
Fri, 30 Jul 2010 07:57:29 +0000 (09:57 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Fri, 30 Jul 2010 07:57:29 +0000 (09:57 +0200)
acinclude/os-deps.m4
configure.in

index dfdfe1449d10067d7690f791fa12266ba4a65966..310cd2c0706078e8bec8dcff830a2f9f3cfee51c 100644 (file)
@@ -381,3 +381,215 @@ AC_CACHE_CHECK([for sin_len field in struct sockaddr_in],
 ])
 SQUID_DEFINE_BOOL(HAVE_SIN_LEN_IN_SAI,$ac_cv_have_sin_len_in_struct_sai,[Define if sockaddr_in has field sin_len])
 ])
+
+
+dnl detects default UDP buffer size
+dnl not cached since people are likely to tune this
+dnl defines SQUID_DETECT_UDP_SO_SNDBUF
+
+AC_DEFUN([SQUID_DETECT_UDP_SND_BUFSIZE],[
+AC_MSG_CHECKING(Default UDP send buffer size)
+AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/types.h>
+#if HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#if HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#if HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#if HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+int main(int argc, char **argv)
+{
+       FILE *fp;
+        int fd,val=0;
+#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
+        int len=sizeof(int);
+       WSADATA wsaData;
+       WSAStartup(2, &wsaData);
+#else
+        socklen_t len=sizeof(socklen_t);
+#endif
+       if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) return 1;
+#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
+        if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&val, &len) < 0) return 1;
+       WSACleanup();
+#else
+        if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) return 1;
+#endif
+       if (val<=0) return 1;
+        fp = fopen("conftestval", "w");
+        fprintf (fp, "%d\n", val);
+       return 0;
+}
+]])],[SQUID_DETECT_UDP_SO_SNDBUF=`cat conftestval`],[SQUID_DETECT_UDP_SO_SNDBUF=16384],[SQUID_DETECT_UDP_SO_SNDBUF=16384])
+AC_MSG_RESULT($SQUID_DETECT_UDP_SO_SNDBUF)
+AC_DEFINE_UNQUOTED(SQUID_DETECT_UDP_SO_SNDBUF, $SQUID_DETECT_UDP_SO_SNDBUF,[UDP send buffer size])
+])
+
+
+dnl detects default UDP buffer size
+dnl not cached since people are likely to tune this
+dnl defines SQUID_DETECT_UDP_SO_RCVBUF
+
+AC_DEFUN([SQUID_DETECT_UDP_RECV_BUFSIZE],[
+AC_MSG_CHECKING(Default UDP receive buffer size)
+AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/types.h>
+#if HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#if HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#if HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#if HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+int main(int argc, char **argv)
+{
+       FILE *fp;
+        int fd,val=0;
+#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
+        int len=sizeof(int);
+       WSADATA wsaData;
+       WSAStartup(2, &wsaData);
+#else
+        socklen_t len=sizeof(socklen_t);
+#endif
+       if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) return 1;
+#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
+        if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&val, &len) < 0) return 1;
+       WSACleanup();
+#else
+        if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) return 1;
+#endif
+       if (val <= 0) return 1;
+       fp = fopen("conftestval", "w"); 
+       fprintf (fp, "%d\n", val);
+       return 0;
+}
+]])],[SQUID_DETECT_UDP_SO_RCVBUF=`cat conftestval`],[SQUID_DETECT_UDP_SO_RCVBUF=16384],[SQUID_DETECT_UDP_SO_RCVBUF=16384])
+AC_MSG_RESULT($SQUID_DETECT_UDP_SO_RCVBUF)
+AC_DEFINE_UNQUOTED(SQUID_DETECT_UDP_SO_RCVBUF, $SQUID_DETECT_UDP_SO_RCVBUF,[UDP receive buffer size])
+])
+
+
+dnl detects default TCP buffer size
+dnl not cached since people are likely to tune this
+dnl defines SQUID_TCP_SO_SNDBUF
+
+AC_DEFUN([SQUID_DETECT_TCP_SND_BUFSIZE],[
+AC_MSG_CHECKING(Default TCP send buffer size)
+AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/types.h>
+#if HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#if HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#if HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#if HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+int main(int argc, char **argv)
+{
+       FILE *fp;
+        int fd,val=0;
+#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
+        int len=sizeof(int);
+       WSADATA wsaData;
+       WSAStartup(2, &wsaData);
+#else
+        socklen_t len=sizeof(socklen_t);
+#endif
+       if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) return 1;
+#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
+        if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&val, &len) < 0) return 1;
+       WSACleanup();
+#else
+        if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) return 1;
+#endif
+       if (val <= 0) return 1;
+       fp = fopen("conftestval", "w"); 
+       fprintf (fp, "%d\n", val);
+       return 0;
+}
+]])],[SQUID_TCP_SO_SNDBUF=`cat conftestval`],[SQUID_TCP_SO_SNDBUF=16384],[SQUID_TCP_SO_SNDBUF=16384])
+AC_MSG_RESULT($SQUID_TCP_SO_SNDBUF)
+if test $SQUID_TCP_SO_SNDBUF -gt 32768; then
+    AC_MSG_NOTICE([Limiting send buffer size to 32K])
+    SQUID_TCP_SO_SNDBUF=32768
+fi
+AC_DEFINE_UNQUOTED(SQUID_TCP_SO_SNDBUF, $SQUID_TCP_SO_SNDBUF,[TCP send buffer size])
+])
+
+
+dnl detects default TCP buffer size
+dnl not cached since people are likely to tune this
+dnl defines SQUID_TCP_SO_RECVBUF
+
+AC_DEFUN([SQUID_DETECT_TCP_RECV_BUFSIZE],[
+AC_MSG_CHECKING(Default TCP receive buffer size)
+AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/types.h>
+#if HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#if HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#if HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#if HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+int main(int argc, char **argv)
+{
+       FILE *fp;
+        int fd,val=0;
+#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
+        int len=sizeof(int);
+       WSADATA wsaData;
+       WSAStartup(2, &wsaData);
+#else
+        socklen_t len=sizeof(socklen_t);
+#endif
+       if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) return 1;
+#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
+        if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&val, &len) < 0) return 1;
+       WSACleanup();
+#else
+        if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) return 1;
+#endif
+       if (val <= 0) return 1;
+       fp = fopen("conftestval", "w"); 
+       fprintf (fp, "%d\n", val);
+       return 0;
+}
+]])],[SQUID_TCP_SO_RCVBUF=`cat conftestval`],[SQUID_TCP_SO_RCVBUF=16384],[SQUID_TCP_SO_RCVBUF=16384])
+AC_MSG_RESULT($SQUID_TCP_SO_RCVBUF)
+if test $SQUID_TCP_SO_RCVBUF -gt 65535; then
+    AC_MSG_NOTICE([Limiting receive buffer size to 64K])
+    SQUID_TCP_SO_RCVBUF=65535
+fi
+AC_DEFINE_UNQUOTED(SQUID_TCP_SO_RCVBUF, $SQUID_TCP_SO_RCVBUF,[TCP receive buffer size])
+])
index 11c16247605dc6d019fa5449a7c62d55a4cf773f..5c9a7a106e1eddc61ae2ef48cd1fd7a6af16038b 100644 (file)
 SQUID_DEFINE_BOOL(USE_GNUREGEX,$enable_gnuregex,[Define if we should use GNU regex])
 AC_SUBST(REGEXLIB)
 
+SQUID_DETECT_UDP_SND_BUFSIZE
+SQUID_DETECT_UDP_RECV_BUFSIZE
+SQUID_DETECT_TCP_SND_BUFSIZE
+SQUID_DETECT_TCP_RECV_BUFSIZE
 
-dnl Not cached since people are likely to tune this
-AC_MSG_CHECKING(Default UDP send buffer size)
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#if HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#if HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#if HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-int main(int argc, char **argv)
-{
-       FILE *fp;
-        int fd,val=0;
-#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
-        int len=sizeof(int);
-       WSADATA wsaData;
-       WSAStartup(2, &wsaData);
-#else
-        socklen_t len=sizeof(socklen_t);
-#endif
-       if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) return 1;
-#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
-        if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&val, &len) < 0) return 1;
-       WSACleanup();
-#else
-        if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) return 1;
-#endif
-       if (val<=0) return 1;
-        fp = fopen("conftestval", "w");
-        fprintf (fp, "%d\n", val);
-       return 0;
-}
-]])],[SQUID_DETECT_UDP_SO_SNDBUF=`cat conftestval`],[SQUID_DETECT_UDP_SO_SNDBUF=16384],[SQUID_DETECT_UDP_SO_SNDBUF=16384])
-AC_MSG_RESULT($SQUID_DETECT_UDP_SO_SNDBUF)
-AC_DEFINE_UNQUOTED(SQUID_DETECT_UDP_SO_SNDBUF, $SQUID_DETECT_UDP_SO_SNDBUF,[UDP send buffer size])
-
-dnl Not cached since people are likely to tune this
-AC_MSG_CHECKING(Default UDP receive buffer size)
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#if HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#if HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#if HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-int main(int argc, char **argv)
-{
-       FILE *fp;
-        int fd,val=0;
-#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
-        int len=sizeof(int);
-       WSADATA wsaData;
-       WSAStartup(2, &wsaData);
-#else
-        socklen_t len=sizeof(socklen_t);
-#endif
-       if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) return 1;
-#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
-        if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&val, &len) < 0) return 1;
-       WSACleanup();
-#else
-        if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) return 1;
-#endif
-       if (val <= 0) return 1;
-       fp = fopen("conftestval", "w"); 
-       fprintf (fp, "%d\n", val);
-       return 0;
-}
-]])],[SQUID_DETECT_UDP_SO_RCVBUF=`cat conftestval`],[SQUID_DETECT_UDP_SO_RCVBUF=16384],[SQUID_DETECT_UDP_SO_RCVBUF=16384])
-AC_MSG_RESULT($SQUID_DETECT_UDP_SO_RCVBUF)
-AC_DEFINE_UNQUOTED(SQUID_DETECT_UDP_SO_RCVBUF, $SQUID_DETECT_UDP_SO_RCVBUF,[UDP receive buffer size])
-
-dnl Not cached since people are likely to tune this
-AC_MSG_CHECKING(Default TCP send buffer size)
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#if HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#if HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#if HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-int main(int argc, char **argv)
-{
-       FILE *fp;
-        int fd,val=0;
-#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
-        int len=sizeof(int);
-       WSADATA wsaData;
-       WSAStartup(2, &wsaData);
-#else
-        socklen_t len=sizeof(socklen_t);
-#endif
-       if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) return 1;
-#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
-        if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&val, &len) < 0) return 1;
-       WSACleanup();
-#else
-        if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, &len) < 0) return 1;
-#endif
-       if (val <= 0) return 1;
-       fp = fopen("conftestval", "w"); 
-       fprintf (fp, "%d\n", val);
-       return 0;
-}
-]])],[SQUID_TCP_SO_SNDBUF=`cat conftestval`],[SQUID_TCP_SO_SNDBUF=16384],[SQUID_TCP_SO_SNDBUF=16384])
-AC_MSG_RESULT($SQUID_TCP_SO_SNDBUF)
-if test $SQUID_TCP_SO_SNDBUF -gt 32768; then
-    AC_MSG_NOTICE([Limiting send buffer size to 32K])
-    SQUID_TCP_SO_SNDBUF=32768
-fi
-AC_DEFINE_UNQUOTED(SQUID_TCP_SO_SNDBUF, $SQUID_TCP_SO_SNDBUF,[TCP send buffer size])
-
-dnl Not cached since people are likely to tune this
-AC_MSG_CHECKING(Default TCP receive buffer size)
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#if HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#if HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#if HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-int main(int argc, char **argv)
-{
-       FILE *fp;
-        int fd,val=0;
-#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
-        int len=sizeof(int);
-       WSADATA wsaData;
-       WSAStartup(2, &wsaData);
-#else
-        socklen_t len=sizeof(socklen_t);
-#endif
-       if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) return 1;
-#if (defined(WIN32) || defined(__WIN32__) || defined(__WIN32)) && !(defined(__CYGWIN32__) || defined(__CYGWIN__))
-        if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&val, &len) < 0) return 1;
-       WSACleanup();
-#else
-        if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &val, &len) < 0) return 1;
-#endif
-       if (val <= 0) return 1;
-       fp = fopen("conftestval", "w"); 
-       fprintf (fp, "%d\n", val);
-       return 0;
-}
-]])],[SQUID_TCP_SO_RCVBUF=`cat conftestval`],[SQUID_TCP_SO_RCVBUF=16384],[SQUID_TCP_SO_RCVBUF=16384])
-AC_MSG_RESULT($SQUID_TCP_SO_RCVBUF)
-if test $SQUID_TCP_SO_RCVBUF -gt 65535; then
-    AC_MSG_NOTICE([Limiting receive buffer size to 64K])
-    SQUID_TCP_SO_RCVBUF=65535
-fi
-AC_DEFINE_UNQUOTED(SQUID_TCP_SO_RCVBUF, $SQUID_TCP_SO_RCVBUF,[TCP receive buffer size])
 AC_CACHE_CHECK(if sys_errlist is already defined, ac_cv_needs_sys_errlist,
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[char *s = sys_errlist;]])],[ac_cv_needs_sys_errlist="no"],[ac_cv_needs_sys_errlist="yes"])
 )