X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=configure.in;h=691c5a63d2e5859d11f3bc38318d182194e92385;hp=87b0a4f8de0eb648613d39c812df54e05e0c817d;hb=0bca8ff0887b7de27f532a2b947fc153b7a03152;hpb=4867a5461c9f7bf325687f32a27c9b2e68fc6213 diff --git a/configure.in b/configure.in index 87b0a4f8..691c5a63 100644 --- a/configure.in +++ b/configure.in @@ -1,438 +1,1085 @@ dnl Process this file with autoconf to produce a configure script. -dnl -dnl $Id: configure.in,v 1.8 2001/07/15 17:54:29 jongfoster Exp $ -dnl -dnl Written by and Copyright (C) 2001 the SourceForge -dnl IJBSWA team. http://ijbswa.sourceforge.net +dnl +dnl $Id: configure.in,v 1.176 2013/01/06 11:06:23 fabiankeil Exp $ +dnl +dnl Written by and Copyright (C) 2001-2010 the +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 by and Copyright (C) 1997 Anonymous Coders and dnl Junkbusters Corporation. http://www.junkbusters.com dnl -dnl This program is free software; you can redistribute it +dnl This program is free software; you can redistribute it dnl and/or modify it under the terms of the GNU General dnl Public License as published by the Free Software dnl Foundation; either version 2 of the License, or (at dnl your option) any later version. -dnl +dnl dnl This program is distributed in the hope that it will dnl be useful, but WITHOUT ANY WARRANTY; without even the dnl implied warranty of MERCHANTABILITY or FITNESS FOR A dnl PARTICULAR PURPOSE. See the GNU General Public dnl License for more details. -dnl +dnl dnl The GNU General Public License should be included with dnl this file. If not, you can view it at dnl http://www.gnu.org/copyleft/gpl.html 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.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 -dnl by adding patterns that replace all standard banner -dnl sizes with the "Junkbuster" gif to the re_filterfile -dnl -dnl - Enabled filtering WebBugs by providing a pattern -dnl which kills all 1x1 images -dnl -dnl - Added support for PCRE_UNGREEDY behaviour to pcrs, -dnl which is selected by the (nonstandard and therefore -dnl capital) letter 'U' in the option string. -dnl It causes the quantifiers to be ungreedy by default. -dnl Appending a ? turns back to greedy (!). dnl -dnl - Added a new interceptor ijb-send-banner, which -dnl sends back the "Junkbuster" gif. Without imagelist or -dnl MSIE detection support, or if tinygif = 1, or the -dnl URL isn't recognized as an imageurl, a lame HTML -dnl explanation is sent instead. -dnl -dnl - Added new feature, which permits blocking remote -dnl script redirects and firing back a local redirect -dnl to the browser. -dnl The feature is conditionally compiled, i.e. it -dnl can be disabled with --disable-fast-redirects, -dnl plus it must be activated by a "fast-redirects" -dnl line in the config file, has its own log level -dnl and of course wants to be displayed by show-proxy-args -dnl Note: Boy, all the #ifdefs in 1001 locations and -dnl all the fumbling with configure.in and acconfig.h -dnl were *way* more work than the feature itself :-( -dnl -dnl - Because a generic redirect template was needed for -dnl this, tinygif = 3 now uses the same. -dnl -dnl - Moved GIFs, and other static HTTP response templates -dnl to project.h -dnl -dnl - Some minor fixes -dnl -dnl - Removed some >400 CRs again (Jon, you really worked -dnl a lot! ;-) -dnl -dnl Revision 1.2 2001/05/20 01:21:20 jongfoster -dnl Version 2.9.4 checkin. -dnl - Merged popupfile and cookiefile, and added control over PCRS -dnl filtering, in new "permissionsfile". -dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration -dnl file error you now get a message box (in the Win32 GUI) rather -dnl than the program exiting with no explanation. -dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header -dnl skipping. -dnl - Removed tabs from "config" -dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition. -dnl - Bumped up version number. -dnl -dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes -dnl Initial import of version 2.9.3 source tree -dnl -dnl + +dnl ================================================================= +dnl AutoConf Initialization +dnl ================================================================= + +AC_REVISION($Revision: 1.176 $) AC_INIT(jcc.c) -AC_CONFIG_HEADER(config.h) -VERSION_MAJOR=2 -VERSION_MINOR=9 -VERSION_POINT=6 +if test ! -f config.h.in; then + echo "You need to run autoheader first. " + echo -n "Shall I do this for you now? (y/n) " + read answer + if test "$answer" != "y"; then + exit 1 + else + autoheader + fi +fi + +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=yes + DKPREFIX=$withval + ;; +esac +]) +DB2HTML=false +AC_ARG_WITH(db2html, dnl + --with-db2html= + Set the location of the docbook to html converter + (default = search),[dnl +DB2HTML=$withval +]) + +dnl ================================================================= +dnl Application version number +dnl ================================================================= + +VERSION_MAJOR=3 +VERSION_MINOR=0 +VERSION_POINT=20 +CODE_STATUS="beta" + +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 ================================================================= AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_POINT) +AC_SUBST(CODE_STATUS) -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}) AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}") +AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}") + +dnl ================================================================= +dnl Checks for programs needed to build. +dnl ================================================================= + +dnl Keep AC_PROG_CC from setting its own defaults: +if test "X$CFLAGS" = "X"; then + CFLAGS=" " +fi -dnl Checks for programs. -dnl AC_PROG_CXX AC_PROG_CC AC_PROG_CPP -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_PROG_AWK -AC_MINGW32 -AC_CYGWIN -AC_EXEEXT -AC_OBJEXT +AC_CHECK_PROG(GDB,gdb,yes,no) +AC_PATH_PROG(BGROUPS,groups,no,$PATH:/bin:/usr/bin:/usr/local/bin) +AC_PATH_PROG(ID,id,no,$PATH:/bin:/usr/bin:/usr/local/bin) +AC_SUBST(ID) +AC_SUBST(BGROUPS) -dnl Checks for libraries. -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_pcre=no])], [have_pcrs=no]) +dnl ================================================================= +dnl debug, gcc and gdb support +dnl ================================================================= -dnl Checks for header files. -AC_HEADER_STDC -dnl AC_HEADER_SYS_WAIT -dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h) -dnl limits.h is for PCRE: -dnl AC_CHECK_HEADERS(limits.h) +AC_ARG_WITH(debug, + [ --with-debug Enable debug mode], + [ + if test "x$withval" != "xno" ; then + if test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + if test "$GDB"; then + CFLAGS="$CFLAGS -ggdb" + else + CFLAGS="$CFLAGS -g" + fi + CFLAGS="$CFLAGS -Wshadow -Wconversion" + else + CFLAGS="$CFLAGS -g" + fi + fi + fi + ], + [ + if test "X$CFLAGS" = "X "; then # if CFLAGS were unset (see above) + if test "$GCC" = yes; then + CFLAGS="-O2" + fi + fi + ] +) -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_SIZE_T +dnl ================================================================= +dnl Check for user and group validity +dnl ================================================================= -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) +if test "$EMXOS2" = yes || test "$host_os" = haiku; then + echo "Skipping user and group validity stuff."; + +else + + $ID privoxy >/dev/null 2>/dev/null + if test $? -ne 0 ; then + AC_MSG_WARN(There is no user 'privoxy' on this system) + fi + AC_MSG_CHECKING([for user]) + AC_ARG_WITH(user, + [ --with-user=privoxy Set user under which privoxy will run], + [ + if test "x$withval" != "xyes"; then + if test $ID = no ; then + AC_MSG_ERROR(There is no 'id' program on this system) + else + AC_MSG_RESULT($with_user) + $ID $with_user 2>/dev/null >/dev/null + if test $? -eq 0 ; then + USER=$with_user; + else + AC_MSG_ERROR(There is no user '$with_user' on this system) + fi + fi + else + AC_MSG_ERROR(We need a user if you give me this parameter) + fi + ], + [ + if test $ID = no ; then + AC_MSG_ERROR(There is no 'id' programm on this system) + else + AC_MSG_RESULT(none specified) + USER=$with_user + fi + ] + ) + AC_SUBST(USER) + + AC_MSG_CHECKING([for group]) + AC_ARG_WITH(group, + [ --with-group=privoxy Set group for privoxy], + [ + if test "x$withval" != "xyes"; then + if test $BGROUPS = no ; then + AC_MSG_ERROR(There is no 'groups' program on this system) + 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 + 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 + fi + else + AC_MSG_ERROR(We need a group if you give me this parameter) + fi + ], + [ + if test $BGROUPS = no ; then + AC_MSG_ERROR(There is no 'groups' programm on this system) + else + AC_MSG_RESULT(none specified) + GROUP=$with_group; + fi + ] + ) + AC_SUBST(GROUP) + +fi + +dnl ================================================================= +dnl additional gcc flags +dnl ================================================================= +dnl +if test "$GCC"; then + if test "$host" != "powerpc-unknown-amigaos"; then + CFLAGS="-pipe $CFLAGS" + fi +fi + + +dnl ================================================================= dnl Build type +dnl ================================================================= +dnl +dnl Must do this first. +dnl +dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler +dnl into Cygwin or MinGW32 modes. Depending on the mode selected, +dnl the compiler will use completely different sets of library +dnl and include files. +dnl +dnl ================================================================= +AC_MINGW32 +AC_CYGWIN + +if test "$MINGW32" = "yes"; then + target_type=mingw +else + if test "$CYGWIN" = "yes"; then + target_type=cygwin + else + target_type=unix + 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_ARG_ENABLE(mingw32, -[ --enable-mingw32 Use mingw32 for a Windows GUI], +[ --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]) + target_type=mingw +fi]) +if test $target_type = mingw; then + WIN_ONLY= + CFLAGS="$CFLAGS -DWINVER=0x501" + SPECIAL_CFLAGS="-mwindows -mno-cygwin" + PTHREAD_LIB=-lpthreadGC + echo "Using mingw32 (Win32 GUI)" +else + WIN_ONLY=# + if test $target_type = cygwin; then + SPECIAL_CFLAGS="-mno-win32" + PTHREAD_LIB= + echo "Using Cygnus (Win32 command line)" + else + SPECIAL_CFLAGS= + PTHREAD_LIB=-lpthread + fi +fi AC_SUBST(WIN_ONLY) -AC_SUBST(CYGWIN_FLAGS) -AC_SUBST(PTHREAD_LIB) -SOLARIS_ONLY=# -AC_SUBST(SOLARIS_ONLY) +if test $dodk != no; then + 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 + dnl will fail + DB2HTML="" + AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false) + fi +fi +AC_SUBST(W3M) +AC_SUBST(DB2HTML) -dnl Features +dnl If we use rpm, we need to check where %_topdir is +AC_CHECK_PROGS(RPMBIN,rpm,false) +if test $RPMBIN != false; then + RPM_BASE=`rpm --eval "%{_topdir}"` + if test "$RPM_BASE" = ""; then + RPM_BASE=/usr/src/redhat + fi +fi +AC_SUBST(RPM_BASE) -AC_ARG_ENABLE(toggle, -[ --disable-toggle Don't support temporary disable], +dnl Check for jade, so we can build the documentation +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 Set doc status flag for conditional content inclusions +DOC_STATUS=p-not-stable +if test $CODE_STATUS = stable; then + DOC_STATUS="p-stable" +fi +AC_SUBST(DOC_STATUS) + +dnl Checking for the docbook.dsl stylesheet file +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 \ + /usr/local/share/sgml/docbook/dsssl/modular \ + /usr/share/sgml/docbook/stylesheet/dsssl/modular/ \ + ; do +dnl echo -n does not fly with /bin/sh. +dnl echo -n "checking for $i/html/docbook.dsl..." + AC_MSG_CHECKING([for $i]) + 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 \ + /usr/share/sgml/CATALOG.docbk31 \ + /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 \ + ; do +dnl echo -n "checking for $i..." + AC_MSG_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) + +AC_ARG_ENABLE(large-file-support, +[ --enable-large-file-support Define _LARGE_FILES and friends. + Required by some systems to support files larger then 2GB.], [if test $enableval = yes; then - AC_DEFINE(TOGGLE) -fi],AC_DEFINE(TOGGLE)) + CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1" +fi]) + +dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS +old_CFLAGS_nospecial=$CFLAGS +CFLAGS="$CFLAGS $SPECIAL_CFLAGS" + +# Hack to force AutoConf to use the CFLAGS we just set +dnl Warning: This may break with a future version of Autoconf +dnl Tested with autoconf 2.13 +ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' + + +dnl ================================================================= +dnl Thread support +dnl ================================================================= + +AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no]) AC_ARG_ENABLE(pthread, -[ --disable-pthread Don't use POSIX threads (pthreads)], -[if test $enableval = yes; then +[ --disable-pthread Don't use POSIX threads (pthreads)], +[if test $enableval = no; then + # Disable pthreads + if test $have_pthread = yes; then + AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.]) + AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.]) + fi + have_pthread=no +fi]) + +if test $have_pthread = yes; then PTHREAD_ONLY= AC_DEFINE(FEATURE_PTHREAD) + echo Using POSIX threads + if test "$GCC" = "yes"; then + # Set a GCC specific switch: + if test "$target_type" = "unix"; then + ac_jgf_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -pthread" + AC_TRY_LINK([#include ], + [void *p = pthread_create;], + [ + # This compiler switch makes GCC on Linux thread-safe + # However, it's not supported on most other OS. + PTHREAD_LIB= + SPECIAL_CFLAGS="-pthread" + ]) + CFLAGS=$ac_jgf_save_CFLAGS + fi + fi else PTHREAD_ONLY=# -fi],[AC_DEFINE(FEATURE_PTHREAD) - PTHREAD_ONLY= -]) + echo Using native threads +fi + 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]) +dnl ================================================================= +dnl Support for thread-safe versions of gethostbyaddr, gethostbyname, +dnl gmtime and localtime +dnl ================================================================= -AC_ARG_ENABLE(force, -[ --disable-force Don't allow blockfle to be bypassed], -[if test $enableval = yes; then - AC_DEFINE(FORCE_LOAD) -fi],AC_DEFINE(FORCE_LOAD)) +dnl Next line needed to find the gethost*_r functions on Solaris +AC_CHECK_LIB(nsl, gethostbyname) -AC_ARG_ENABLE(fast-redirects, -[ --disable-fast-redirects Don't support fast redirects], +AC_CHECK_FUNC(gethostbyaddr_r, [ + AC_MSG_CHECKING([signature of gethostbyaddr_r]) + AC_TRY_COMPILE([ +# include + ], [ + struct hostent *h, *hp; + char *a, *b; + int l, bl, t, e; + (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e) + ], [ + AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS) + AC_MSG_RESULT([8 args]) + ], [ + AC_TRY_COMPILE([ +# include + ], [ + struct hostent *h; + char *a, *b; + int l, bl, t, e; + (void) gethostbyaddr_r(a, l, t, h, b, bl, &e) + ], [ + AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS) + AC_MSG_RESULT([7 args]) + ], [ + AC_TRY_COMPILE([ +# include + ], [ + struct hostent_data *d; + struct hostent *h; + char a, + int l, t; + (void) gethostbyaddr_r(a, l, t, h, d) + ], [ + AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS) + AC_MSG_RESULT([5 args]) + ], [ + AC_MSG_RESULT(unrecognised) + ]) + ]) + ]) +], [ + AC_MSG_RESULT(no) +]) + +AC_CHECK_FUNC(gethostbyname_r, [ + AC_MSG_CHECKING([signature of gethostbyname_r]) + AC_TRY_COMPILE([ +# include + ], [ + struct hostent *h, *r; + char *n, *b; + int bl, e; + (void) gethostbyname_r(n, h, b, bl, &r, &e) + ], [ + AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS) + AC_MSG_RESULT([6 args]) + ], [ + AC_TRY_COMPILE([ +# include + ], [ + struct hostent *h; + char *n, *b; + int bl, e; + (void) gethostbyname_r(n, h, b, bl, &e) + ], [ + AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS) + AC_MSG_RESULT([5 args]) + ], [ + AC_TRY_COMPILE([ +# include + ], [ + struct hostent_data *d; + struct hostent *h; + char *n, + (void) gethostbyname_r(n, h, d) + ], [ + AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS) + AC_MSG_RESULT([3 args]) + ], [ + AC_MSG_RESULT(unrecognised) + ]) + ]) + ]) +], [ + AC_MSG_RESULT(no) +]) + +AC_CHECK_FUNC(gmtime_r, [ + AC_MSG_CHECKING([signature of gmtime_r]) + AC_TRY_COMPILE([ +# include + ], [ + struct time *t; + struct tm *tm; + (void) gmtime_r(t, tm) + ], [ + AC_MSG_RESULT(ok) + AC_DEFINE(HAVE_GMTIME_R) + ], [ + AC_MSG_RESULT(unrecognised) + ]) +], [ + AC_MSG_RESULT(no) +]) + +AC_CHECK_FUNC(localtime_r, [ + AC_MSG_CHECKING([signature of localtime_r]) + AC_TRY_COMPILE([ +# include + ], [ + struct time *t; + struct tm *tm; + (void) localtime_r(t, tm) + ], [ + AC_MSG_RESULT(ok) + AC_DEFINE(HAVE_LOCALTIME_R) + ], [ + AC_MSG_RESULT(unrecognised) + ]) +], [ + AC_MSG_RESULT(no) +]) + +dnl ================================================================= +dnl Solaris specific +dnl FIXME: Not tested on Solaris yet... +dnl ISFIXED: Have tested it on Solaris, but there are other ways to +dnl make these checks generic, e.g.: +dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt)) +dnl (Moritz Barsnick ) +dnl ================================================================= + + +SOCKET_LIB= + +case "$host" in +*-solaris*) SOCKET_LIB="-lsocket -lnsl" + AC_DEFINE(__EXTENSIONS__) + if test "$GCC" = "yes"; then + # Set a GCC specific switch: + # This compiler switch makes Solaris thread-safe + PTHREAD_LIB= + SPECIAL_CFLAGS="-pthreads" + else + # What do we do without GCC? Guess this: + SPECIAL_CFLAGS="-D_REENTRANT" + fi +;; +esac + +AC_SUBST(SOCKET_LIB) + +dnl ================================================================= +dnl Solaris problem, and others perhaps (socklen_t is undefined) +dnl ================================================================= + +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 doesn't have it. ])) + + +dnl ================================================================= +dnl OS/2 specific +dnl ================================================================= + +case "$host" in +*-os2-emx*) SOCKET_LIB=-lsocket +;; +esac + +AC_SUBST(SOCKET_LIB) + +dnl ================================================================= +dnl Mac OSX specific +dnl ================================================================= + +case "$host" in +*-apple-darwin*) SPECIAL_CFLAGS="-Dunix" +;; +esac + +dnl ================================================================= +dnl OpenBSD specific +dnl ================================================================= + +case "$host" in +*-openbsd*) SPECIAL_CFLAGS="$SPECIAL_CFLAGS -Dunix" +;; +esac + +dnl ================================================================= +dnl AmigaOS specific +dnl ================================================================= + +AMIGAOS_ONLY=# + +case "$host" in +*-amigaos) AMIGAOS_ONLY= +;; +esac + +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_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) +AC_CHECK_SIZEOF(long long, 8) +AC_CHECK_SIZEOF(size_t, 4) + +dnl Checks for header files. +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 \ + 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, +[ --disable-ipv6-support Disable IPv6 support and other RFC-2554-related improvements], [if test $enableval = yes; then - AC_DEFINE(FAST_REDIRECTS) -fi], AC_DEFINE(FAST_REDIRECTS)) + enable_ipv6_support=yes +fi], enable_ipv6_support=yes) + +if test $enable_ipv6_support != yes; then + AC_MSG_WARN([Skipping checks for IPv6 support and other RFC-2554-related improvements. + Due to lock contention, this may result in slower DNS resolution for IPv4 setups, too.]) +elif test $target_type = mingw; then + AC_CHECK_LIB(ws2_32, main) + + AC_MSG_CHECKING(getaddrinfo in ws2_32) + AC_TRY_LINK( + [ + #include + #include + ], + [getaddrinfo(0,0,0,0)], + have_ws2_32_getaddrinfo=yes + ) + AC_MSG_RESULT($have_ws2_32_getaddrinfo) -AC_ARG_ENABLE(killpopup, -[ --disable-killpopup Never block popups], + AC_MSG_CHECKING(getnameinfo in ws2_32) + AC_TRY_LINK( + [ + #include + #include + ], + [getnameinfo(0,0,0,0,0,0,0)], + have_ws2_32_getnameinfo=yes + ) + AC_MSG_RESULT($have_ws2_32_getnameinfo) + + if test $have_ws2_32_getaddrinfo ; then + if test $have_ws2_32_getnameinfo ; then + AC_DEFINE([HAVE_RFC2553], [1], + [Define if RFC 2553 resolver functions like getaddrinfo(3) and + getnameinfo(3) present]) + fi + fi +else + AC_CHECK_FUNC([getaddrinfo], + [AC_CHECK_FUNC([getnameinfo], + [AC_DEFINE([HAVE_RFC2553], [1], + [Define if RFC 2553 resolver functions like getaddrinfo(3) and + getnameinfo(3) present]) + ]) + ]) +fi + +dnl ================================================================= +dnl Checks for libraries. +dnl ================================================================= +dnl Note: Some systems may have the library but not the system header +dnl file, so we must check for both. +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]) + ], [ + AC_CHECK_HEADER(pcre/pcre.h, [ + AC_EGREP_HEADER(pcre_fullinfo, pcre/pcre.h, [have_pcre=yes]; [AC_DEFINE(PCRE_H_IN_SUBDIR)], [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]) + ], [ + AC_CHECK_HEADER(pcre/pcreposix.h, [ + AC_EGREP_HEADER(pcreposix_regerror, pcre/pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes]; [AC_DEFINE(PCREPOSIX_H_IN_SUBDIR)]) + ], [have_pcreposix=no]) + ]) +], [have_pcreposix=no], -lpcre) + +dnl ================================================================ +dnl libpcrs is temporarily disabled. +dnl +dnl Privoxy's own pcrs version fixes some problems that +dnl are present in libpcrs 0.3, the last pcrs release we +dnl know of, and as libpcrs seems to be currently unmaintained +dnl we can't send these fixes upstream. +dnl ================================================================ +dnl +dnl AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no], -lpcre) + +dnl ================================================================= +dnl Always defined +dnl ================================================================= + +AC_DEFINE(__MT__) + +dnl ================================================================= +dnl Features +dnl ================================================================= + +AC_ARG_ENABLE(toggle, +[ --disable-toggle Don't support temporary disable], [if test $enableval = yes; then - AC_DEFINE(KILLPOPUPS) -fi],AC_DEFINE(KILLPOPUPS)) + AC_DEFINE(FEATURE_TOGGLE) +fi],AC_DEFINE(FEATURE_TOGGLE)) -AC_ARG_ENABLE(stats, -[ --disable-stats Don't keep statistics], +AC_ARG_ENABLE(force, +[ --disable-force Don't allow single-page disable], [if test $enableval = yes; then - AC_DEFINE(STATISTICS) -fi],AC_DEFINE(STATISTICS)) + AC_DEFINE(FEATURE_FORCE_LOAD) +fi],AC_DEFINE(FEATURE_FORCE_LOAD)) -AC_ARG_ENABLE(split-proxy-args, -[ --disable-split-proxy-args One big show-proxy-args page, not one per file.], +AC_ARG_ENABLE(fast-redirects, +[ --disable-fast-redirects Don't support fast redirects], [if test $enableval = yes; then - AC_DEFINE(SPLIT_PROXY_ARGS) -fi],AC_DEFINE(SPLIT_PROXY_ARGS)) + AC_DEFINE(FEATURE_FAST_REDIRECTS) +fi], AC_DEFINE(FEATURE_FAST_REDIRECTS)) -AC_ARG_ENABLE(webdav, -[ --disable-webdav Don't support WebDAV. This option stops MS Outlook - Express from accessing HotMail e-mail.], +AC_ARG_ENABLE(stats, +[ --disable-stats Don't keep statistics], [if test $enableval = yes; then - AC_DEFINE(WEBDAV) -fi], -AC_DEFINE(WEBDAV)) + AC_DEFINE(FEATURE_STATISTICS) +fi],AC_DEFINE(FEATURE_STATISTICS)) AC_ARG_ENABLE(ie-images, -[ --disable-ie-images Don't auto-detect whether a request from MS Internet - Explorer is for an image or HTML.], +[ --enable-ie-images Enable a quick but not always reliable auto-detect whether requests from + MS Internet Explorer are for an image or not.], [if test $enableval = yes; then - AC_DEFINE(DETECT_MSIE_IMAGES) -fi], -AC_DEFINE(DETECT_MSIE_IMAGES)) + AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE) +fi],) AC_ARG_ENABLE(image-blocking, -[ --disable-image-blocking Don't try to figure out whether a request is - for an image or HTML - assume HTML.], +[ --disable-image-blocking Don't try to figure out whether a request is + for an image or HTML - assume HTML.], [if test $enableval = yes; then - AC_DEFINE(IMAGE_BLOCKING) + AC_DEFINE(FEATURE_IMAGE_BLOCKING) fi], -AC_DEFINE(IMAGE_BLOCKING)) +AC_DEFINE(FEATURE_IMAGE_BLOCKING)) -AC_ARG_ENABLE(acl-files, -[ --disable-acl-files Prevents the use of ACL files to control access to - the proxy by IP address.], +AC_ARG_ENABLE(acl-support, +[ --disable-acl-support Prevents the use of ACLs to control access to + Privoxy by IP address.], [if test $enableval = yes; then - AC_DEFINE(ACL_FILES) + AC_DEFINE(FEATURE_ACL) fi], -AC_DEFINE(ACL_FILES)) +AC_DEFINE(FEATURE_ACL)) AC_ARG_ENABLE(trust-files, -[ --disable-trust-files Prevents the use of trust files.], +[ --disable-trust-files Prevents the use of trust files.], [if test $enableval = yes; then - AC_DEFINE(TRUST_FILES) + AC_DEFINE(FEATURE_TRUST) fi], -AC_DEFINE(TRUST_FILES)) +AC_DEFINE(FEATURE_TRUST)) -AC_ARG_ENABLE(jar-files, -[ --disable-jar-files Prevents the use of jar files to capture cookies.], +AC_ARG_ENABLE(editor, +[ --disable-editor Prevents the use of the web-based actions file + editor and web-based temporary disable setting.], [if test $enableval = yes; then - AC_DEFINE(JAR_FILES) + AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS) fi], -AC_DEFINE(JAR_FILES)) +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]) + +AC_ARG_ENABLE(graceful-termination, +[ --enable-graceful-termination Allow to shutdown Privoxy through the webinterface.], +[if test $enableval = yes; then + AC_DEFINE(FEATURE_GRACEFUL_TERMINATION) +fi]) + +AC_ARG_ENABLE(extended-host-patterns, +[ --enable-extended-host-patterns Enable and require PCRE syntax in host patterns. This feature hasn't + been announced yet and it's not clear if it's a good idea. It's expected + to work, but undocumented. You should only enable it if you know what + PCRE is and are sure that you need it for your host patterns. You can + use tools/url-pattern-translator.pl to convert existing action files to + use PCRE host patterns. Please don't enable this option when creating + packages for others that may not be expecting it.], +[if test $enableval = yes; then + AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS) +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: -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], +[ --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 ]) +dnl ================================================= +dnl libpcrs is temporarily disabled, +dnl see comment above for the reason. +dnl ================================================= +dnl AC_ARG_ENABLE(dynamic-pcrs, +dnl [ --disable-dynamic-pcrs Use the built-in, static pcrs, even if libpcrs is available], +dnl [ 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 +dnl ==================================================== +dnl This check is incomplete. For mingw32 zlib is found +dnl by configure, but not necessarily by the compiler. +dnl ==================================================== +AC_ARG_ENABLE(zlib, +[ --disable-zlib Don't use zlib to decompress data before filtering.], +[enableval2=$enableval], +[enableval2=yes]) +if test $enableval2 = yes; then + AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"]) + if test $have_zlib = "yes"; then + LIBS="$LIBS -lz" + AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use zlib to decompress data before filtering.]) + else + AC_MSG_WARN([No zlib found. + Privoxy will not be able to filter compressed content. + This may become a fatal error in the future.]) + fi fi +AC_ARG_ENABLE(compression, +[ --enable-compression Allow Privoxy to compress buffered content if the client supports it. Requires zlib support.], +[enableval2=$enableval], +[enableval2=no]) +if test $enableval2 = yes; then + if test $have_zlib = "yes"; then + echo Enabling compression support. + AC_DEFINE(FEATURE_COMPRESSION,1,[Define to 1 to use compression through the zlib library.]) + else + AC_MSG_WARN([No zlib found. Privoxy will not be able to (re-)compressed buffered content.]) + fi +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" + 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_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 +AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE) -# 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=# +if test $have_pthread = "yes" -o $target_type = "mingw"; then + echo Enabling connection-sharing support. + AC_DEFINE(FEATURE_CONNECTION_SHARING) fi -AC_SUBST(GNU_REGEX_ONLY) -AC_SUBST(PCRE_REGEX_ONLY) +dnl ================================================= +dnl libpcrs is temporarily disabled, +dnl see comment above for the reason. +dnl ================================================= +dnl # If we have libpcrs and pcre is linked dynamically +dnl # then also link pcrs dynamically, else build and link +dnl # pcrs statically +dnl +dnl if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then +dnl echo "using libpcrs" +dnl STATIC_PCRS_ONLY=# +dnl LIBS="$LIBS -lpcrs" +dnl else +dnl echo "using built-in static pcrs" + AC_DEFINE(STATIC_PCRS) + STATIC_PCRS_ONLY= +dnl fi + AC_SUBST(STATIC_PCRE_ONLY) AC_SUBST(STATIC_PCRS_ONLY) -AC_OUTPUT(Makefile) +dnl ================================================================= +dnl Final cleanup and output +dnl ================================================================= + +dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it separately +dnl in the Makefile +CFLAGS=$old_CFLAGS_nospecial +AC_SUBST(SPECIAL_CFLAGS) + +AC_SUBST(PTHREAD_LIB) +AC_OUTPUT(GNUmakefile doc/source/ldp.dsl)