dnl Process this file with autoconf to produce a configure script.
dnl
-dnl $Id: configure.in,v 1.32 2002/03/05 14:07:43 morcego Exp $
+dnl $Id: configure.in,v 1.58 2002/04/04 20:49:20 swa Exp $
dnl
-dnl Written by and Copyright (C) 2001 the SourceForge
-dnl IJBSWA team. http://ijbswa.sourceforge.net
+dnl Written by and Copyright (C) 2001, 2002 the SourceForge
+dnl Privoxy team. http://www.privoxy.org/
dnl
dnl Based on the Internet Junkbuster originally written
dnl by and Copyright (C) 1997 Anonymous Coders and
dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA.
dnl
dnl $Log: configure.in,v $
+dnl Revision 1.58 2002/04/04 20:49:20 swa
+dnl attempt to consolidate the
+dnl different dokbook versions.
+dnl
+dnl Revision 1.57 2002/04/04 00:36:36 gliptak
+dnl always use pcre for matching
+dnl
+dnl Revision 1.56 2002/04/03 22:28:03 gliptak
+dnl Removed references to gnu_regex
+dnl
+dnl Revision 1.55 2002/04/03 03:54:38 gliptak
+dnl Checking pcre version
+dnl
+dnl Revision 1.54 2002/04/01 00:54:24 gliptak
+dnl More changes needed around regex support.
+dnl
+dnl Revision 1.53 2002/03/29 20:09:01 swa
+dnl al's patch
+dnl
+dnl Revision 1.52 2002/03/29 19:51:40 gliptak
+dnl Correcting compile problem with Debian
+dnl
+dnl Revision 1.51 2002/03/28 20:43:00 swa
+dnl set make correctly
+dnl
+dnl Revision 1.50 2002/03/27 03:03:45 hal9
+dnl Add test for man2html
+dnl
+dnl Revision 1.49 2002/03/27 02:19:52 david__schmidt
+dnl More Mac OSX support:
+dnl - Get rid of extraneous, noisy -pthread warnings
+dnl - Define unix so we get oes' unix-tagged changes
+dnl
+dnl Revision 1.48 2002/03/26 22:29:54 swa
+dnl we have a new homepage!
+dnl
+dnl Revision 1.47 2002/03/26 16:41:00 hal9
+dnl Upped RPM Release to 3 (need to build new RH packages)
+dnl
+dnl Revision 1.46 2002/03/24 18:55:06 jongfoster
+dnl Making Docbook work under Windows
+dnl
+dnl Revision 1.45 2002/03/24 14:19:55 swa
+dnl set rpm package release in configure.in. nowhere else.
+dnl
+dnl Revision 1.44 2002/03/24 13:25:43 swa
+dnl name change related issues
+dnl
+dnl Revision 1.43 2002/03/24 12:56:21 swa
+dnl name change related issues.
+dnl
+dnl Revision 1.42 2002/03/22 18:11:37 jongfoster
+dnl Bumping version number to 2.9.12
+dnl
+dnl Revision 1.41 2002/03/19 19:30:04 morcego
+dnl - Fixing stylesheet checking on configure. If it is found, no further checks
+dnl should be done
+dnl
+dnl - configure will now check for db2html or docbook2html (should work now
+dnl on SuSe without the docbktls package)
+dnl
+dnl Revision 1.40 2002/03/09 14:33:30 oes
+dnl Fixing the (harmless) AC_CHECK_FILE warnings
+dnl
+dnl Revision 1.39 2002/03/08 16:46:13 oes
+dnl Added --enable-no-gifs
+dnl
+dnl Revision 1.38 2002/03/08 14:13:50 morcego
+dnl Fixing configure, to remove a command not found error.
+dnl
+dnl Revision 1.37 2002/03/08 12:58:21 oes
+dnl Tiny bugfix in AC_ARG_WITH(debug)
+dnl
+dnl Revision 1.36 2002/03/06 23:50:36 morcego
+dnl Will not test for a text browser if we are not using docbook.
+dnl
+dnl Revision 1.35 2002/03/06 21:55:52 morcego
+dnl New configure option: --with-docbook=(yes|no|directory)
+dnl Preliminary new platform detection code included. Will work with the
+dnl old one for now. No use just trowing it away
+dnl
+dnl Revision 1.34 2002/03/06 20:57:00 morcego
+dnl Fixing detection of stylesheets on SuSe.
+dnl
+dnl Revision 1.33 2002/03/05 17:31:11 morcego
+dnl Search for docbook.dsl. Should solve portability problems for SuSe.
+dnl
dnl Revision 1.32 2002/03/05 14:07:43 morcego
dnl configure now detects rpm topdir, and change GNUmakefile acordingly
dnl (based on sugestion by Sarantis Paskalis)
dnl AutoConf Initialization
dnl =================================================================
-AC_REVISION($Revision: 1.32 $)
+AC_REVISION($Revision: 1.58 $)
AC_INIT(jcc.c)
-AC_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADER([config.h])
AC_CANONICAL_HOST
+dodk=auto
+DKPREFIX=none
+AC_ARG_WITH(docbook, dnl
+ --with-docbook=[[yes|no|directory]]
+ Enable docbook documentation creation
+ (default = yes, for gnu and linux),[dnl
+case "$with_docbook" in
+yes) dodk=yes;;
+no) dodk=no;;
+*)
+ dodk=no
+ DKPREFIX=$withval
+ ;;
+esac
+])
+DB2HTML=false
+AC_ARG_WITH(db2html, dnl
+ --with-db2html=<path/executable>
+ Set the location of the docbook to html converter
+ (default = search),[dnl
+DB2HTML=$withval
+])
dnl =================================================================
dnl Application version number
VERSION_MAJOR=2
VERSION_MINOR=9
-VERSION_POINT=11
+VERSION_POINT=13
+VERSION_RPM_PACKAGE=3
CODE_STATUS="beta"
dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
AC_SUBST(VERSION_MAJOR)
AC_SUBST(VERSION_MINOR)
AC_SUBST(VERSION_POINT)
+AC_SUBST(VERSION_RPM_PACKAGE)
AC_SUBST(CODE_STATUS)
dnl
AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR})
AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR})
AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT})
+AC_DEFINE_UNQUOTED(VERSION_RPM_PACKAGE,${VERSION_RPM_PACKAGE})
AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}")
AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}")
dnl =================================================================
AC_PROG_CC
AC_PROG_CPP
-dnl AC_PROG_CXX
-dnl AC_PROG_INSTALL
-dnl AC_PROG_LN_S
-dnl AC_PROG_MAKE_SET
-dnl RANLIB is for PCRE:
-dnl AC_PROG_RANLIB
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
AC_CHECK_PROG(GDB,gdb,yes,no)
AC_ARG_WITH(debug,
[ --with-debug Enable debug mode],
[
- if test "x$withval" != "$xno" ; then
+ if test "x$withval" != "xno" ; then
if test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
if test "$GDB"; then
]
)
+AC_ARG_WITH(user,
+ [ --with-user=privoxy Set user under which privoxy run],
+ [
+ if test "x$withval" != "xyes"; then
+ USER=$with_user;
+ else
+ AC_MSG_ERROR(We need a user if you give me this parameter)
+ fi
+ ],
+ [
+ USER=privoxy;
+ ]
+)
+AC_SUBST(USER)
+
+AC_ARG_WITH(group,
+ [ --with-group=privoxy Set group for privoxy],
+ [
+ if test "x$withval" != "xyes"; then
+ GROUP=$with_group;
+ else
+ AC_MSG_ERROR(We need a group if you give me this parameter)
+ fi
+ ],
+ [
+ GROUP=privoxy;
+ ]
+)
+AC_SUBST(GROUP)
dnl =================================================================
dnl additional gcc flags
dnl =================================================================
fi
fi
+if test $dodk = auto; then
+ dodk=no
+ if test $target_type = unix; then
+ case "$host_os" in
+ linux* | gnu*)
+ dodk=yes
+ ;;
+ esac
+ fi
+fi
+
dnl Decide what to do based on target_type
dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
dnl This is because we don't know yet whether pthread is enabled.
AC_SUBST(WIN_ONLY)
dnl Checking which text html browser we have avaliable
-if test $target_type = unix; then
+if test $dodk != no; then
AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
if test "$WDUMP" = false; then
AC_MSG_ERROR(You need some kind of text browser to continue \(w3m, lynx and links are supported\))
fi
+ if test $DB2HTML = false; then
+ dnl We need to clean the variable, otherwise AC_CHECK_PROGS
+ dnl will fail
+ DB2HTML=""
+ AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
+ fi
fi
AC_SUBST(WDUMP)
+AC_SUBST(DB2HTML)
dnl If we use rpm, we need to check where %_topdir is
AC_CHECK_PROGS(RPMBIN,rpm,false)
AC_CHECK_PROGS(JADEBIN,jade openjade,false)
AC_SUBST(JADEBIN)
+dnl Check for man2html for docs.
+AC_CHECK_PROGS(MAN2HTML,man2html,false)
+AC_SUBST(MAN2HTML)
+
dnl Checking for the docbook.dsl stylesheet file
-DKPREFIX=none
-AC_CHECK_FILE(/usr/share/sgml/docbook/dsssl-stylesheets/html/docbook.dsl,DKPREFIX=/usr/share/sgml/docbook/dsssl-stylesheets,AC_CHECK_FILE(/usr/share/sgml/docbkdsl/html/docbook.dsl,/usr/share/sgml/docbkdsl))
+dnl It is still not portable (directory slash)
+JADECAT=""
+if test $dodk = yes; then
+ if test $DKPREFIX = none; then
+ for i in /usr/share/sgml/docbook/dsssl-stylesheets /usr/share/sgml/docbkdsl /usr/share/sgml/docbook-dsssl; do
+ echo -n "checking for $i/html/docbook.dsl..."
+ if test -f $i/html/docbook.dsl; then
+ echo "yes"
+ DKPREFIX=$i
+ break
+ else
+ echo "no"
+ fi
+ done
+# where are the catalogs?
+ for i in /usr/share/sgml/CATALOG.docbk30 /usr/share/sgml/CATALOG.docbk31; do
+ echo -n "checking for $i..."
+ if test -f $i; then
+ echo "yes"
+ JADECAT="$JADECAT -c $i"
+ else
+ echo "no"
+ fi
+ done
+ fi
+fi
+AC_SUBST(JADECAT)
AC_SUBST(DKPREFIX)
dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
AC_SUBST(SOCKET_LIB)
+dnl =================================================================
+dnl Mac OSX specific
+dnl =================================================================
+
+case "$host" in
+*-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
+;;
+esac
+
dnl =================================================================
dnl AmigaOS specific
dnl =================================================================
AC_EXEEXT
AC_OBJEXT
AC_HEADER_STDC
+AC_HEADER_DIRENT
AC_C_CONST
AC_TYPE_SIZE_T
+AC_TYPE_PID_T
+AC_HEADER_TIME
+AC_STRUCT_TM
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(char *, 4)
AC_CHECK_SIZEOF(long, 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])
dnl Checks for library functions.
dnl AC_TYPE_SIGNAL
dnl AC_CHECK_FUNC(strstr)
dnl bcopy and memmove are for PCRE
-AC_CHECK_FUNCS(strerror bcopy memmove)
+AC_CHECK_FUNCS([strerror bcopy memmove])
+AC_PROG_GCC_TRADITIONAL
+dnl uncommenting does not work for swa. suse linux
+dnl AC_FUNC_MALLOC
+AC_FUNC_SETPGRP
+AC_TYPE_SIGNAL
+dnl uncommenting does not work for swa. suse linux
+dnl AC_FUNC_STAT
+AC_CHECK_FUNCS([atexit getcwd gethostbyaddr gethostbyname inet_ntoa localtime_r memchr memmove memset regcomp select setlocale socket strchr strdup strerror strftime strstr strtoul])
dnl =================================================================
dnl =================================================================
dnl Note: Some systems may have the library but not the system header
dnl file, so we must check for both.
-AC_CHECK_LIB(pcre, pcre_compile, [AC_CHECK_HEADER(pcre.h, [have_pcre=yes], [have_pcre=no])], [have_pcre=no])
-AC_CHECK_LIB(pcreposix, regcomp, [AC_CHECK_HEADER(pcreposix.h, [have_pcreposix=yes], [have_pcreposix=no])], [have_pcreposix=no], -lpcre)
+dnl Also check for correct version
+AC_CHECK_LIB(pcre, pcre_compile, [AC_CHECK_HEADER(pcre.h, [AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])], [have_pcre=no])], [have_pcre=no])
+AC_CHECK_LIB(pcreposix, regcomp, [AC_CHECK_HEADER(pcreposix.h, [AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])], [have_pcreposix=no])], [have_pcreposix=no], -lpcre)
AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no])
fi],
AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS))
+AC_ARG_ENABLE(no-gifs,
+[ --enable-no-gifs Use politically correct PNG format instead of GIF
+ for built-in images. May not work with all browsers.],
+[if test $enableval = yes; then
+ AC_DEFINE(FEATURE_NO_GIFS)
+fi])
+
+
dnl pcre/pcrs is needed for CGI anyway, so
dnl the choice is only between static and
dnl dynamic:
-AC_ARG_ENABLE(regex-matching,
-[ --enable-regex-matching=pcre Use perl-compatible regex for actionsfile
- pattern matching (default)
- --enable-regex-matching=gnu Use gnu style regex for actionsfile pattern
- matching (-> bigger binary)
- --disable-regex-matching Don't use regex matching, compare URL
- prefix instead (won't shrink birary)],
-[ regex_matching=$enableval ],
-[ regex_matching=pcre ])
-
AC_ARG_ENABLE(dynamic-pcre,
[ --disable-dynamic-pcre Use the built-in, static pcre, even if
libpcre is available],
[ if test $enableval = "no"; then have_pcrs=no; fi ])
-# Is the regex URL matching based on libpcreposix, but we
-# don't have that library?
-#
-if test $have_pcreposix = "yes" -o $regex_matching != "pcre"; then
- dont_miss_pcreposix=yes
-else
- dont_miss_pcreposix=no
-fi
-
# If we have libpcre and either we also have pcreposix or
# we don't need pcreposix, then link pcre dynamically; else
# build it and link statically
#
-if test $have_pcre = "yes" -a $dont_miss_pcreposix = "yes"; then
+if test $have_pcre = "yes"; then
echo "using libpcre"
pcre_dyn=yes
STATIC_PCRE_ONLY=#
- LIBS="$LIBS -lpcre"
+ LIBS="$LIBS -lpcre -lpcreposix"
else
echo "using built-in static pcre"
pcre_dyn=no
STATIC_PCRS_ONLY=
fi
-# Which method should be used for URL matching?
-# pcre, gnu regex or prefix matching?
-#
-if test $regex_matching = "gnu"; then
- echo "using gnu regex for URL matching"
- AC_DEFINE(REGEX_GNU)
- GNU_REGEX_ONLY=
- PCRE_REGEX_ONLY=#
-elif test $regex_matching = "pcre"; then
- echo "using pcre regex for URL matching"
- AC_DEFINE(REGEX_PCRE)
- GNU_REGEX_ONLY=#
- PCRE_REGEX_ONLY=
- if test $pcre_dyn = "yes"; then
- LIBS="$LIBS -lpcreposix"
- fi
-else
- echo -e "using prefix matching for URLs\nHint: This does NOT make the executable any smaller!"
- GNU_REGEX_ONLY=#
- PCRE_REGEX_ONLY=#
-fi
-
-AC_SUBST(GNU_REGEX_ONLY)
-AC_SUBST(PCRE_REGEX_ONLY)
AC_SUBST(STATIC_PCRE_ONLY)
AC_SUBST(STATIC_PCRS_ONLY)