dnl Process this file with autoconf to produce a configure script.
dnl
-dnl $Id: configure.in,v 1.161 2011/10/30 16:20:12 fabiankeil Exp $
+dnl $Id: configure.in,v 1.184 2014/06/02 06:19:05 fabiankeil Exp $
dnl
-dnl Written by and Copyright (C) 2001-2010 the
+dnl Written by and Copyright (C) 2001-2014 the
dnl Privoxy team. http://www.privoxy.org/
dnl
dnl Based on the Internet Junkbuster originally written
dnl AutoConf Initialization
dnl =================================================================
-AC_REVISION($Revision: 1.161 $)
+AC_REVISION($Revision: 1.184 $)
AC_INIT(jcc.c)
if test ! -f config.h.in; then
VERSION_MAJOR=3
VERSION_MINOR=0
-VERSION_POINT=18
+VERSION_POINT=22
CODE_STATUS="UNRELEASED"
-dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
-dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
-dnl whenever CVS in a stable branch differs from the last release.
+dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
+dnl and will be used for CGI output. Increment version number and
+dnl set status to "UNRELEASED" whenever CVS differs from the last
+dnl release and no new release is near.
dnl =================================================================
dnl Substitute the version numbers
dnl =================================================================
-if test "$EMXOS2" = yes; then
+if test "$EMXOS2" = yes || test "$host_os" = haiku; then
echo "Skipping user and group validity stuff.";
else
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(AMIGAOS_ONLY)
+dnl =================================================================
+dnl Haiku specific
+dnl =================================================================
+
+if test "$host_os" = haiku; then
+ # Omit the "-pthread" flag to gcc, even when building with gcc 2.95
+ SPECIAL_CFLAGS=
+
+ # Haiku's pthreads implementation exists in its system library,
+ # libroot, not in a separate pthreads library
+ PTHREAD_LIB=
+
+ # Networking code exists in libnetwork
+ SOCKET_LIB=-lnetwork
+
+ # Search Haiku's common-library folder to find its pcre and
+ # pcreposix libraries
+ LIBS="-L/boot/common/lib $LIBS"
+fi
+
dnl =================================================================
dnl Check for standard compiler stuff
dnl =================================================================
AC_CHECK_SIZEOF(size_t, 4)
dnl Checks for header files.
-dnl AC_HEADER_SYS_WAIT
-dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
-AC_CHECK_HEADERS([OS.h arpa/inet.h errno.h fcntl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/timeb.h sys/wait.h unistd.h])
+AC_CHECK_HEADERS([ \
+ OS.h \
+ arpa/inet.h \
+ errno.h \
+ fcntl.h \
+ limits.h \
+ locale.h \
+ netdb.h \
+ netinet/in.h \
+ stddef.h \
+ stdlib.h \
+ string.h \
+ sys/ioctl.h \
+ sys/socket.h \
+ sys/time.h \
+ sys/timeb.h \
+ sys/wait.h \
+ unistd.h \
+])
dnl Checks for library functions.
dnl bcopy is for PCRE
AC_CHECK_FUNCS([bcopy])
AC_PROG_GCC_TRADITIONAL
AC_TYPE_SIGNAL
-AC_CHECK_FUNCS([access atexit getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r gettimeofday inet_ntoa localtime_r memchr memmove memset poll putenv random regcomp select setlocale snprintf socket strchr strdup strerror strftime strlcat strlcpy strptime strstr strtoul timegm tzset])
+AC_CHECK_FUNCS([ \
+ access \
+ atexit \
+ getcwd \
+ gethostbyaddr \
+ gethostbyaddr_r \
+ gethostbyname \
+ gethostbyname_r \
+ gettimeofday \
+ inet_ntoa \
+ memchr \
+ memmove \
+ memset \
+ poll \
+ putenv \
+ random \
+ regcomp \
+ select \
+ setlocale \
+ shutdown \
+ snprintf \
+ socket \
+ strchr \
+ strdup \
+ strerror \
+ strftime \
+ strlcat \
+ strlcpy \
+ strptime \
+ strtoul \
+ timegm \
+ tzset \
+])
dnl Checks for RFC 2553 resolver and socket functions
AC_ARG_ENABLE(ipv6-support,
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_ACCEPT_FILTER)
fi])
+AC_ARG_ENABLE(strptime-sanity-checks,
+[ --enable-strptime-sanity-checks Only trust strptime() results if an additional strftime()/strptime()
+ conversion doesn't change the result. Can be useful if strptime() is
+ known or suspected to be broken.],
+[if test $enableval = yes; then
+ AC_DEFINE(FEATURE_STRPTIME_SANITY_CHECKS)
+fi])
+
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