|
|
| version 1.139, 2012/06/09 09:11:29 | version 1.156, 2012/06/13 11:23:20 |
|---|---|
| Line 1 | Line 1 |
| dnl Process this file with autoconf to produce a configure script. | dnl Autoconf initialisation |
| AC_INIT(README) | AC_PREREQ(2.59) |
| AC_PREREQ(2.57) | AC_INIT(parser, 3.4.2b) |
| AC_CONFIG_SRCDIR(README) | |
| AM_INIT_AUTOMAKE(parser, 3.4.2b, nodefine) | |
| dnl expand srcdir | dnl Automake Initialisation |
| AM_INIT_AUTOMAKE | |
| dnl Expand srcdir | |
| P3S=`cd $srcdir/src ; pwd` | P3S=`cd $srcdir/src ; pwd` |
| AC_SUBST(P3S) | AC_SUBST(P3S) |
| dnl AC_CANONICAL_SYSTEM | |
| dnl Update pa_version.h | |
| AC_CANONICAL_HOST | AC_CANONICAL_HOST |
| PARSER_VERSION="$VERSION (compiled on $host)" | PARSER_VERSION="$VERSION (compiled on $host)" |
| Line 23 else | Line 28 else |
| rm -f $srcdir/src/include/pa_version.h.new | rm -f $srcdir/src/include/pa_version.h.new |
| fi | fi |
| AC_SUBST(host_os) | AC_SUBST(host_os) |
| case $host_os in | case $host_os in |
| *cygwin* ) AC_DEFINE(CYGWIN,,using cygwin building environment);; | *cygwin* ) AC_DEFINE(CYGWIN,,using cygwin building environment);; |
| esac | esac |
| dnl Checks for programs. | |
| dnl Checks for programs | |
| AC_PROG_INSTALL | AC_PROG_INSTALL |
| AC_PROG_MAKE_SET | |
| AC_PROG_RANLIB | |
| AC_PROG_AWK | AC_PROG_AWK |
| AC_PROG_YACC | AC_PROG_YACC |
| Line 52 fi | Line 54 fi |
| AC_PROG_CXX | AC_PROG_CXX |
| AC_PROG_CC | AC_PROG_CC |
| dnl most tests should be compiled with C compiler [especially qsort test] | dnl most tests should be compiled with C compiler [especially qsort test] |
| AC_LANG_C | AC_LANG_C |
| AC_C_INLINE | |
| dnl Dll extension | |
| AC_MSG_CHECKING(for dynamic-link library extension) | |
| case "$host_os" in | |
| cygwin) | |
| dll_extension=dll | |
| ;; | |
| *) | |
| dll_extension=so | |
| esac | |
| AC_MSG_RESULT($dll_extension) | |
| AC_SUBST(dll_extension) | |
| dnl Arguments | |
| dnl Misc arguments | |
| AC_ARG_WITH(build-warnings, [ --with-build-warnings to enable build-time compiler warnings if gcc is used], | AC_ARG_WITH(build-warnings, [ --with-build-warnings to enable build-time compiler warnings if gcc is used], |
| AC_MSG_WARN(enabling compiler warnings) | AC_MSG_WARN(enabling compiler warnings) |
| CXXFLAGS="$CXXFLAGS -W -Wall -Wstrict-prototypes -Wmissing-prototypes" | CXXFLAGS="$CXXFLAGS -W -Wall -Wstrict-prototypes -Wmissing-prototypes" |
| ) | ) |
| AC_ARG_WITH(assertions, [ --with-assertions to enable assertions], | AC_ARG_WITH(assertions, [ --with-assertions to enable assertions], |
| AC_MSG_WARN(enabling assertions) | AC_MSG_WARN(enabling assertions) |
| , | , |
| AC_DEFINE(NDEBUG,,assertions disabled) | AC_DEFINE(NDEBUG,,assertions disabled) |
| ) | ) |
| AC_ARG_WITH(pathlink,[ --with-pathlink=LKEY put dynamic libraries paths to binary | |
| using linker key (-R, -rpath-link)], | |
| LD_PATHLINK=$withval | |
| ) | |
| AC_ARG_WITH(sjlj-exceptions,[ --with-sjlj-exceptions enable simple 'throw' from dynamic library], | |
| AC_DEFINE(PA_WITH_SJLJ_EXCEPTIONS,,one can throw from dynamic library) | |
| ) | |
| dnl Safe mode argument | |
| AC_ARG_ENABLE(safe-mode, [ --disable-safe-mode to enable reading and executing | AC_ARG_ENABLE(safe-mode, [ --disable-safe-mode to enable reading and executing |
| files belonging to group+user other then effective], | files belonging to group+user other then effective], |
| [ | [ |
| SAFE_MODE=$enableval | SAFE_MODE=$enableval |
| ] | ] |
| ) | ) |
| if test "$SAFE_MODE" = "no"; then | if test "$SAFE_MODE" = "no"; then |
| AC_MSG_WARN(enabling reading of files belonging to group+user other then effective) | AC_MSG_WARN(enabling reading of files belonging to group+user other then effective) |
| else | else |
| Line 84 else | Line 109 else |
| fi | fi |
| dnl Disable execs argument | |
| AC_ARG_ENABLE(execs, [ --disable-execs to disable any execs | AC_ARG_ENABLE(execs, [ --disable-execs to disable any execs |
| (file::exec, file::cgi, unix mail:send)], | (file::exec, file::cgi, unix mail:send)], |
| [ | [ |
| Line 95 fi | Line 121 fi |
| ) | ) |
| dnl String stream argument | |
| AC_ARG_ENABLE(stringstream, [ --disable-stringstream to disable stringstream usage. | AC_ARG_ENABLE(stringstream, [ --disable-stringstream to disable stringstream usage. |
| when disabled table.save use more memory but it's safer on freebsd 4.x], | when disabled table.save use more memory but it's safer on freebsd 4.x], |
| [ | [ |
| Line 106 fi | Line 133 fi |
| ) | ) |
| AC_MSG_CHECKING(for dynamic-link library extension) | dnl GC argument |
| case "$host_os" in | |
| cygwin) | |
| dll_extension=dll | |
| ;; | |
| *) | |
| dll_extension=so | |
| esac | |
| AC_MSG_RESULT($dll_extension) | |
| AC_SUBST(dll_extension) | |
| AC_ARG_WITH(pathlink,[ --with-pathlink=LKEY put dynamic libraries paths to binary | |
| using linker key (-R, -rpath-link)], | |
| LD_PATHLINK=$withval | |
| ) | |
| AC_ARG_WITH(dynamic-stdcpp, [ --with-dynamic-stdcpp link libstdc++ dynamically | |
| by default, libstdc++ is linked statically],[ | |
| AC_MSG_WARN(libstdc++ will be linked dynamically) | |
| CPP_LIBS="-lstdc++" | |
| ],[ | |
| CPP_LIBS="-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" | |
| ]) | |
| AC_SUBST(CPP_LIBS) | |
| AC_ARG_WITH(sjlj-exceptions,[ --with-sjlj-exceptions enable simple 'throw' from dynamic library], | |
| AC_DEFINE(PA_WITH_SJLJ_EXCEPTIONS,,one can throw from dynamic library) | |
| ) | |
| GC_LIB_NAME=gc | GC_LIB_NAME=gc |
| AC_ARG_WITH(shared-gc,[ --with-shared-gc[=D] D is the directory where | AC_ARG_WITH(shared-gc,[ --with-shared-gc[=D] D is the directory where |
| Boehm garbage collecting library is installed (shared lib)],[ | Boehm garbage collecting library is installed (shared lib)],[ |
| Line 143 AC_ARG_WITH(shared-gc,[ --with-shared-g | Line 141 AC_ARG_WITH(shared-gc,[ --with-shared-g |
| ]) | ]) |
| AC_ARG_WITH(static-gc,[ --with-static-gc[=D] D is the directory where | AC_ARG_WITH(static-gc,[ --with-static-gc[=D] D is the directory where |
| Boehm garbage collecting library is installed (static lib)],[ | Boehm garbage collecting library is installed (static lib)],[ |
| GC_LIBS="$withval/lib$GC_LIB_NAME.a" | GC_LIBS="$withval/lib$GC_LIB_NAME.la" |
| ]) | ]) |
| if test -z "$GC_LIBS"; then | if test -z "$GC_LIBS"; then |
| #undefined? use any found in system | #undefined? use any found in system |
| GC_LIBS="-l$GC_LIB_NAME" | GC_LIBS="-l$GC_LIB_NAME" |
| AC_MSG_WARN([neither --with-shared/static-gc were specified, hoping linker would find it]) | AC_MSG_WARN([neither --with-shared/static-gc were specified, hoping linker would find it]) |
| fi | |
| AC_MSG_CHECKING(for libgc) | AC_MSG_CHECKING(for libgc) |
| SAVE_LIBS=$LIBS | SAVE_LIBS=$LIBS |
| LIBS="$LIBS $GC_LIBS" | LIBS="$LIBS $GC_LIBS" |
| AC_TRY_LINK([ | AC_TRY_LINK([ |
| extern int GC_dont_gc; | extern int GC_dont_gc; |
| ],[ | ],[ |
| GC_dont_gc=0; | GC_dont_gc=0; |
| ], | ], |
| AC_MSG_RESULT(yes) | AC_MSG_RESULT(yes) |
| , | , |
| AC_MSG_RESULT(no) | AC_MSG_RESULT(no) |
| AC_MSG_ERROR(please specify path to libgc: --with-shared-gc OR --with-static-gc) | AC_MSG_ERROR(please specify path to libgc: --with-shared-gc OR --with-static-gc) |
| ) | ) |
| LIBS=$SAVE_LIBS | |
| fi | |
| AC_SUBST(GC_LIBS) | AC_SUBST(GC_LIBS) |
| LIBS=$SAVE_LIBS | |
| dnl PCRE argument | |
| AC_ARG_WITH(static-pcre,[ --with-static-pcre=D D is the directory where | AC_ARG_WITH(static-pcre,[ --with-static-pcre=D D is the directory where |
| PCRE library is installed (static lib)],[ | PCRE library is installed (static lib)],[ |
| PCRE=$withval | PCRE=$withval |
| Line 179 AC_ARG_WITH(static-pcre,[ --with-static | Line 178 AC_ARG_WITH(static-pcre,[ --with-static |
| fi | fi |
| PCRE_INCLUDES="-I$PCREINC" | PCRE_INCLUDES="-I$PCREINC" |
| PCRE_LIBS="$PCRELIB/libpcre.a" | PCRE_LIBS="$PCRELIB/libpcre.la" |
| ]) | ]) |
| AC_SUBST(PCRE_INCLUDES) | AC_SUBST(PCRE_INCLUDES) |
| AC_SUBST(PCRE_LIBS) | AC_SUBST(PCRE_LIBS) |
| dnl XML/XSLT argument | |
| AC_ARG_WITH(shared-xml,[ --with-shared-xml=D D is the directory where | AC_ARG_WITH(shared-xml,[ --with-shared-xml=D D is the directory where |
| Gnome XML libraries are installed (shared libs)],[ | Gnome XML libraries are installed (shared libs)],[ |
| GNOME_XML=$withval | GNOME_XML=$withval |
| Line 222 AC_ARG_WITH(static-xml,[ --with-static- | Line 222 AC_ARG_WITH(static-xml,[ --with-static- |
| AC_DEFINE(XML,,xml-abled parser (uses static library)) | AC_DEFINE(XML,,xml-abled parser (uses static library)) |
| XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC -I$XMLINC/libxml2" | XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC -I$XMLINC/libxml2" |
| XML_LIBS="$XMLLIB/libxslt.a $XMLLIB/libexslt.a $XMLLIB/libxml2.a" | XML_LIBS="$XMLLIB/libxslt.la $XMLLIB/libexslt.la $XMLLIB/libxml2.la" |
| ]) | ]) |
| AC_SUBST(XML_INCLUDES) | AC_SUBST(XML_INCLUDES) |
| AC_SUBST(XML_LIBS) | AC_SUBST(XML_LIBS) |
| dnl Mail receive argument | |
| AC_ARG_WITH(glib-config,[ --with-glib-config=FILE FILE is glib library | AC_ARG_WITH(glib-config,[ --with-glib-config=FILE FILE is glib library |
| configuration file (search for glib*-config)], | configuration file (search for glib*-config)], |
| GLIB_CONFIG=$withval | GLIB_CONFIG=$withval |
| Line 295 changequote(, )dnl | Line 296 changequote(, )dnl |
| GLIB_NAME=`$GLIB_CONFIG --libs | sed 's/.*-l\([^ ]*\).*/\1/'` | GLIB_NAME=`$GLIB_CONFIG --libs | sed 's/.*-l\([^ ]*\).*/\1/'` |
| changequote([, ])dnl | changequote([, ])dnl |
| MIME_INCLUDES="$GLIB_CFLAGS -I$MIMEINC/gmime" | MIME_INCLUDES="$GLIB_CFLAGS -I$MIMEINC/gmime" |
| MIME_LIBS="$MIMELIB/libgmime.a $GLIB_DIR/lib$GLIB_NAME.a" | MIME_LIBS="$MIMELIB/libgmime.la $GLIB_DIR/lib$GLIB_NAME.la" |
| ]) | ]) |
| AC_SUBST(MIME_INCLUDES) | AC_SUBST(MIME_INCLUDES) |
| AC_SUBST(MIME_LIBS) | AC_SUBST(MIME_LIBS) |
| dnl Sendmail argument | |
| AC_ARG_WITH(sendmail,[ \"--with-sendmail=COMMAND\" forces this command to send mail. | AC_ARG_WITH(sendmail,[ \"--with-sendmail=COMMAND\" forces this command to send mail. |
| example: \"--with-sendmail=/usr/sbin/sendmail -t\" | example: \"--with-sendmail=/usr/sbin/sendmail -t\" |
| (makes parser ignore user-defined sendmail commands)], | (makes parser ignore user-defined sendmail commands)], |
| Line 308 AC_ARG_WITH(sendmail,[ \"--with-sendmai | Line 310 AC_ARG_WITH(sendmail,[ \"--with-sendmai |
| ) | ) |
| dnl Apache module argument | |
| AC_ARG_WITH(apache,[ --with-apache=FILE is the full path for APXS | AC_ARG_WITH(apache,[ --with-apache=FILE is the full path for APXS |
| builds apache DSO module using apxs],[ | builds apache DSO module using apxs],[ |
| APXS=$withval | APXS=$withval |
| Line 319 AC_ARG_WITH(apache,[ --with-apache=FILE | Line 322 AC_ARG_WITH(apache,[ --with-apache=FILE |
| APACHE=`$APXS -q TARGET 2>/dev/null` | APACHE=`$APXS -q TARGET 2>/dev/null` |
| if test -z "$APACHE"; then | if test -z "$APACHE"; then |
| AC_MSG_ERROR($APXS does not seem to be valid apache apxs utility path) | APXS=`which apxs2 2>/dev/null` |
| APACHE=`$APXS -q TARGET 2>/dev/null` | |
| if test -z "$APACHE"; then | |
| AC_MSG_ERROR($APXS does not seem to be valid apache apxs utility path) | |
| fi | |
| fi | fi |
| APACHE_MAIN_INC=`$APXS -q INCLUDEDIR` | APACHE_MAIN_INC=`$APXS -q INCLUDEDIR` |
| Line 334 AM_CONDITIONAL(COMPILE_APACHE_MODULE, te | Line 342 AM_CONDITIONAL(COMPILE_APACHE_MODULE, te |
| dnl Enable building of the convenience library | dnl Enable building of the convenience library |
| dnl and set LIBLTDL accordingly | LT_CONFIG_LTDL_DIR(src/lib/ltdl) |
| AC_LIBLTDL_CONVENIENCE(src/lib/ltdl) | LT_INIT(dlopen win32-dll) |
| dnl Substitute INCLTDL and LIBLTDL in the Makefiles | #LT_INIT(disable-shared dlopen win32-dll) |
| AC_SUBST(INCLTDL) | LTDL_INIT |
| AC_SUBST(LIBLTDL) | |
| dnl Configure libltdl | |
| AC_CONFIG_SUBDIRS(src/lib/ltdl) | |
| dnl detecting which libraries are needed to dynamic open | |
| AC_LTDL_DLLIB | |
| AC_SUBST(LIBADD_DL) | |
| dnl Checks for typedefs, structures, and compiler characteristics. | |
| dnl Checks for typedefs, structures, and compiler characteristics. | |
| AC_C_BIGENDIAN( | AC_C_BIGENDIAN( |
| AC_DEFINE(PA_BIG_ENDIAN,,compile for sparc processor) | AC_DEFINE(PA_BIG_ENDIAN,,compile for sparc processor) |
| , | , |
| Line 358 AC_C_BIGENDIAN( | Line 358 AC_C_BIGENDIAN( |
| ) | ) |
| AC_TYPE_SIZE_T | AC_TYPE_SIZE_T |
| dnl gmime | dnl gmime |
| AC_CHECK_TYPE(off_t, long) | AC_CHECK_TYPE(off_t, long) |
| AC_CHECK_TYPE(ssize_t, int) | AC_CHECK_TYPE(ssize_t, int) |
| dnl Checks for C header files. | dnl Checks for C header files. |
| AC_HEADER_TIME | AC_HEADER_TIME |
| AC_CHECK_HEADERS( | AC_CHECK_HEADERS( |
| Line 387 string.h \ | Line 388 string.h \ |
| direct.h \ | direct.h \ |
| setjmp.h \ | setjmp.h \ |
| memory.h \ | memory.h \ |
| limits.h \ | |
| sys/file.h \ | sys/file.h \ |
| sys/locking.h \ | sys/locking.h \ |
| sys/types.h \ | sys/types.h \ |
| Line 399 arpa/inet.h \ | Line 401 arpa/inet.h \ |
| netdb.h | netdb.h |
| ) | ) |
| dnl Checks for libraries. | |
| dnl Checks for libraries | |
| dnl Some systems (Solaris 2.x) require libnsl (Network Services Library) | dnl Some systems (Solaris 2.x) require libnsl (Network Services Library) |
| case "$host" in | case "$host" in |
| Line 443 siglongjmp \ | Line 447 siglongjmp \ |
| unsetenv | unsetenv |
| ) | ) |
| dnl on some linux[seen on 2.4] it's a macro | dnl on some linux[seen on 2.4] it's a macro |
| PA_CHECK_SIGSETJMP | PA_CHECK_SIGSETJMP |
| dnl see comment above | dnl see comment above |
| Line 465 dnl or it can be tm.tm_gmtoff | Line 469 dnl or it can be tm.tm_gmtoff |
| dnl or it can be tm.tm_tzadj | dnl or it can be tm.tm_tzadj |
| AC_MSG_CHECKING(for timezone variable) | AC_MSG_CHECKING(for timezone variable) |
| AC_TRY_COMPILE([#include <time.h>], | AC_TRY_COMPILE([#include <time.h>], |
| [ | [ |
| time_t test=timezone; | time_t test=timezone; |
| ], | ], |
| AC_DEFINE(HAVE_TIMEZONE) | AC_DEFINE(HAVE_TIMEZONE) |
| AC_MSG_RESULT(yes), | AC_MSG_RESULT(yes), |
| AC_MSG_RESULT(no)) | AC_MSG_RESULT(no)) |
| AC_MSG_CHECKING(for daylight variable) | AC_MSG_CHECKING(for daylight variable) |
| AC_TRY_COMPILE([#include <time.h>], | AC_TRY_COMPILE([#include <time.h>], |
| [ | [ |
| int test=daylight; | int test=daylight; |
| ], | ], |
| AC_DEFINE(HAVE_DAYLIGHT) | AC_DEFINE(HAVE_DAYLIGHT) |
| AC_MSG_RESULT(yes), | AC_MSG_RESULT(yes), |
| AC_MSG_RESULT(no)) | AC_MSG_RESULT(no)) |
| AC_MSG_CHECKING(for tm_gmtoff in struct tm) | AC_MSG_CHECKING(for tm_gmtoff in struct tm) |
| AC_TRY_COMPILE([#include <time.h>], | AC_TRY_COMPILE([#include <time.h>], |
| [struct tm tm; | [struct tm tm; |
| tm.tm_gmtoff=0; | tm.tm_gmtoff=0; |
| ], | ], |
| AC_DEFINE(HAVE_TM_GMTOFF) | AC_DEFINE(HAVE_TM_GMTOFF) |
| AC_MSG_RESULT(yes), | AC_MSG_RESULT(yes), |
| AC_MSG_RESULT(no)) | AC_MSG_RESULT(no)) |
| AC_MSG_CHECKING(for tm_tzadj in struct tm) | AC_MSG_CHECKING(for tm_tzadj in struct tm) |
| AC_TRY_COMPILE([#include <time.h>], | AC_TRY_COMPILE([#include <time.h>], |
| [struct tm tm; | [struct tm tm; |
| tm.tm_tzadj=0; | tm.tm_tzadj=0; |
| ], | ], |
| AC_DEFINE(HAVE_TM_TZADJ) | AC_DEFINE(HAVE_TM_TZADJ) |
| AC_MSG_RESULT(yes), | AC_MSG_RESULT(yes), |
| AC_MSG_RESULT(no)) | AC_MSG_RESULT(no)) |
| dnl AC_ARG_ENABLE(db, [ --enable-db to enable 'hashfile' parser class], | |
| dnl [ | |
| dnl if test "$enableval" != "no"; then | |
| dnl AC_CHECK_HEADERS(db.h) | |
| dnl AC_CHECK_LIB(db, __db_open) | |
| dnl fi | |
| dnl ] | |
| dnl ) | |
| dnl Output header and makefiles | |
| dnl Output header and makefiles | |
| AH_TEMPLATE([HAVE_DLD],[Define if you have the GNU dld library]) | AH_TEMPLATE([HAVE_DLD],[Define if you have the GNU dld library]) |
| AH_TEMPLATE([HAVE_LIBDL], | AH_TEMPLATE([HAVE_LIBDL], |
| Line 541 AH_TEMPLATE([HAVE_TM_TZADJ], | Line 535 AH_TEMPLATE([HAVE_TM_TZADJ], |
| AM_CONFIG_HEADER(src/include/pa_config_auto.h) | AM_CONFIG_HEADER(src/include/pa_config_auto.h) |
| AC_OUTPUT( | AC_OUTPUT( |
| Makefile | Makefile |
| src/Makefile | src/Makefile |
| Line 558 AC_OUTPUT( | Line 553 AC_OUTPUT( |
| src/lib/cord/Makefile | src/lib/cord/Makefile |
| src/lib/cord/include/Makefile | src/lib/cord/include/Makefile |
| src/lib/cord/include/private/Makefile | src/lib/cord/include/private/Makefile |
| src/lib/ltdl/Makefile | |
| src/lib/md5/Makefile | src/lib/md5/Makefile |
| src/lib/sdbm/Makefile | src/lib/sdbm/Makefile |
| src/lib/sdbm/pa-include/Makefile | src/lib/sdbm/pa-include/Makefile |