--- parser3/Attic/configure.in 2009/05/15 07:05:16 1.112 +++ parser3/Attic/configure.in 2013/07/22 15:17:05 1.193 @@ -1,39 +1,30 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(README) -AC_PREREQ(2.57) +dnl Autoconf initialisation +AC_PREREQ(2.59) +AC_INIT(parser, 3.4.3b) +AC_CONFIG_SRCDIR(README) -AM_INIT_AUTOMAKE(parser, 3.4.0b, nodefine) -dnl expand srcdir -P3S=`cd $srcdir/src ; pwd` -AC_SUBST(P3S) +dnl Automake Initialisation +AM_INIT_AUTOMAKE -dnl AC_CANONICAL_SYSTEM -AC_CANONICAL_HOST -PARSER_VERSION="$VERSION (compiled on $host)" -echo "/* automatically generated by configure */" > $srcdir/src/include/pa_version.h.new -echo "/* edit configure.in to change version number */" >> $srcdir/src/include/pa_version.h.new -echo "#define PARSER_VERSION \"$PARSER_VERSION\"" >> $srcdir/src/include/pa_version.h.new -cmp $srcdir/src/include/pa_version.h.new $srcdir/src/include/pa_version.h >/dev/null 2>&1 -if test $? -ne 0 ; then - rm -f $srcdir/src/include/pa_version.h && mv $srcdir/src/include/pa_version.h.new $srcdir/src/include/pa_version.h && \ - echo Updated $srcdir/src/include/pa_version.h -else - rm -f $srcdir/src/include/pa_version.h.new -fi +dnl Expand srcdir +P3S=`cd $srcdir/src ; pwd` +AC_SUBST(P3S) +dnl Parser version update +AC_CANONICAL_HOST +AC_DEFINE_UNQUOTED(PARSER_VERSION,"$VERSION (compiled on $host)",parser version) AC_SUBST(host_os) case $host_os in *cygwin* ) AC_DEFINE(CYGWIN,,using cygwin building environment);; esac -dnl Checks for programs. + +dnl Checks for programs AC_PROG_INSTALL -AC_PROG_MAKE_SET -AC_PROG_RANLIB AC_PROG_AWK AC_PROG_YACC @@ -52,31 +43,46 @@ fi AC_PROG_CXX AC_PROG_CC + dnl most tests should be compiled with C compiler [especially qsort test] -AC_LANG_C -AC_C_INLINE +AC_LANG_C -dnl Arguments +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 Misc arguments AC_ARG_WITH(build-warnings, [ --with-build-warnings to enable build-time compiler warnings if gcc is used], AC_MSG_WARN(enabling compiler warnings) CXXFLAGS="$CXXFLAGS -W -Wall -Wstrict-prototypes -Wmissing-prototypes" ) - AC_ARG_WITH(assertions, [ --with-assertions to enable assertions], AC_MSG_WARN(enabling assertions) , AC_DEFINE(NDEBUG,,assertions disabled) ) +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 files belonging to group+user other then effective], [ SAFE_MODE=$enableval ] ) + if test "$SAFE_MODE" = "no"; then AC_MSG_WARN(enabling reading of files belonging to group+user other then effective) else @@ -84,7 +90,8 @@ else fi -AC_ARG_ENABLE(execs, [ --disable-execs to disable any execs +dnl Disable execs argument +AC_ARG_ENABLE(execs, [ --disable-execs to disable any execs (file::exec, file::cgi, unix mail:send)], [ if test "$enableval" = "no"; then @@ -95,6 +102,7 @@ fi ) +dnl String stream argument 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], [ @@ -106,324 +114,190 @@ fi ) -srccharsetsdir=$srcdir/etc/parser3.charsets -CHARSETS_REQUESTED="windows-1251" -AC_ARG_WITH(charsets, [ --with-charsets=CHARSET[,CHARSET,...] Enables charsets in root config (windows-1251, - windows-1250 windows-1257 koi8-r; Default is windows-1251)], -[CHARSETS_REQUESTED=`echo $withval | sed -e 's/,/ /g'`]) - -# Checking whether all requested charsets have corresponding .cfg files -for c in $CHARSETS_REQUESTED; do - if test \! -f $srccharsetsdir/$c.cfg; then - AC_MSG_ERROR(bad charset requested "$c" - file $srccharsetsdir/$c.cfg not found) - fi -done - -# Switching on commentcharset_XXX='#' -AC_DEFUN([PA_SUBSTCHARSET], [ - commentcharset_$2='#' - for c in $CHARSETS_REQUESTED; do - if test "$1" = "$c"; then - AC_MSG_WARN(enabling charset $1) - commentcharset_$2= - fi - done - AC_SUBST(commentcharset_$2) -]) -PA_SUBSTCHARSET(windows-1251,windows1251) -PA_SUBSTCHARSET(windows-1250,windows1250) -PA_SUBSTCHARSET(windows-1257,windows1257) -PA_SUBSTCHARSET(koi8-r,koi8r) - - -AC_MSG_CHECKING(for dynamic-link library extension) -case "$host_os" in -hpux9* | hpux10* | hpux11*) - dll_extension=sl - ;; -cygwin) - dll_extension=dll - ;; -*) - dll_extension=so -esac -AC_MSG_RESULT($dll_extension) -AC_SUBST(dll_extension) - -AC_ARG_WITH(mysql-client,[ --with-mysql-client=mysqlclientlib?withparams - MySQL client dynamic library to root config], - mysql_client=$withval -, - AC_MSG_CHECKING(for mysql client) - for lib in \ - /usr/local/lib/mysql/libmysqlclient.$dll_extension \ - /usr/local/lib/libmysqlclient.$dll_extension \ - /usr/lib/libmysqlclient.$dll_extension; do - if test -f $lib; then mysql_client=$lib; fi - done - - if test -z "$mysql_client"; then - mysql_client="-configure could not guess-" - AC_MSG_RESULT(could not guess) - else - AC_MSG_RESULT($mysql_client) - fi - -) -AC_SUBST(mysql_client) - - -AC_ARG_WITH(pgsql-client,[ --with-pgsql-client=pgsqlclientlib?withparams - PgSQL client dynamic library to root config], - pgsql_client=$withval -, - AC_MSG_CHECKING(for pgsql client) - for lib in \ - /usr/local/pgsql/lib/libpq.$dll_extension \ - /usr/local/lib/libpq.$dll_extension \ - /usr/lib/libpq.$dll_extension; do - if test -f $lib; then pgsql_client=$lib; fi - done - - if test -z "$pgsql_client"; then - pgsql_client="-configure could not guess-" - AC_MSG_RESULT(could not guess) - else - AC_MSG_RESULT($pgsql_client) - fi - -) -AC_SUBST(pgsql_client) +dnl GC argument +AC_ARG_WITH(gc,[ --with-gc[=D] D is the directory where + Boehm garbage collecting library is installed],[ + GC=$withval + GC_LIBS="$GC/libgc.la" -AC_ARG_WITH(oracle-client,[ --with-oracle-client=oracleclientlib?withparams - Oracle client dynamic library], - oracle_client=$withval -, - AC_MSG_CHECKING(for oracle client) - lib=$ORACLE_HOME/lib/libclntsh.$dll_extension - if test -f $lib; then oracle_client=$lib; fi - - if test -z "$oracle_client"; then - oracle_client="-configure could not guess-" - AC_MSG_RESULT(could not guess) + if test -f $GC_LIBS; then + GC_OK="yes" else - oracle_client="$oracle_client?ORACLE_HOME=$ORACLE_HOME&ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data" - AC_MSG_RESULT($oracle_client) + GC_LIBS="-L$GC -lgc" fi -) -AC_SUBST(oracle_client) - - -AC_ARG_WITH(sqlite-client,[ --with-sqlite-client=sqliteclientlib?withparams - SQLite client dynamic library to root config], - sqlite_client=$withval -, - AC_MSG_CHECKING(for sqlite_client client) - for lib in \ - /usr/local/sqlite/lib/sqlite3.$dll_extension \ - /usr/local/lib/sqlite3.$dll_extension \ - /usr/lib/sqlite3.$dll_extension; do - if test -f $lib; then sqlite_client=$lib; fi - done - - if test -z "$sqlite_client"; then - sqlite_client="-configure could not guess-" - AC_MSG_RESULT(could not guess) - else - AC_MSG_RESULT($sqlite_client) + if test "$GC" = "yes"; then + GC="" + GC_LIBS="-lgc" + AC_MSG_WARN([--with-gc value was not specified, hoping linker would find it]) fi - -) -AC_SUBST(sqlite_client) - - - -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: this is probably incompatible with other platforms) - # this is for apache, it's linked with gcc and need to know - # and it would not harm linking with c++ toolchain - CPP_LIBS="-lstdc++" ],[ - CPP_LIBS="-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" + GC_LIBS="-lgc" + AC_MSG_WARN([--with-gc was not specified, hoping linker would find it]) ]) -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 -AC_ARG_WITH(shared-gc,[ --with-shared-gc[=D] D is the directory where - Boehm garbage collecting library is installed (shared lib)],[ - GC_LIBS="-L$withval -l$GC_LIB_NAME" -]) -AC_ARG_WITH(static-gc,[ --with-static-gc[=D] D is the directory where - Boehm garbage collecting library is installed (static lib)],[ - GC_LIBS="-L$withval -Wl,-Bstatic -l$GC_LIB_NAME -Wl,-Bdynamic" -]) -if test -z "$GC_LIBS"; then - #undefined? use any found in system - GC_LIBS="-l$GC_LIB_NAME" - AC_MSG_WARN([neither --with-shared/static-gc were specified, hoping linker would find it]) +if test -z "$GC_OK"; then + AC_MSG_CHECKING(for libgc) + SAVE_LIBS=$LIBS + LIBS="$LIBS $GC_LIBS" + AC_TRY_LINK([ extern int GC_dont_gc; ],[ GC_dont_gc=0; ], + AC_MSG_RESULT(yes) + , + AC_MSG_RESULT(no) + if test -z "$GC"; then + AC_MSG_ERROR(please specify path to libgc: --with-gc=D) + else + AC_MSG_ERROR($GC does not seem to be valid libgc installation directory) + fi + ) + LIBS=$SAVE_LIBS fi -AC_MSG_CHECKING(for libgc) -SAVE_LIBS=$LIBS -LIBS="$LIBS $GC_LIBS" -AC_TRY_LINK([ - extern int GC_dont_gc; -],[ - GC_dont_gc=0; -], - AC_MSG_RESULT(yes) -, - AC_MSG_RESULT(no) - AC_MSG_ERROR(please specify path to libgc: --with-shared-gc OR --with-static-gc) -) AC_SUBST(GC_LIBS) -LIBS=$SAVE_LIBS -AC_ARG_WITH(static-pcre,[ --with-static-pcre=D D is the directory where - PCRE library is installed (static lib)],[ +dnl PCRE argument +AC_ARG_WITH(pcre,[ --with-pcre=D D is the directory where + PCRE library is installed],[ PCRE=$withval - PCREINC="$PCRE/include" - PCRELIB="$PCRE/lib" + PCRE_INCLUDES="-I$PCRE/include" + PCRE_LIBS="$PCRE/lib/libpcre.la" - if test \! -d $PCREINC -o \! -d $PCRELIB; then - AC_MSG_ERROR($PCRE does not seem to be valid PCRE installation directory) + if test -f $PCRE/include/pcre.h -a -f $PCRE_LIBS; then + PCRE_OK="yes" + else + PCRE_LIBS="-L$PCRE -lpcre" fi - PCRE_INCLUDES="-I$PCREINC" - PCRE_LIBS="$PCRELIB/libpcre.a" + if test "$PCRE" = "yes"; then + PCRE="" + PCRE_LIBS="-lpcre" + PCRE_INCLUDES="" + AC_MSG_WARN([--with-pcre value was not specified, hoping linker would find it]) + fi +],[ + PCRE_LIBS="-lpcre" + PCRE_INCLUDES="" + AC_MSG_WARN([--with-pcre was not specified, hoping linker would find it]) ]) + +if test -z "$PCRE_OK"; then + AC_MSG_CHECKING(for prce) + SAVE_LIBS=$LIBS + LIBS="$LIBS $PCRE_LIBS $PCRE_INCLUDES" + AC_TRY_LINK([ #include ],[ const char *v=pcre_version(); ], + AC_MSG_RESULT(yes) + , + AC_MSG_RESULT(no) + if test -z "$PCRE"; then + AC_MSG_ERROR(please specify path to PCRE: --with-pcre=D) + else + AC_MSG_ERROR($PCRE does not seem to be valid PCRE installation directory) + fi + ) + LIBS=$SAVE_LIBS +fi + AC_SUBST(PCRE_INCLUDES) AC_SUBST(PCRE_LIBS) -AC_ARG_WITH(shared-xml,[ --with-shared-xml=D D is the directory where - Gnome XML libraries are installed (shared libs)],[ - GNOME_XML=$withval - XMLBIN="$GNOME_XML/bin" - XMLINC="$GNOME_XML/include" - XMLLIB="$GNOME_XML/lib" - - if test \! -d $XMLBIN -o \! -d $XMLINC -o \! -d $XMLLIB; then - AC_MSG_ERROR($GNOME_XML does not seem to be valid Gnome installation directory) - fi - - AC_DEFINE(XML,,xml-abled parser (uses shared library)) - - LIBXML2_SO_NAME=`cd $XMLLIB ; ls libxml2.?? libxml2.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` - LIBXSLT_SO_NAME=`cd $XMLLIB ; ls libxslt.?? libxslt.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` - LIBEXSLT_SO_NAME=`cd $XMLLIB ; ls libexslt.?? libexslt.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` - - XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC -I$XMLINC/libxml2" - XML_LIBS="-L$XMLLIB -l$LIBXML2_SO_NAME -l$LIBXSLT_SO_NAME -l$LIBEXSLT_SO_NAME" - if test \! -z "$LD_PATHLINK"; then - XML_LIBS="$XML_LIBS -Wl,$LD_PATHLINK -Wl,$XMLLIB" - fi -]) -AC_ARG_WITH(static-xml,[ --with-static-xml=D D is the directory where - Gnome XML libraries are installed (static libs)],[ - GNOME_XML=$withval - XMLBIN="$GNOME_XML/bin" - XMLINC="$GNOME_XML/include" - XMLLIB="$GNOME_XML/lib" +dnl XML/XSLT argument +AC_ARG_WITH(xml,[ --with-xml=D D is the directory where + Gnome XML libraries are installed],[ + + XML=$withval + XML_LIBS="-lxml2 -lxslt -lexslt" + + if test -z "$XML" -o "$XML" = "yes"; then + XML="" + XML_INCLUDES="-I/usr/include/libxml2" + AC_MSG_WARN([--with-xml value was not specified, hoping linker would find it]) + else + XML_INCLUDES="-I$XML/include -I$XML/include/libxml2" - if test \! -d $XMLBIN -o \! -d $XMLINC -o \! -d $XMLLIB; then - AC_MSG_ERROR($GNOME_XML does not seem to be valid Gnome installation directory) + if test -f $XML/include/libxslt/xslt.h -a -f $XML/lib/libxml2.la \ + -a -f $XML/lib/libxslt.la -a -f $XML/lib/libexslt.la; then + XML_LIBS="$XML/lib/libxml2.la $XML/lib/libxslt.la $XML/lib/libexslt.la" + XML_OK="yes" + fi fi - AC_DEFINE(XML,,xml-abled parser (uses static library)) - - XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC -I$XMLINC/libxml2" - XML_LIBS="$XMLLIB/libxslt.a $XMLLIB/libexslt.a $XMLLIB/libxml2.a" + if test -z "$XML_OK"; then + AC_MSG_CHECKING(for xml) + SAVE_LIBS=$LIBS + LIBS="$LIBS $XML_LIBS $XML_INCLUDES" + AC_TRY_LINK([ #include ],[ const char *v=xsltEngineVersion; ], + AC_MSG_RESULT(yes) + , + AC_MSG_RESULT(no) + if test -z "$XML"; then + AC_MSG_ERROR(please specify path to Gnome XML libraries: --with-xml=D) + else + AC_MSG_ERROR($XML does not seem to be valid Gnome XML installation directory) + fi + ) + LIBS=$SAVE_LIBS + fi + AC_DEFINE(XML,,xml-abled parser) ]) + AC_SUBST(XML_INCLUDES) AC_SUBST(XML_LIBS) -AC_ARG_WITH(glib-config,[ --with-glib-config=FILE FILE is glib library - configuration file (search for glib*-config)], - GLIB_CONFIG=$withval -) -AC_ARG_WITH(shared-mailreceive,[ --with-shared-mailreceive=D is the directory where - Gnome MIME library is installed (shared lib)],[ - GNOME_MIME=$withval - MIMEBIN="$GNOME_MIME/bin" - MIMEINC="$GNOME_MIME/include" - MIMELIB="$GNOME_MIME/lib" - - if test \! -d $MIMEBIN -o \! -d $MIMEINC -o \! -d $MIMELIB; then - AC_MSG_ERROR($GNOME_MIME does not seem to be valid Gnome installation directory) - fi - - AC_DEFINE(WITH_MAILRECEIVE,,has \$mail:received (uses shared library)) - - LIBMIME_SO_NAME=`cd $MIMELIB ; ls libgmime.?? libgmime.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` - - if test -z "$GLIB_CONFIG"; then - GLIB_CONFIG=$XMLBIN/glib-config - if test \! -x $GLIB_CONFIG; then - GLIB_CONFIG=$XMLBIN/glib2-config - if test \! -x $GLIB_CONFIG; then - GLIB_CONFIG=glib-config +dnl Mail receive argument +AC_ARG_WITH(mailreceive,[ --with-mailreceive=D is the directory where + Gnome MIME library is installed],[ + MIME=$withval + GLIB="glib-2.0" + GMIME="gmime-2.4" + + if test -z "$MIME" -o "$MIME" = "yes"; then + MIME="" + MIME_INCLUDES=`pkg-config --cflags $GMIME 2>/dev/null` + MIME_LIBS=`pkg-config --libs $GMIME 2>/dev/null` + AC_MSG_WARN([--with-mailreceive value was not specified, hoping linker would find Gnome MIME library]) + else + MIME_INCLUDES="-I$MIME/include/$GMIME" + MIME_LIBS="-l$GMIME" + if test -f $MIME/include/$GMIME/gmime/gmime.h -a -f $MIME/lib/lib$GMIME.la; then + MIME_LIBS="$MIME/lib/lib$GMIME.la" + if test -f $MIME/lib/lib$GLIB.la; then + MIME_INCLUDES="$MIME_INCLUDES -I$MIME/include/$GLIB -I$MIME/lib/$GLIB/include" + else + GLIB_INCLUDES=`pkg-config --cflags $GLIB 2>/dev/null` + MIME_INCLUDES="$MIME_INCLUDES $GLIB_INCLUDES" fi + MIME_OK="yes" fi fi - GLIB_CFLAGS=`$GLIB_CONFIG --cflags` - GLIB_LIBS=`$GLIB_CONFIG --libs` - MIME_INCLUDES="$GLIB_CFLAGS -I$MIMEINC/gmime" - MIME_LIBS="$GLIB_LIBS -L$MIMELIB -l$LIBMIME_SO_NAME" - if test \! -z "$LD_PATHLINK"; then - MIME_LIBS="$MIME_LIBS -Wl,$LD_PATHLINK -Wl,$MIMELIB" - fi -]) -AC_ARG_WITH(static-mailreceive,[ --with-static-mailreceive=D is the directory where - Gnome MIME library is installed (static lib)],[ - GNOME_MIME=$withval - MIMEBIN="$GNOME_MIME/bin" - MIMEINC="$GNOME_MIME/include" - MIMELIB="$GNOME_MIME/lib" - - if test \! -d $MIMEBIN -o \! -d $MIMEINC -o \! -d $MIMELIB; then - AC_MSG_ERROR($GNOME_MIME does not seem to be valid Gnome installation directory) - fi - - AC_DEFINE(WITH_MAILRECEIVE,,has \$mail:received (uses static library)) - - if test -z "$GLIB_CONFIG"; then - GLIB_CONFIG=$XMLBIN/glib-config - if test \! -x $GLIB_CONFIG; then - GLIB_CONFIG=$XMLBIN/glib2-config - if test \! -x $GLIB_CONFIG; then - GLIB_CONFIG=glib-config + if test -z "$MIME_OK"; then + AC_MSG_CHECKING(for mime) + SAVE_LIBS=$LIBS + LIBS="$LIBS $MIME_LIBS $MIME_INCLUDES" + AC_TRY_LINK([ #include ],[ guint v=gmime_major_version; ], + AC_MSG_RESULT(yes) + , + AC_MSG_RESULT(no) + if test -z "$MIME"; then + AC_MSG_ERROR(please specify path to Gnome MIME library: --with-mailreceive=D) + else + AC_MSG_ERROR($MIME does not seem to be valid Gnome MIME installation directory) fi - fi + ) + LIBS=$SAVE_LIBS fi - GLIB_CFLAGS=`$GLIB_CONFIG --cflags` - -dnl '-L/usr/local/lib -lglib' -> /usr/local/lib -changequote(, )dnl - GLIB_DIR=`$GLIB_CONFIG --libs | sed 's/.*-L\([^ ]*\).*/\1/'` - GLIB_NAME=`$GLIB_CONFIG --libs | sed 's/.*-l\([^ ]*\).*/\1/'` -changequote([, ])dnl - MIME_INCLUDES="$GLIB_CFLAGS -I$MIMEINC/gmime" - MIME_LIBS="$MIMELIB/libgmime.a $GLIB_DIR/lib$GLIB_NAME.a" + AC_DEFINE(WITH_MAILRECEIVE,,has \$mail:received) ]) + AC_SUBST(MIME_INCLUDES) AC_SUBST(MIME_LIBS) +dnl Sendmail argument AC_ARG_WITH(sendmail,[ \"--with-sendmail=COMMAND\" forces this command to send mail. example: \"--with-sendmail=/usr/sbin/sendmail -t\" (makes parser ignore user-defined sendmail commands)], @@ -431,34 +305,42 @@ AC_ARG_WITH(sendmail,[ \"--with-sendmai ) -AC_ARG_WITH(apache13,[ --with-apache13=D D is the Apache13 source distribution directory - builds library for apache_module using that dir - (do not add /src)], - APACHE13=$withval - if test \! -f "$APACHE13/src/include/httpd.h"; then - AC_MSG_ERROR($APACHE13 does not seem to be valid Apache13 source distribution directory) +dnl Apache module argument +AC_ARG_WITH(apache,[ --with-apache=FILE FILE is the full path for APXS + builds apache DSO module using apxs],[ + APXS=$withval + + if test -z "$APXS" -o "$APXS" = "yes"; then + APXS=`which apxs 2>/dev/null` + if test -z "$APXS"; then + APXS=`which apxs2 2>/dev/null` + fi fi -) -AC_SUBST(APACHE13) -AM_CONDITIONAL(COMPILE_APACHE13_MODULE, test -n "$APACHE13") + + 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 + + APACHE_MAIN_INC=`$APXS -q INCLUDEDIR` + APACHE_EXTRA_INC=`$APXS -q EXTRA_INCLUDES 2>/dev/null` + APACHE_INC="-I$APACHE_MAIN_INC $APACHE_EXTRA_INC" + APACHE_CFLAGS=`$APXS -q CFLAGS` +]) +AC_SUBST(APACHE) +AC_SUBST(APACHE_INC) +AC_SUBST(APACHE_CFLAGS) +AM_CONDITIONAL(COMPILE_APACHE_MODULE, test -n "$APACHE") dnl Enable building of the convenience library -dnl and set LIBLTDL accordingly -AC_LIBLTDL_CONVENIENCE(src/lib/ltdl) -dnl Substitute INCLTDL and LIBLTDL in the Makefiles -AC_SUBST(INCLTDL) -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) +LT_CONFIG_LTDL_DIR(src/lib/ltdl) +LT_INIT(dlopen win32-dll no-pic) +LTDL_INIT -dnl Checks for typedefs, structures, and compiler characteristics. +dnl Checks for typedefs, structures, and compiler characteristics AC_C_BIGENDIAN( AC_DEFINE(PA_BIG_ENDIAN,,compile for sparc processor) , @@ -468,51 +350,28 @@ AC_C_BIGENDIAN( ) AC_TYPE_SIZE_T -dnl gmime -AC_CHECK_TYPE(off_t, long) -AC_CHECK_TYPE(ssize_t, int) - +AC_TYPE_SSIZE_T +AC_TYPE_UINT8_T +AC_TYPE_UINT32_T +AC_TYPE_UINT64_T -dnl Checks for C header files. +AC_STRUCT_DIRENT_D_TYPE +dnl Checks for C header files +AC_HEADER_STDC AC_HEADER_TIME -AC_CHECK_HEADERS( -assert.h \ -signal.h \ -unistd.h \ -process.h \ -stddef.h \ -stdarg.h \ -fcntl.h \ -sys/stat.h \ -io.h \ -stdio.h \ -errno.h \ -ctype.h \ -math.h \ -crypt.h \ -time.h sys/time.h \ -string.h \ -direct.h \ -setjmp.h \ -memory.h \ -sys/file.h \ -sys/locking.h \ -sys/types.h \ -sys/select.h \ -sys/resource.h \ -winsock.h \ -sys/socket.h \ -netinet/in.h \ -arpa/inet.h \ -netdb.h -) +AC_CHECK_HEADERS(stdio.h sys/types.h sys/stat.h stdlib.h stddef.h memory.h string.h strings.h inttypes.h stdint.h unistd.h) +AC_CHECK_HEADERS(assert.h limits.h ctype.h math.h process.h stdarg.h setjmp.h signal.h) +AC_CHECK_HEADERS(errno.h dirent.h fcntl.h io.h sys/file.h sys/locking.h sys/select.h sys/resource.h sys/wait.h) +AC_CHECK_HEADERS(sys/socket.h netinet/in.h arpa/inet.h netdb.h) -dnl Checks for libraries. -dnl Some systems (Solaris 2.x) require libnsl (Network Services Library) +dnl Checks for libraries case "$host" in + *-freebsd4*) + AC_DEFINE(FREEBSD4,,FreeBSD4X target platform) + ;; *-sunos5.6* | *-solaris2.6*) AC_CHECK_LIB(xnet, main) ;; @@ -526,132 +385,57 @@ case "$host" in ;; *-cygwin*) AC_DEFINE(WIN32,,Windows32 target platform) - AC_CHECK_LIB(wsock32, socket) - ;; -# never tested this, only theoretically by letter from demos about parser2 build - *-hpux*) - AC_CHECK_LIB(nsl, main) ;; esac AC_CHECK_LIB(m, sin) - AC_CHECK_LIB(crypt, crypt) -dnl Checks for functions. -AC_CHECK_FUNCS( -flock \ -_locking \ -fcntl \ -lockf \ -ftruncate \ -getrusage \ -gettimeofday \ -crypt \ -sigsetjmp \ -siglongjmp \ -unsetenv -) +dnl Checks for functions +AC_CHECK_FUNCS(flock _locking fcntl lockf ftruncate fchmod) +AC_CHECK_FUNCS(getrusage gettimeofday crypt sigsetjmp siglongjmp 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 + dnl see comment above AC_LANG_PUSH(C++) -PA_CHECK_MATH_FUNCS_ONE_ARG( -trunc \ -round \ -sign -) +PA_CHECK_MATH_FUNCS_ONE_ARG(trunc round sign) AC_LANG_POP -dnl We require qsort(3) +dnl We require qsort(3) AC_CHECK_FUNCS(qsort, , AC_MSG_ERROR([No qsort library function.])) + dnl For correct mail receiving we need to know local offset from GMT dnl it be timezone+(daylight?60*60*sign(timezone):0) -dnl or it can be tm.tm_gmtoff -dnl or it can be tm.tm_tzadj +dnl or it can be tm.tm_gmtoff or it can be tm.tm_tzadj AC_MSG_CHECKING(for timezone variable) -AC_TRY_COMPILE([#include ], -[ -time_t test=timezone; -], -AC_DEFINE(HAVE_TIMEZONE) -AC_MSG_RESULT(yes), -AC_MSG_RESULT(no)) +AC_TRY_COMPILE([#include ], [time_t test=timezone;], AC_DEFINE(HAVE_TIMEZONE) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) AC_MSG_CHECKING(for daylight variable) -AC_TRY_COMPILE([#include ], -[ -int test=daylight; -], -AC_DEFINE(HAVE_DAYLIGHT) -AC_MSG_RESULT(yes), -AC_MSG_RESULT(no)) +AC_TRY_COMPILE([#include ], [int test=daylight;], AC_DEFINE(HAVE_DAYLIGHT) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) AC_MSG_CHECKING(for tm_gmtoff in struct tm) -AC_TRY_COMPILE([#include ], -[struct tm tm; -tm.tm_gmtoff=0; -], -AC_DEFINE(HAVE_TM_GMTOFF) -AC_MSG_RESULT(yes), -AC_MSG_RESULT(no)) +AC_TRY_COMPILE([#include ], [struct tm tm; tm.tm_gmtoff=0;], AC_DEFINE(HAVE_TM_GMTOFF) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) AC_MSG_CHECKING(for tm_tzadj in struct tm) -AC_TRY_COMPILE([#include ], -[struct tm tm; -tm.tm_tzadj=0; -], -AC_DEFINE(HAVE_TM_TZADJ) -AC_MSG_RESULT(yes), -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 - -AH_TEMPLATE([HAVE_DLD],[Define if you have the GNU dld library]) - -AH_TEMPLATE([HAVE_LIBDL], - [Define if you have the libdl library or equivalent.]) - -AH_TEMPLATE([HAVE_SHL_LOAD], - [Define if you have the shl_load function. ]) - +AC_TRY_COMPILE([#include ], [struct tm tm; tm.tm_tzadj=0;], AC_DEFINE(HAVE_TM_TZADJ) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) -AH_TEMPLATE([size_t], - [Define to `unsigned int' if does not define.]) - -AH_TEMPLATE([ssize_t], - [Define to `int' if does not define.]) - -AH_TEMPLATE([HAVE_DAYLIGHT], - [Define if you have daylight external variable in ]) - -AH_TEMPLATE([HAVE_TIMEZONE], - [Define if you have timezone external variable in ]) - -AH_TEMPLATE([HAVE_TM_GMTOFF], - [Define if you have tm_gmtoff member of tm structure in ]) - -AH_TEMPLATE([HAVE_TM_TZADJ], - [Define if you have tm_tzadj member of tm structure in ]) +dnl Output header and makefiles +AH_TEMPLATE([HAVE_DAYLIGHT],[Define if you have daylight external variable in ]) +AH_TEMPLATE([HAVE_TIMEZONE],[Define if you have timezone external variable in ]) +AH_TEMPLATE([HAVE_TM_GMTOFF],[Define if you have tm_gmtoff member of tm structure in ]) +AH_TEMPLATE([HAVE_TM_TZADJ],[Define if you have tm_tzadj member of tm structure in ]) AM_CONFIG_HEADER(src/include/pa_config_auto.h) + AC_OUTPUT( Makefile src/Makefile @@ -669,15 +453,15 @@ AC_OUTPUT( src/lib/cord/Makefile src/lib/cord/include/Makefile src/lib/cord/include/private/Makefile - src/lib/ltdl/Makefile src/lib/md5/Makefile src/lib/sdbm/Makefile - src/lib/sdbm/apr-include/Makefile + src/lib/sdbm/pa-include/Makefile + src/lib/json/Makefile + src/lib/memcached/Makefile + src/lib/curl/Makefile src/targets/Makefile src/targets/cgi/Makefile - src/targets/apache13core/Makefile - src/targets/apache13/Makefile - src/targets/apache13/p3runConfigure + src/targets/apache/Makefile src/targets/isapi/Makefile etc/Makefile etc/parser3.charsets/Makefile