X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=configure.in;h=6b8ce0cc8beafdd664eee307fb438d4a766d481d;hp=848911e765374c6debb5b6d1462b46382b922903;hb=4e9c3c17844ce6c7d89884472549602bc596c327;hpb=12f52e6af55d51d4b268af7956d97c772eebbb5c diff --git a/configure.in b/configure.in index 848911e7..6b8ce0cc 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl $Id: configure.in,v 1.3 2001/05/22 18:46:04 oes Exp $ +dnl $Id: configure.in,v 1.11 2001/07/21 18:00:07 jongfoster Exp $ dnl dnl Written by and Copyright (C) 2001 the SourceForge dnl IJBSWA team. http://ijbswa.sourceforge.net @@ -28,6 +28,66 @@ dnl or write to the Free Software Foundation, Inc., 59 dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl dnl $Log: configure.in,v $ +dnl Revision 1.11 2001/07/21 18:00:07 jongfoster +dnl Bumping version number to 2.9.7 +dnl +dnl Revision 1.10 2001/07/18 17:25:04 oes +dnl Fixed a typo +dnl +dnl Revision 1.9 2001/07/15 19:45:13 jongfoster +dnl Added support for linking with POSIX threads library +dnl +dnl Revision 1.8 2001/07/15 17:54:29 jongfoster +dnl Renaming #define STATIC to STATIC_PCRE +dnl Adding new #define FEATURE_PTHREAD that will be used to enable +dnl POSIX threads support. +dnl +dnl Revision 1.7 2001/07/13 13:58:05 oes +dnl Completely reorganized the selection scheme for +dnl pcre, pcreposix, pcrs and gnu_regex: +dnl +dnl The presence of shared pcre, pcreposix or pcrs +dnl libraried is now autodetected. Additionally, the +dnl user can enforce using the built-in static variants +dnl by specifying --disable-dynamic-(pcre|pcrs). +dnl Care is taken to avoid that pcre is dyn, while pcreposix +dnl is static, if both are used and that pcrs is static if +dnl pcrs is. +dnl +dnl The choice between pcre, gnu or no regex for actionsfile +dnl URL matching is now via +dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the +dnl default being pcre. +dnl +dnl Revision 1.6 2001/06/29 21:56:40 oes +dnl Version -> 2.9.5 +dnl +dnl Revision 1.5 2001/06/29 13:26:27 oes +dnl Introduced #define CODE_STATUS +dnl +dnl Revision 1.4 2001/05/29 09:50:24 jongfoster +dnl Unified blocklist/imagelist/permissionslist. +dnl File format is still under discussion, but the internal changes +dnl are (mostly) done. +dnl +dnl Also modified interceptor behaviour: +dnl - We now intercept all URLs beginning with one of the following +dnl prefixes (and *only* these prefixes): +dnl * http://i.j.b/ +dnl * http://ijbswa.sf.net/config/ +dnl * http://ijbswa.sourceforge.net/config/ +dnl - New interceptors "home page" - go to http://i.j.b/ to see it. +dnl - Internal changes so that intercepted and fast redirect pages +dnl are not replaced with an image. +dnl - Interceptors now have the option to send a binary page direct +dnl to the client. (i.e. ijb-send-banner uses this) +dnl - Implemented show-url-info interceptor. (Which is why I needed +dnl the above interceptors changes - a typical URL is +dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif". +dnl The previous mechanism would not have intercepted that, and +dnl if it had been intercepted then it then it would have replaced +dnl it with an image.) +dnl dnl Revision 1.3 2001/05/22 18:46:04 oes dnl dnl - Enabled filtering banners by size rather than URL @@ -94,12 +154,17 @@ AC_CONFIG_HEADER(config.h) VERSION_MAJOR=2 VERSION_MINOR=9 -VERSION_POINT=4 +VERSION_POINT=8 AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_POINT) +dnl This can be "alpha", "beta", or "stable" +dnl and will be used for CGI output +dnl +AC_DEFINE(CODE_STATUS, "alpha") + AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR}) AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR}) AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT}) @@ -121,8 +186,11 @@ AC_EXEEXT AC_OBJEXT dnl Checks for libraries. -dnl AC_CHECK_LIB(pcre, pcre_compile) -dnl AC_CHECK_LIB(pcreposix, regcomp, pcre) +dnl Note: Some systems have the library but not the system header file, +dnl 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) +AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no]) dnl Checks for header files. AC_HEADER_STDC @@ -143,93 +211,75 @@ AC_CHECK_FUNCS(strerror bcopy memmove) dnl Build type +dnl Note: PTHREAD_LIB is always set, even if pthread is disabled. + AC_ARG_ENABLE(mingw32, [ --enable-mingw32 Use mingw32 for a Windows GUI], [if test $enableval = yes; then WIN_ONLY= CYGWIN_FLAGS="-mwindows -mno-cygwin" + PTHREAD_LIB=-lpthreadGC echo "Using mingw32 (Win32 GUI)" else WIN_ONLY=# if test "$CYGWIN" = "yes"; then CYGWIN_FLAGS="-mno-win32" + PTHREAD_LIB= echo "Using Cygnus (Win32 command line)" else CYGWIN_FLAGS= + PTHREAD_LIB=-lpthread fi fi], [if test "$MINGW32" = "yes"; then WIN_ONLY= CYGWIN_FLAGS="-mwindows -mno-cygwin" + PTHREAD_LIB=-lpthreadGC echo "Using mingw32 (Win32 GUI)" else WIN_ONLY=# if test "$CYGWIN" = "yes"; then CYGWIN_FLAGS="-mno-win32" + PTHREAD_LIB= echo "Using Cygnus (Win32 command line)" else CYGWIN_FLAGS= + PTHREAD_LIB=-lpthread fi fi]) AC_SUBST(WIN_ONLY) AC_SUBST(CYGWIN_FLAGS) +AC_SUBST(PTHREAD_LIB) SOLARIS_ONLY=# AC_SUBST(SOLARIS_ONLY) dnl Features -dnl Regex engine: - -GNU_REGEX_ONLY= -PCRE_REGEX_ONLY= -NO_REGEX_ONLY=# - -AC_ARG_ENABLE(regex, -[ --disable-regex Don't allow regular expressions in the blockfile], -[if test $enableval = yes; then - AC_DEFINE(REGEX) -else - NO_REGEX_ONLY= - GNU_REGEX_ONLY=# - PCRE_REGEX_ONLY=# -fi],AC_DEFINE(REGEX)) - -AC_ARG_ENABLE(pcre-regex, -[ --disable-pcre-regex Use old, slow GNU Regex instead of PCRE.], -[if test $enableval = yes; then - AC_DEFINE(PCRE) - GNU_REGEX_ONLY=# -else - PCRE_REGEX_ONLY=# -fi],[AC_DEFINE(PCRE) - GNU_REGEX_ONLY=# -]) - -AC_SUBST(GNU_REGEX_ONLY) -AC_SUBST(PCRE_REGEX_ONLY) -AC_SUBST(NO_REGEX_ONLY) - - -dnl Other features: - AC_ARG_ENABLE(toggle, [ --disable-toggle Don't support temporary disable], [if test $enableval = yes; then AC_DEFINE(TOGGLE) fi],AC_DEFINE(TOGGLE)) -PCRS_ONLY= -AC_ARG_ENABLE(pcrs, -[ --disable-pcrs Don't support arbitrary content modification], +AC_ARG_ENABLE(pthread, +[ --disable-pthread Don't use POSIX threads (pthreads)], [if test $enableval = yes; then - AC_DEFINE(PCRS) - AC_DEFINE(DENY_GZIP) + PTHREAD_ONLY= + AC_DEFINE(FEATURE_PTHREAD) else - PCRS_ONLY=# -fi],[AC_DEFINE(PCRS) AC_DEFINE(DENY_GZIP)]) -AC_SUBST(PCRS_ONLY) + PTHREAD_ONLY=# +fi],[AC_DEFINE(FEATURE_PTHREAD) + PTHREAD_ONLY= +]) +AC_SUBST(PTHREAD_ONLY) + +AC_ARG_ENABLE(gzip, +[ --enable-gzip Allow gzip'ed transfer of documents. Note that this will make content modification impossible.], +[if test $enableval = "no"; then + AC_DEFINE(DENY_GZIP) +fi]) AC_ARG_ENABLE(force, [ --disable-force Don't allow blockfle to be bypassed], @@ -307,17 +357,91 @@ AC_ARG_ENABLE(jar-files, fi], AC_DEFINE(JAR_FILES)) -LIBRARY_PCRE_ONLY=# -STATIC_PCRE_ONLY= -AC_ARG_ENABLE(static-pcre, -[ --disable-static-pcre Link dynamically with the pcre and pcreposix - libraries. You must build the libraries seperately.], -[if test $enableval = no; then - LIBRARY_PCRE_ONLY= +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_pcre=no; fi ]) + +AC_ARG_ENABLE(dynamic-pcrs, +[ --disable-dynamic-pcrs Use the built-in, static pcrs, even if libpcrs 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 + echo "using libpcre" + pcre_dyn=yes STATIC_PCRE_ONLY=# -fi]) -AC_SUBST(LIBRARY_PCRE_ONLY) + LIBS="$LIBS -lpcre" +else + echo "using built-in static pcre" + pcre_dyn=no + AC_DEFINE(STATIC_PCRE) + STATIC_PCRE_ONLY= +fi + +# If we have libpcrs and pcre is linked dynamically +# then also link pcrs dynamically, else build and link +# pcrs statically +# +if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then + echo "using libpcrs" + STATIC_PCRS_ONLY=# + LIBS="$LIBS -lpcrs" +else + echo "using built-in static pcrs" + AC_DEFINE(STATIC_PCRS) + 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) AC_OUTPUT(Makefile)