|
|
| version 1.53, 2002/12/15 14:25:22 | version 1.94.2.1, 2007/12/25 10:32:02 |
|---|---|
| Line 1 | Line 1 |
| dnl Process this file with autoconf to produce a configure script. | dnl Process this file with autoconf to produce a configure script. |
| AC_INIT(README) | AC_INIT(README) |
| AM_INIT_AUTOMAKE(parser, 3.0.HEAD, nodefine) | AC_PREREQ(2.57) |
| AM_INIT_AUTOMAKE(parser, 3.2.2, nodefine) | |
| dnl expand srcdir | dnl expand srcdir |
| P3S=`cd $srcdir/src ; pwd` | P3S=`cd $srcdir/src ; pwd` |
| AC_SUBST(P3S) | AC_SUBST(P3S) |
| PARSER_VERSION=$VERSION | 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 "/* 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 "/* 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 | 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 | cmp $srcdir/src/include/pa_version.h.new $srcdir/src/include/pa_version.h >/dev/null 2>&1 |
| if test $? -ne 0 ; then | 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 && \ | 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 | echo Updated $srcdir/src/include/pa_version.h |
| else | else |
| rm -f $srcdir/src/include/pa_version.h.new | rm -f $srcdir/src/include/pa_version.h.new |
| fi | fi |
| dnl AC_CANONICAL_SYSTEM | |
| AC_CANONICAL_HOST | |
| AC_SUBST(host_os) | 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_INSTALL |
| Line 30 AC_PROG_AWK | Line 38 AC_PROG_AWK |
| AC_PROG_YACC | AC_PROG_YACC |
| if test "$YACC" != "bison -y"; then | if test "$YACC" != "bison -y"; then |
| AC_MSG_WARN(to regenerate Parser grammar YOU WOULD NEED BISON) | AC_MSG_WARN(to regenerate Parser grammar YOU WOULD NEED BISON) |
| else | else |
| AC_MSG_CHECKING(bison version) | AC_MSG_CHECKING(bison version) |
| oldIFS=$IFS; IFS=. | oldIFS=$IFS; IFS=. |
| set `bison -V | sed -e 's/^GNU Bison version //'` | set `bison -V | sed -e 's/^GNU Bison version //' -e 's/^bison (GNU Bison) //' -e 's/$/./'` |
| IFS=$oldIFS | IFS=$oldIFS |
| if test "$1" = "1" -a "$2" -lt "25"; then | if test "$1" = "1" -a "$2" -lt "25"; then |
| AC_MSG_WARN(Bison 1.25 or newer needed to regenerate Parser compiler (found $1.$2).) | AC_MSG_WARN(Bison 1.25 or newer needed to regenerate Parser compiler (found $1.$2).) |
| fi | fi |
| AC_MSG_RESULT($1.$2 (ok)) | AC_MSG_RESULT($1.$2 (ok)) |
| fi | fi |
| dnl the order of C, C++ is important | |
| AC_PROG_CC | |
| AC_LANG_C AC_C_INLINE | |
| AC_PROG_CXX | AC_PROG_CXX |
| AC_LANG_CPLUSPLUS | AC_PROG_CC |
| dnl most tests should be compiled with C compiler [especially qsort test] | |
| AC_LANG_C | |
| AC_C_INLINE | |
| dnl Arguments | dnl Arguments |
| AC_ARG_ENABLE(link-libstdcpp, [ --disable-link-libstdcpp to disable libstdc++ linkage, | AC_ARG_WITH(build-warnings, [ --with-build-warnings to enable build-time compiler warnings if gcc is used], |
| if you belive you do not need one], | AC_MSG_WARN(enabling compiler warnings) |
| [ | CXXFLAGS="$CXXFLAGS -W -Wall -Wstrict-prototypes -Wmissing-prototypes" |
| LINK_LIBSTDCPP_FLAG=$enableval | ) |
| if test "$enableval" = "no"; then | |
| AC_MSG_WARN(disabling libstdc++ linkage) | |
| fi | AC_ARG_WITH(assertions, [ --with-assertions to enable assertions], |
| ] | AC_MSG_WARN(enabling assertions) |
| , | |
| AC_DEFINE(NDEBUG,,assertions disabled) | |
| ) | ) |
| AM_CONDITIONAL(DO_NOT_LINK_LIBSTDCPP, test "$LINK_LIBSTDCPP_FLAG" = "no") | |
| AC_ARG_ENABLE(string-origins, [ --disable-string-origins to switch off string origin tracking], | AC_ARG_ENABLE(safe-mode, [ --disable-safe-mode to enable reading and executing |
| files belonging to group+user other then effective], | |
| [ | [ |
| if test "$enableval" = "no"; then | SAFE_MODE=$enableval |
| AC_MSG_WARN(disabling string origin tracking) | |
| AC_DEFINE(NO_STRING_ORIGIN,,no string origin tracking) | |
| fi | |
| ] | ] |
| ) | ) |
| if test "$SAFE_MODE" = "no"; then | |
| AC_MSG_WARN(enabling reading of files belonging to group+user other then effective) | |
| else | |
| AC_DEFINE(PA_SAFE_MODE,,disabled reading of files belonging to group+user other then effective) | |
| fi | |
| 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)], |
| [ | [ |
| if test "$enableval" = "no"; then | if test "$enableval" = "no"; then |
| Line 80 fi | Line 92 fi |
| ] | ] |
| ) | ) |
| AC_ARG_ENABLE(foreign-group-files, [ --disable-foreign-group-files to disable read and executing | |
| files belonging to group other then effective], | |
| [ | |
| if test "$enableval" = "no"; then | |
| AC_MSG_WARN(disabling reading of files belonging to group other then effective) | |
| AC_DEFINE(NO_FOREIGN_GROUP_FILES,,disabled reading and executing files of non-process-effective-group) | |
| fi | |
| ] | |
| ) | |
| srccharsetsdir=$srcdir/etc/parser3.charsets | srccharsetsdir=$srcdir/etc/parser3.charsets |
| CHARSETS_REQUESTED="windows-1251" | CHARSETS_REQUESTED="windows-1251" |
| AC_ARG_WITH(charsets, [ --with-charsets=CHARSET[,CHARSET,...] Enables charsets in root config (windows-1251, | AC_ARG_WITH(charsets, [ --with-charsets=CHARSET[,CHARSET,...] Enables charsets in root config (windows-1251, |
| Line 103 for c in $CHARSETS_REQUESTED; do | Line 107 for c in $CHARSETS_REQUESTED; do |
| done | done |
| # Switching on commentcharset_XXX='#' | # Switching on commentcharset_XXX='#' |
| AC_DEFUN(PA_SUBSTCHARSET, [ | AC_DEFUN([PA_SUBSTCHARSET], [ |
| commentcharset_$2='#' | commentcharset_$2='#' |
| for c in $CHARSETS_REQUESTED; do | for c in $CHARSETS_REQUESTED; do |
| if test "$1" = "$c"; then | if test "$1" = "$c"; then |
| AC_MSG_WARN(Enabling charset $1) | AC_MSG_WARN(enabling charset $1) |
| commentcharset_$2= | commentcharset_$2= |
| fi | fi |
| done | done |
| Line 122 PA_SUBSTCHARSET(koi8-r,koi8r) | Line 126 PA_SUBSTCHARSET(koi8-r,koi8r) |
| AC_MSG_CHECKING(for dynamic-link library extension) | AC_MSG_CHECKING(for dynamic-link library extension) |
| case "$host_os" in | case "$host_os" in |
| hpux9* | hpux10* | hpux11*) | hpux9* | hpux10* | hpux11*) |
| dll_extension=sl | dll_extension=sl |
| ;; | ;; |
| cygwin) | cygwin) |
| dll_extension=dll | dll_extension=dll |
| ;; | ;; |
| *) | *) |
| dll_extension=so | dll_extension=so |
| esac | esac |
| AC_MSG_RESULT($dll_extension) | AC_MSG_RESULT($dll_extension) |
| AC_SUBST(dll_extension) | AC_SUBST(dll_extension) |
| Line 147 AC_ARG_WITH(mysql-client,[ --with-mysql | Line 151 AC_ARG_WITH(mysql-client,[ --with-mysql |
| if test -z "$mysql_client"; then | if test -z "$mysql_client"; then |
| mysql_client="-configure could not guess-" | mysql_client="-configure could not guess-" |
| AC_MSG_WARN(could not guess mysql client) | AC_MSG_RESULT(could not guess) |
| else | else |
| AC_MSG_RESULT($mysql_client) | AC_MSG_RESULT($mysql_client) |
| fi | fi |
| Line 155 AC_ARG_WITH(mysql-client,[ --with-mysql | Line 159 AC_ARG_WITH(mysql-client,[ --with-mysql |
| ) | ) |
| AC_SUBST(mysql_client) | AC_SUBST(mysql_client) |
| AC_ARG_WITH(pgsql-client,[ --with-pgsql-client=pgsqlclientlib?withparams | AC_ARG_WITH(pgsql-client,[ --with-pgsql-client=pgsqlclientlib?withparams |
| PgSQL client dynamic library to root config], | PgSQL client dynamic library to root config], |
| mysql_client=$withval | pgsql_client=$withval |
| , | , |
| AC_MSG_CHECKING(for pgsql client) | AC_MSG_CHECKING(for pgsql client) |
| for lib in \ | for lib in \ |
| Line 169 AC_ARG_WITH(pgsql-client,[ --with-pgsql | Line 174 AC_ARG_WITH(pgsql-client,[ --with-pgsql |
| if test -z "$pgsql_client"; then | if test -z "$pgsql_client"; then |
| pgsql_client="-configure could not guess-" | pgsql_client="-configure could not guess-" |
| AC_MSG_WARN(could not guess pgsql client) | AC_MSG_RESULT(could not guess) |
| else | else |
| AC_MSG_RESULT($pgsql_client) | AC_MSG_RESULT($pgsql_client) |
| fi | fi |
| Line 177 AC_ARG_WITH(pgsql-client,[ --with-pgsql | Line 182 AC_ARG_WITH(pgsql-client,[ --with-pgsql |
| ) | ) |
| AC_SUBST(pgsql_client) | AC_SUBST(pgsql_client) |
| AC_ARG_WITH(oracle-client,[ --with-oracle-client=oracleclientlib?withparams | AC_ARG_WITH(oracle-client,[ --with-oracle-client=oracleclientlib?withparams |
| Oracle client dynamic library], | Oracle client dynamic library], |
| oracle_client=$withval | oracle_client=$withval |
| Line 187 AC_ARG_WITH(oracle-client,[ --with-orac | Line 193 AC_ARG_WITH(oracle-client,[ --with-orac |
| if test -z "$oracle_client"; then | if test -z "$oracle_client"; then |
| oracle_client="-configure could not guess-" | oracle_client="-configure could not guess-" |
| AC_MSG_WARN(could not guess oracle client) | AC_MSG_RESULT(could not guess) |
| else | else |
| oracle_client="$oracle_client?ORACLE_HOME=$ORACLE_HOME&ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data" | oracle_client="$oracle_client?ORACLE_HOME=$ORACLE_HOME&ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data" |
| AC_MSG_RESULT($oracle_client) | AC_MSG_RESULT($oracle_client) |
| Line 197 AC_ARG_WITH(oracle-client,[ --with-orac | Line 203 AC_ARG_WITH(oracle-client,[ --with-orac |
| AC_SUBST(oracle_client) | 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) | |
| fi | |
| ) | |
| AC_SUBST(sqlite_client) | |
| AC_ARG_WITH(pathlink,[ --with-pathlink=LKEY put dynamic libraries paths to binary | AC_ARG_WITH(pathlink,[ --with-pathlink=LKEY put dynamic libraries paths to binary |
| using linker key (-R, -rpath-link)], | using linker key (-R, -rpath-link)], |
| LD_PATHLINK=$withval | 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" | |
| ]) | |
| AC_SUBST(CPP_LIBS) | |
| AC_ARG_WITH(sjlj-exceptions,[ --with-sjlj-exceptions enable simple 'throw' from dynamic library], | 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) | 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]) | |
| fi | |
| AC_ARG_WITH(glib-config,[ --with-glib-config=FILE FILE is glib library | AC_MSG_CHECKING(for libgc) |
| configuration file (search for glib*-config)], | SAVE_LIBS=$LIBS |
| GLIB_CONFIG=$withval | 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(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 |
| XMLBIN="$GNOME_XML/bin" | XMLBIN="$GNOME_XML/bin" |
| XMLINC="$GNOME_XML/include" | XMLINC="$GNOME_XML/include" |
| XMLLIB="$GNOME_XML/lib" | XMLLIB="$GNOME_XML/lib" |
| if test \! -d $XMLBIN -o \! -d $XMLINC -o \! -d $XMLLIB; then | 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) | AC_MSG_ERROR($GNOME_XML does not seem to be valid Gnome installation directory) |
| fi | fi |
| AC_DEFINE(XML,,xml-abled parser (uses shared library)) | 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/\..*//'` | LIBXML2_SO_NAME=`cd $XMLLIB ; ls libxml2.?? libxml2.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` |
| LIBGDOME_SO_NAME=`cd $XMLLIB ; ls libgdome.?? libgdome.??? 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/\..*//'` |
| 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/\..*//'` |
| 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" | |
| if test -z "$GLIB_CONFIG"; then | XML_LIBS="-L$XMLLIB -l$LIBXML2_SO_NAME -l$LIBXSLT_SO_NAME -l$LIBEXSLT_SO_NAME" |
| GLIB_CONFIG=$XMLBIN/glib-config | if test \! -z "$LD_PATHLINK"; then |
| if test \! -x $GLIB_CONFIG; then | |
| GLIB_CONFIG=glib-config | |
| fi | |
| fi | |
| GLIB_CFLAGS=`$GLIB_CONFIG --cflags` | |
| GLIB_LIBS=`$GLIB_CONFIG --libs` | |
| XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC -I$XMLINC/libgdome -I$XMLINC/libxml2" | |
| XML_LIBS="$GLIB_LIBS -L$XMLLIB -l$LIBXML2_SO_NAME -l$LIBGDOME_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" | XML_LIBS="$XML_LIBS -Wl,$LD_PATHLINK -Wl,$XMLLIB" |
| fi | fi |
| ]) | ]) |
| AC_ARG_WITH(static-xml,[ --with-static-xml=D D is the directory where | AC_ARG_WITH(static-xml,[ --with-static-xml=D D is the directory where |
| Gnome XML libraries are installed (static libs)],[ | Gnome XML libraries are installed (static libs)],[ |
| GNOME_XML=$withval | GNOME_XML=$withval |
| XMLBIN="$GNOME_XML/bin" | XMLBIN="$GNOME_XML/bin" |
| XMLINC="$GNOME_XML/include" | XMLINC="$GNOME_XML/include" |
| XMLLIB="$GNOME_XML/lib" | 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 static library)) | |
| if test -z "$GLIB_CONFIG"; then | |
| GLIB_CONFIG=$XMLBIN/glib-config | |
| if test \! -x $GLIB_CONFIG; then | |
| GLIB_CONFIG=glib-config | |
| fi | |
| fi | |
| GLIB_CFLAGS=`$GLIB_CONFIG --cflags` | |
| dnl '-L/usr/local/lib -lglib' -> /usr/local/lib | if test \! -d $XMLBIN -o \! -d $XMLINC -o \! -d $XMLLIB; then |
| changequote(, )dnl | AC_MSG_ERROR($GNOME_XML does not seem to be valid Gnome installation directory) |
| GLIB_DIR=`$GLIB_CONFIG --libs | sed 's/.*-L\([^ ]*\).*/\1/'` | fi |
| GLIB_NAME=`$GLIB_CONFIG --libs | sed 's/.*-l\([^ ]*\).*/\1/'` | |
| changequote([, ])dnl | AC_DEFINE(XML,,xml-abled parser (uses static library)) |
| XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC -I$XMLINC/libgdome -I$XMLINC/libxml2" | |
| XML_LIBS="$XMLLIB/libgdome.a $XMLLIB/libxslt.a $XMLLIB/libexslt.a $XMLLIB/libxml2.a $GLIB_DIR/lib$GLIB_NAME.a" | XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC -I$XMLINC/libxml2" |
| XML_LIBS="$XMLLIB/libxslt.a $XMLLIB/libexslt.a $XMLLIB/libxml2.a" | |
| ]) | ]) |
| AC_SUBST(XML_INCLUDES) | AC_SUBST(XML_INCLUDES) |
| AC_SUBST(XML_LIBS) | 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 | AC_ARG_WITH(shared-mailreceive,[ --with-shared-mailreceive=D is the directory where |
| Gnome MIME library is installed (shared lib)],[ | Gnome MIME library is installed (shared lib)],[ |
| GNOME_MIME=$withval | GNOME_MIME=$withval |
| MIMEBIN="$GNOME_MIME/bin" | MIMEBIN="$GNOME_MIME/bin" |
| MIMEINC="$GNOME_MIME/include" | MIMEINC="$GNOME_MIME/include" |
| MIMELIB="$GNOME_MIME/lib" | MIMELIB="$GNOME_MIME/lib" |
| if test \! -d $MIMEBIN -o \! -d $MIMEINC -o \! -d $MIMELIB; then | 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) | AC_MSG_ERROR($GNOME_MIME does not seem to be valid Gnome installation directory) |
| fi | fi |
| AC_DEFINE(WITH_MAILRECEIVE,,has \$mail:received (uses shared library)) | 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/\..*//'` | 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 | if test -z "$GLIB_CONFIG"; then |
| GLIB_CONFIG=$MIMEBIN/glib-config | GLIB_CONFIG=$XMLBIN/glib-config |
| if test \! -x $GLIB_CONFIG; then | if test \! -x $GLIB_CONFIG; then |
| GLIB_CONFIG=glib-config | GLIB_CONFIG=$XMLBIN/glib2-config |
| fi | if test \! -x $GLIB_CONFIG; then |
| fi | GLIB_CONFIG=glib-config |
| GLIB_CFLAGS=`$GLIB_CONFIG --cflags` | fi |
| GLIB_LIBS=`$GLIB_CONFIG --libs` | fi |
| fi | |
| MIME_INCLUDES="$GLIB_CFLAGS -I$MIMEINC/gmime" | GLIB_CFLAGS=`$GLIB_CONFIG --cflags` |
| MIME_LIBS="$GLIB_LIBS -L$MIMELIB -l$LIBMIME_SO_NAME" | GLIB_LIBS=`$GLIB_CONFIG --libs` |
| if test \! -z "$LD_PATHLINK"; then | |
| 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" | MIME_LIBS="$MIME_LIBS -Wl,$LD_PATHLINK -Wl,$MIMELIB" |
| fi | fi |
| ]) | ]) |
| AC_ARG_WITH(static-mailreceive,[ --with-static-mailreceive=D is the directory where | AC_ARG_WITH(static-mailreceive,[ --with-static-mailreceive=D is the directory where |
| Gnome MIME library is installed (static lib)],[ | Gnome MIME library is installed (static lib)],[ |
| GNOME_MIME=$withval | GNOME_MIME=$withval |
| MIMEBIN="$GNOME_MIME/bin" | MIMEBIN="$GNOME_MIME/bin" |
| MIMEINC="$GNOME_MIME/include" | MIMEINC="$GNOME_MIME/include" |
| MIMELIB="$GNOME_MIME/lib" | MIMELIB="$GNOME_MIME/lib" |
| if test \! -d $MIMEBIN -o \! -d $MIMEINC -o \! -d $MIMELIB; then | 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) | AC_MSG_ERROR($GNOME_MIME does not seem to be valid Gnome installation directory) |
| fi | fi |
| AC_DEFINE(WITH_MAILRECEIVE,,has \$mail:received (uses static library)) | AC_DEFINE(WITH_MAILRECEIVE,,has \$mail:received (uses static library)) |
| if test -z "$GLIB_CONFIG"; then | if test -z "$GLIB_CONFIG"; then |
| GLIB_CONFIG=$MIMEBIN/glib-config | GLIB_CONFIG=$XMLBIN/glib-config |
| if test \! -x $GLIB_CONFIG; then | if test \! -x $GLIB_CONFIG; then |
| GLIB_CONFIG=glib-config | GLIB_CONFIG=$XMLBIN/glib2-config |
| fi | if test \! -x $GLIB_CONFIG; then |
| fi | GLIB_CONFIG=glib-config |
| GLIB_CFLAGS=`$GLIB_CONFIG --cflags` | fi |
| fi | |
| fi | |
| GLIB_CFLAGS=`$GLIB_CONFIG --cflags` | |
| dnl '-L/usr/local/lib -lglib' -> /usr/local/lib | dnl '-L/usr/local/lib -lglib' -> /usr/local/lib |
| changequote(, )dnl | changequote(, )dnl |
| GLIB_DIR=`$GLIB_CONFIG --libs | sed 's/.*-L\([^ ]*\).*/\1/'` | GLIB_DIR=`$GLIB_CONFIG --libs | sed 's/.*-L\([^ ]*\).*/\1/'` |
| 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.a $GLIB_DIR/lib$GLIB_NAME.a" |
| ]) | ]) |
| AC_SUBST(MIME_INCLUDES) | AC_SUBST(MIME_INCLUDES) |
| AC_SUBST(MIME_LIBS) | AC_SUBST(MIME_LIBS) |
| Line 351 AC_ARG_WITH(apache13,[ --with-apache13= | Line 405 AC_ARG_WITH(apache13,[ --with-apache13= |
| builds library for apache_module using that dir | builds library for apache_module using that dir |
| (do not add /src)], | (do not add /src)], |
| APACHE13=$withval | APACHE13=$withval |
| if test \! -f "$APACHE13/src/include/httpd.h"; then | if test \! -f "$APACHE13/src/include/httpd.h"; then |
| AC_MSG_ERROR($APACHE13 does not seem to be valid Apache13 source distribution directory) | AC_MSG_ERROR($APACHE13 does not seem to be valid Apache13 source distribution directory) |
| fi | fi |
| ) | ) |
| AC_SUBST(APACHE13) | AC_SUBST(APACHE13) |
| AM_CONDITIONAL(COMPILE_APACHE13_MODULE, test -n "$APACHE13") | AM_CONDITIONAL(COMPILE_APACHE13_MODULE, test -n "$APACHE13") |
| Line 368 AC_SUBST(LIBLTDL) | Line 422 AC_SUBST(LIBLTDL) |
| dnl Configure libltdl | dnl Configure libltdl |
| AC_CONFIG_SUBDIRS(src/lib/ltdl) | AC_CONFIG_SUBDIRS(src/lib/ltdl) |
| dnl copied from lib/libltdl/configure.in [can not move, they need this info to detect other vitals, ex. NEED_USCORE] | |
| LIBADD_DL= | |
| AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL, 1) LIBADD_DL="-ldl"], | |
| [AC_CHECK_FUNC(dlopen, [AC_DEFINE(HAVE_LIBDL, 1)])]) | |
| AC_CHECK_FUNC(shl_load, [AC_DEFINE(HAVE_SHL_LOAD, 1)], | |
| [AC_CHECK_LIB(dld, shl_load, [AC_DEFINE(HAVE_SHL_LOAD, 1) LIBADD_DL="$LIBADD_DL -ldld"])]) | |
| AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD, 1)dnl | |
| test "x$ac_cv_lib_dld_shl_load" = yes || LIBADD_DL="$LIBADD_DL -ldld"]) | |
| AC_SUBST(LIBADD_DL) | |
| if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then | dnl detecting which libraries are needed to dynamic open |
| LIBS_SAVE="$LIBS" | AC_LTDL_DLLIB |
| LIBS="$LIBS $LIBADD_DL" | AC_SUBST(LIBADD_DL) |
| AC_CHECK_FUNCS(dlerror) | |
| LIBS="$LIBS_SAVE" | |
| fi | |
| 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) | |
| , | |
| AC_DEFINE(PA_LITTLE_ENDIAN,,compile for intel processor or compatible) | |
| , | |
| AC_MSG_ERROR(word endianness not determined for some obscure reason) | |
| ) | |
| 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 header files. | dnl Checks for C header files. |
| AC_HEADER_TIME | AC_HEADER_TIME |
| AC_CHECK_HEADERS( | AC_CHECK_HEADERS( |
| assert.h \ | |
| signal.h \ | signal.h \ |
| unistd.h \ | unistd.h \ |
| process.h \ | process.h \ |
| Line 412 ctype.h \ | Line 463 ctype.h \ |
| math.h \ | math.h \ |
| crypt.h \ | crypt.h \ |
| time.h sys/time.h \ | time.h sys/time.h \ |
| stdlib.h \ | |
| string.h \ | string.h \ |
| direct.h \ | direct.h \ |
| setjmp.h \ | setjmp.h \ |
| memory.h \ | memory.h \ |
| new \ | |
| sys/file.h \ | sys/file.h \ |
| sys/locking.h \ | sys/locking.h \ |
| sys/types.h \ | sys/types.h \ |
| Line 435 dnl Checks for libraries. | Line 484 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 |
| *-sunos5.6* | *-solaris2.6*) | *-sunos5.6* | *-solaris2.6*) |
| AC_CHECK_LIB(xnet, main) | AC_CHECK_LIB(xnet, main) |
| ;; | ;; |
| *-sunos5* | *-solaris2*) | *-sunos5* | *-solaris2*) |
| AC_CHECK_LIB(socket, main) | AC_CHECK_LIB(socket, main) |
| AC_CHECK_LIB(nsl, main) | AC_CHECK_LIB(nsl, main) |
| ;; | ;; |
| *-nec-sysv4*) | *-nec-sysv4*) |
| AC_CHECK_LIB(nsl, gethostbyname) | AC_CHECK_LIB(nsl, gethostbyname) |
| AC_CHECK_LIB(socket, socket) | AC_CHECK_LIB(socket, socket) |
| ;; | ;; |
| *-cygwin*) | *-cygwin*) |
| AC_DEFINE(WIN32,,Windows32 target platform) | AC_DEFINE(WIN32,,Windows32 target platform) |
| AC_CHECK_LIB(wsock32, socket) | AC_CHECK_LIB(wsock32, socket) |
| ;; | ;; |
| # never tested this, only theoretically by letter from demos about parser2 build | # never tested this, only theoretically by letter from demos about parser2 build |
| *-hpux*) | *-hpux*) |
| AC_CHECK_LIB(nsl, main) | AC_CHECK_LIB(nsl, main) |
| ;; | ;; |
| esac | esac |
| Line 462 AC_CHECK_LIB(crypt, crypt) | Line 511 AC_CHECK_LIB(crypt, crypt) |
| dnl Checks for functions. | dnl Checks for functions. |
| AC_CHECK_FUNCS( | AC_CHECK_FUNCS( |
| trunc \ | |
| round \ | |
| sign \ | |
| flock \ | flock \ |
| _locking \ | _locking \ |
| fcntl \ | fcntl \ |
| Line 473 ftruncate \ | Line 519 ftruncate \ |
| getrusage \ | getrusage \ |
| gettimeofday \ | gettimeofday \ |
| crypt \ | crypt \ |
| sigsetjmp siglongjmp | sigsetjmp \ |
| siglongjmp \ | |
| unsetenv | |
| ) | ) |
| dnl We require qsort(3) and select(2). | 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 | |
| ) | |
| AC_LANG_POP | |
| dnl We require qsort(3) | |
| AC_CHECK_FUNCS(qsort, , AC_MSG_ERROR([No qsort library function.])) | AC_CHECK_FUNCS(qsort, , AC_MSG_ERROR([No qsort library function.])) |
| AC_CHECK_FUNCS(select, , AC_MSG_ERROR([No select library function.])) | |
| dnl For correct mail receiving we need to know local offset from GMT | dnl For correct mail receiving we need to know local offset from GMT |
| dnl it be timezone+(daylight?60*60*sign(timezone):0) | dnl it be timezone+(daylight?60*60*sign(timezone):0) |
| Line 487 dnl or it can be tm.tm_gmtoff | Line 546 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)) |
| AC_MSG_CHECKING(whether compiler supports pragma pack) | dnl AC_ARG_ENABLE(db, [ --enable-db to enable 'hashfile' parser class], |
| AC_TRY_COMPILE( | |
| #pragma pack(1) | |
| struct _1_byte { | |
| char c; | |
| }; | |
| #pragma pack() | |
| ,,[ | |
| AC_MSG_RESULT(yes) | |
| AC_DEFINE(HAVE_PRAGMA_PACK,,compiler supports pragma pack) | |
| ], | |
| AC_MSG_RESULT(no) | |
| ) | |
| AC_MSG_CHECKING(for set_new_handler) | |
| AC_TRY_COMPILE( | |
| #ifdef HAVE_NEW | |
| #include <new> | |
| #endif | |
| void failed_new() {} | |
| , | |
| std::set_new_handler(failed_new); | |
| ,[ | |
| AC_MSG_RESULT(yes) | |
| AC_DEFINE(HAVE_SET_NEW_HANDLER,,library has set_new_handler func) | |
| ], | |
| AC_MSG_RESULT(no) | |
| ) | |
| dnl AC_ARG_ENABLE(db, [ --enable-db to enable 'hashfile' parser class], | |
| dnl [ | dnl [ |
| dnl if test "$enableval" != "no"; then | dnl if test "$enableval" != "no"; then |
| dnl AC_CHECK_HEADERS(db.h) | dnl AC_CHECK_HEADERS(db.h) |
| Line 562 dnl fi | Line 591 dnl fi |
| dnl ] | dnl ] |
| dnl ) | dnl ) |
| dnl Output header and makefiles | |
| dnl Apache libs | AH_TEMPLATE([HAVE_DLD],[Define if you have the GNU dld library]) |
| APACHE_LIBS="$LIBS $LIBADD_DL" | |
| dnl append stdc++ to libs list commented | |
| dnl 1. because binary seem to work without it | |
| dnl purpose of this: remove strange name dependance | |
| dnl for linker creates reference not for libstc++.xx but | |
| dnl for something specific to local system, | |
| dnl thus reducing binary compatibility | |
| dnl 2. for same reason linker of targets/cgi/parser3 changed to | |
| dnl "C" compiler from "C++" compiler | |
| dnl AC_CHECK_LIB(stdc++, __builtin_new, | |
| dnl APACHE_LIBS="$APACHE_LIBS -lstdc++" | |
| dnl ) | |
| AC_SUBST(APACHE_LIBS) | |
| dnl install directories | |
| # expand apostrophed | AH_TEMPLATE([HAVE_LIBDL], |
| e_prefix=$prefix | [Define if you have the libdl library or equivalent.]) |
| test "x$e_prefix" = xNONE && e_prefix=$ac_default_prefix | |
| e_sysconfdir=$sysconfdir | AH_TEMPLATE([HAVE_SHL_LOAD], |
| test "$e_sysconfdir" = "\${prefix}/etc" && e_sysconfdir="${e_prefix}/etc" | [Define if you have the shl_load function. ]) |
| dnl these are used to fill in etc/parser3.conf | |
| charsetsdir=$e_sysconfdir/parser3.charsets | AH_TEMPLATE([size_t], |
| AC_SUBST(charsetsdir) | [Define to `unsigned int' if <sys/types.h> does not define.]) |
| # expand apostrophed | AH_TEMPLATE([ssize_t], |
| e_libdir=$libdir | [Define to `int' if <sys/types.h> does not define.]) |
| if test "$e_libdir" = "\${exec_prefix}/lib"; then | |
| # Let make expand exec_prefix. | AH_TEMPLATE([HAVE_DAYLIGHT], |
| e_exec_prefix=$exec_prefix | [Define if you have daylight external variable in <time.h>]) |
| test "x$e_exec_prefix" = xNONE && e_exec_prefix=$e_prefix | |
| # expand apostrophed | AH_TEMPLATE([HAVE_TIMEZONE], |
| test "$e_libdir" = "\${exec_prefix}/lib" && e_libdir="${e_exec_prefix}/lib" | [Define if you have timezone external variable in <time.h>]) |
| fi | |
| sqldriversdir=$e_libdir | AH_TEMPLATE([HAVE_TM_GMTOFF], |
| AC_SUBST(sqldriversdir) | [Define if you have tm_gmtoff member of tm structure in <time.h>]) |
| AH_TEMPLATE([HAVE_TM_TZADJ], | |
| [Define if you have tm_tzadj member of tm structure in <time.h>]) | |
| dnl Output makefiles | |
| AM_CONFIG_HEADER(src/include/pa_config_auto.h) | AM_CONFIG_HEADER(src/include/pa_config_auto.h) |
| AC_OUTPUT(Makefile src/Makefile src/types/Makefile src/classes/Makefile src/classes/gd/Makefile src/classes/smtp/Makefile src/include/Makefile src/main/Makefile src/sql/Makefile src/lib/Makefile src/lib/ltdl/Makefile src/lib/pcre/Makefile src/lib/md5/Makefile src/lib/patches/Makefile src/targets/Makefile src/targets/cgi/Makefile src/targets/apache13/Makefile src/targets/apache13/hook/Makefile src/targets/apache13/p3runConfigure src/targets/isapi/Makefile etc/Makefile etc/parser3.charsets/Makefile bin/Makefile bin/auto.p.dist) | AC_OUTPUT( |
| Makefile | |
| src/Makefile | |
| src/types/Makefile | |
| src/classes/Makefile | |
| src/include/Makefile | |
| src/main/Makefile | |
| src/sql/Makefile | |
| src/lib/Makefile | |
| src/lib/gd/Makefile | |
| src/lib/smtp/Makefile | |
| src/lib/gc/Makefile | |
| src/lib/gc/include/Makefile | |
| src/lib/cord/Makefile | |
| src/lib/cord/include/Makefile | |
| src/lib/cord/include/private/Makefile | |
| src/lib/ltdl/Makefile | |
| src/lib/pcre/Makefile | |
| src/lib/md5/Makefile | |
| src/lib/sdbm/Makefile | |
| src/lib/sdbm/apr-include/Makefile | |
| src/targets/Makefile | |
| src/targets/cgi/Makefile | |
| src/targets/apache13core/Makefile | |
| src/targets/apache13/Makefile | |
| src/targets/apache13/p3runConfigure | |
| src/targets/isapi/Makefile | |
| etc/Makefile | |
| etc/parser3.charsets/Makefile | |
| bin/Makefile | |
| bin/auto.p.dist) |