dnl Process this file with autoconf to produce a configure script.
dnl
-dnl $Id: configure.in,v 1.195 2016/04/09 10:22:26 fabiankeil Exp $
+dnl $Id: configure.in,v 1.206 2016/09/27 22:48:28 ler762 Exp $
dnl
dnl Written by and Copyright (C) 2001-2016 the
dnl Privoxy team. https://www.privoxy.org/
dnl AutoConf Initialization
dnl =================================================================
-AC_REVISION($Revision: 1.195 $)
+AC_REVISION($Revision: 1.206 $)
AC_INIT(jcc.c)
if test ! -f config.h.in; then
VERSION_MAJOR=3
VERSION_MINOR=0
-VERSION_POINT=25
+VERSION_POINT=27
CODE_STATUS="UNRELEASED"
dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
dodk=no
if test $target_type = unix; then
case "$host_os" in
- linux* | gnu*)
+ linux* | gnu* | *bsd*)
dodk=yes
;;
esac
if test $target_type = mingw; then
WIN_ONLY=
CFLAGS="$CFLAGS -DWINVER=0x501"
- SPECIAL_CFLAGS="-mwindows -mno-cygwin"
- PTHREAD_LIB=-lpthreadGC
+ SPECIAL_CFLAGS="-mwindows"
+ PTHREAD_LIB=-lpthread
echo "Using mingw32 (Win32 GUI)"
else
WIN_ONLY=#
for i in /usr/share/sgml/CATALOG.docbk30 \
/usr/share/sgml/CATALOG.docbk31 \
/usr/share/sgml/CATALOG.docbk31 \
+ /usr/local/share/sgml/docbook/2.4.1/docbook.cat \
/usr/local/share/sgml/docbook/3.0/docbook.cat \
/usr/local/share/sgml/docbook/3.1/docbook.cat \
/usr/share/sgml/docbook/dtd/3.1/docbook.cat \
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1"
fi])
+AC_ARG_ENABLE(static-linking,
+[ --enable-static-linking Use static linking instead of dynamic linking (ie. LDFLAGS=-static)],
+[ if test $enableval = yes; then LDFLAGS="$LDFLAGS -static"; fi ])
+
dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
old_CFLAGS_nospecial=$CFLAGS
CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
AC_SUBST(PTHREAD_ONLY)
+dnl =================================================================
+dnl On most platforms select() does not support fd numbers above
+dnl FD_SETSIZE, as a result Privoxy can't handle more than
+dnl approximately FD_SETSIZE/2 client connections.
+dnl On some platforms the value can be changed at compile time,
+dnl on others it's hardcoded and requires recompilation of the OS.
+dnl =================================================================
+AC_ARG_WITH(fdsetsize,
+ [ --with-fdsetsize=n Optimistically redefine FD_SETSIZE with the intend to change the number of connections Privoxy can handle. Dangerous if the platform doesn't support this.],
+ [
+ if test "x$withval" != "xyes"; then
+ AC_DEFINE_UNQUOTED(FD_SETSIZE,$with_fdsetsize,[Relevant for select(). Not honoured by all OS.])
+ echo "Redefining FD_SETSIZE to $with_fdsetsize."
+ AC_MSG_WARN(On platforms that don't support FD_SETSIZE redefinition it may cause memory corruption.)
+ else
+ AC_MSG_ERROR(--with-fdsetsize used without value)
+ fi
+ ]
+)
+
dnl =================================================================
dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
dnl gmtime and localtime
dnl Solaris problem, and others perhaps (socklen_t is undefined)
dnl =================================================================
+if test $target_type != mingw; then
+# i686-w64-mingw32-gcc gets socklen_t define from ws2tcpip.h
+
AC_MSG_CHECKING([for socklen_t])
AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no])
AC_DEFINE(socklen_t,int,
[ Define to 'int' if <sys/socket.h> doesn't have it. ]))
+fi
dnl =================================================================
dnl OS/2 specific
AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(long long, 8)
AC_CHECK_SIZEOF(size_t, 4)
+AC_CHECK_SIZEOF(time_t, 8)
dnl Checks for header files.
AC_CHECK_HEADERS([ \
AC_MSG_CHECKING(getaddrinfo in ws2_32)
AC_TRY_LINK(
[
+ #include<winsock2.h>
#include<windows.h>
#include<ws2tcpip.h>
],
AC_MSG_CHECKING(getnameinfo in ws2_32)
AC_TRY_LINK(
[
+ #include<winsock2.h>
#include<windows.h>
#include<ws2tcpip.h>
],
fi
AC_SUBST(FEATURE_CLIENT_TAGS_ONLY)
+AC_ARG_ENABLE(fuzz,
+[ --enable-fuzz Enable code that makes fuzzing more convenient],
+[if test $enableval = yes; then
+ FUZZ_ONLY=""
+ AC_DEFINE(FUZZ,1,[Define to make fuzzing more convenient.])
+ else
+ FUZZ_ONLY="#"
+fi])
+AC_SUBST(FUZZ_ONLY)
+
dnl pcre/pcrs is needed for CGI anyway, so
dnl the choice is only between static and
dnl dynamic: