dnl Process this file with autoconf to produce a configure script.
dnl
-dnl $Id: configure.in,v 1.175 2012/12/09 12:27:01 fabiankeil Exp $
+dnl $Id: configure.in,v 1.198 2016/05/22 12:42:49 fabiankeil Exp $
dnl
-dnl Written by and Copyright (C) 2001-2010 the
-dnl Privoxy team. http://www.privoxy.org/
+dnl Written by and Copyright (C) 2001-2016 the
+dnl Privoxy team. https://www.privoxy.org/
dnl
dnl Based on the Internet Junkbuster originally written
dnl by and Copyright (C) 1997 Anonymous Coders and
dnl AutoConf Initialization
dnl =================================================================
-AC_REVISION($Revision: 1.175 $)
+AC_REVISION($Revision: 1.198 $)
AC_INIT(jcc.c)
if test ! -f config.h.in; then
VERSION_MAJOR=3
VERSION_MINOR=0
-VERSION_POINT=20
+VERSION_POINT=25
CODE_STATUS="beta"
dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
AC_MSG_RESULT($with_group)
$BGROUPS $USER >/dev/null
if test $? -eq 0 ; then
- # FIXME: this fails if valid group, but not first group
- # listed.
- if test "$with_group" != "`$BGROUPS $USER | sed 's/.*: //' 2>/dev/null |$AWK '{print $1}'`" ; then
+ for i in `$BGROUPS $USER | sed 's/.*: //' 2>/dev/null`; do
+ if test "x$i" = "x$with_group" ; then
+ GROUP=$with_group
+ break
+ fi
+ done
+ if test "x$GROUP" != "x$with_group" ; then
AC_MSG_ERROR(The given value '$withval' does not match group entry)
- else
- GROUP=$with_group;
fi
else
AC_MSG_ERROR(There is no group entry for user '$USER')
fi
AC_SUBST(WIN_ONLY)
-dnl Checking which text html browser we have available
if test $dodk != no; then
- AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
- if test "$WDUMP" = false; then
- AC_MSG_WARN(You need some kind of text browser to build documentation \(w3m, lynx and links are supported\))
+ AC_CHECK_PROGS(W3M, w3m, false)
+ if test "$W3M" = false; then
+ AC_MSG_WARN(You need w3m to build text documentation.)
fi
if test $DB2HTML = false; then
dnl We need to clean the variable, otherwise AC_CHECK_PROGS
AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
fi
fi
-AC_SUBST(WDUMP)
+AC_SUBST(W3M)
AC_SUBST(DB2HTML)
dnl If we use rpm, we need to check where %_topdir is
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
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([ \
gethostbyname_r \
gettimeofday \
inet_ntoa \
- localtime_r \
memchr \
memmove \
memset \
AC_DEFINE(FEATURE_IMAGE_BLOCKING))
AC_ARG_ENABLE(acl-support,
-[ --disable-acl-support Prevents the use of ACLs to control access to
+[ --disable-acl-support Prevents the use of ACLs to control access to
Privoxy by IP address.],
[if test $enableval = yes; then
AC_DEFINE(FEATURE_ACL)
AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
fi])
+AC_ARG_ENABLE(external-filters,
+[ --enable-external-filters Allow to filter content with scripts and programs. Experimental.],
+[if test $enableval = yes; then
+ AC_DEFINE(FEATURE_EXTERNAL_FILTERS,1,[Define to 1 to allow to filter content with scripts and programs.])
+fi])
+
AC_ARG_ENABLE(accept-filter,
[ --enable-accept-filter Try to use accf_http(9) if supported.],
[if test $enableval = yes; then
AC_DEFINE(FEATURE_STRPTIME_SANITY_CHECKS)
fi])
+AC_ARG_ENABLE(client-tags,
+[ --disable-client-tags Disable support for client-specific tags],
+[ if test $enableval = "no"; then have_client_tags=no; fi ])
+if test "${have_client_tags}" = "no"; then
+ echo "Disabling support for client-specific tags."
+ FEATURE_CLIENT_TAGS_ONLY="#"
+else
+ echo "Enabling support for client-specific tags."
+ AC_DEFINE(FEATURE_CLIENT_TAGS,1,[Define to enable support for client-specific tags.])
+ FEATURE_CLIENT_TAGS_ONLY=""
+fi
+AC_SUBST(FEATURE_CLIENT_TAGS_ONLY)
+
dnl pcre/pcrs is needed for CGI anyway, so
dnl the choice is only between static and
dnl dynamic:
if test $have_pcre = "yes"; then
echo "using libpcre"
pcre_dyn=yes
+ AC_DEFINE(FEATURE_DYNAMIC_PCRE,1,[Define to dynamically link to pcre.])
STATIC_PCRE_ONLY=#
LIBS="$LIBS -lpcre -lpcreposix"
else
AC_MSG_WARN([You are using the static PCRE code which is out of date and scheduled for removal, for details see:
http://sourceforge.net/mailarchive/forum.php?thread_name=20080511195555.2dc6cfdc%40fabiankeil.de&forum_name=ijbswa-developers])
pcre_dyn=no
- AC_DEFINE(STATIC_PCRE)
+ # STATIC_PCRE is a name pcre needs to statically link on Windows.
+ # Privoxy itself no longer uses it.
+ AC_DEFINE(STATIC_PCRE,1,[Define to statically link to internal outdated pcre on Windows.])
STATIC_PCRE_ONLY=
fi