|
|
| version 1.17, 2002/03/25 10:14:13 | version 1.45, 2002/09/19 10:28:12 |
|---|---|
| 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.0b, nodefine) | AM_INIT_AUTOMAKE(parser, 3.0.HEAD, nodefine) |
| dnl expand srcdir | dnl expand srcdir |
| P3S=`cd $srcdir/src ; pwd` | P3S=`cd $srcdir/src ; pwd` |
| Line 18 else | Line 18 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) | |
| dnl Checks for programs. | |
| AC_PROG_INSTALL | AC_PROG_INSTALL |
| AC_PROG_MAKE_SET | |
| AC_PROG_RANLIB | |
| AC_PROG_AWK | |
| AC_PROG_YACC | |
| if test "$YACC" != "bison -y"; then | |
| AC_MSG_WARN(to regenerate Parser grammar YOU WOULD NEED BISON) | |
| else | |
| AC_MSG_CHECKING(bison version) | |
| oldIFS=$IFS; IFS=. | |
| set `bison -V | sed -e 's/^GNU Bison version //'` | |
| IFS=$oldIFS | |
| 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).) | |
| fi | |
| AC_MSG_RESULT($1.$2 (ok)) | |
| fi | |
| dnl the order of C, C++ is important | |
| AC_PROG_CC | AC_PROG_CC |
| AC_LANG_C AC_C_INLINE | AC_LANG_C AC_C_INLINE |
| AC_PROG_CXX | AC_PROG_CXX |
| AC_LANG_CPLUSPLUS | AC_LANG_CPLUSPLUS |
| dnl Arguments | dnl Arguments |
| AC_ARG_ENABLE(link-libstdcpp, [ --disable-link-libstdcpp to disable libstdc++ linkage, | AC_ARG_ENABLE(link-libstdcpp, [ --disable-link-libstdcpp to disable libstdc++ linkage, |
| Line 57 fi | Line 80 fi |
| ] | ] |
| ) | ) |
| AC_ARG_ENABLE(foreign-group-files, [ --disable-foreign-group-files to disable reads | AC_ARG_ENABLE(foreign-group-files, [ --disable-foreign-group-files to disable read and executing |
| of files belonging to group other then effective], | files belonging to group other then effective], |
| [ | [ |
| if test "$enableval" = "no"; then | if test "$enableval" = "no"; then |
| AC_MSG_WARN(disabling reading of files belonging to group other then effective) | AC_MSG_WARN(disabling reading of files belonging to group other then effective) |
| AC_DEFINE(NO_FOREIGN_GROUP_FILES,,disabled reading of files of non-process-effective-group) | AC_DEFINE(NO_FOREIGN_GROUP_FILES,,disabled reading and executing files of non-process-effective-group) |
| fi | 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_WARN(could not guess mysql client) | |
| 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], | |
| mysql_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_WARN(could not guess pgsql client) | |
| else | |
| AC_MSG_RESULT($pgsql_client) | |
| fi | |
| ) | |
| AC_SUBST(pgsql_client) | |
| 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_WARN(could not guess oracle client) | |
| else | |
| oracle_client="$oracle_client?ORACLE_HOME=$ORACLE_HOME&ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data" | |
| AC_MSG_RESULT($oracle_client) | |
| fi | |
| ) | |
| AC_SUBST(oracle_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(sjlj-exceptions,[ --with-sjlj-exceptions enable simple 'throw' from dynamic library], | |
| AC_DEFINE(PA_WITH_SJLJ_EXCEPTIONS,,one can throw from dynamic library) | |
| ) | |
| 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 |
| Line 89 AC_ARG_WITH(shared-xml,[ --with-shared- | Line 223 AC_ARG_WITH(shared-xml,[ --with-shared- |
| 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) | 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/\..*//'` | LIBGDOME_SO_NAME=`cd $XMLLIB ; ls libgdome.?? libgdome.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` |
| Line 111 AC_ARG_WITH(shared-xml,[ --with-shared- | Line 245 AC_ARG_WITH(shared-xml,[ --with-shared- |
| 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 |
| Line 123 AC_ARG_WITH(static-xml,[ --with-static- | Line 256 AC_ARG_WITH(static-xml,[ --with-static- |
| 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) | AC_DEFINE(XML,,xml-abled parser (uses static library)) |
| if test -z "$GLIB_CONFIG"; then | if test -z "$GLIB_CONFIG"; then |
| GLIB_CONFIG=$XMLBIN/glib-config | GLIB_CONFIG=$XMLBIN/glib-config |
| Line 144 changequote([, ])dnl | Line 277 changequote([, ])dnl |
| AC_SUBST(XML_INCLUDES) | AC_SUBST(XML_INCLUDES) |
| AC_SUBST(XML_LIBS) | AC_SUBST(XML_LIBS) |
| 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=$MIMEBIN/glib-config | |
| if test \! -x $GLIB_CONFIG; then | |
| GLIB_CONFIG=glib-config | |
| 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=$MIMEBIN/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 | |
| 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_SUBST(MIME_INCLUDES) | |
| AC_SUBST(MIME_LIBS) | |
| 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)], | |
| AC_DEFINE_UNQUOTED(PA_FORCED_SENDMAIL,"$withval",parser uses this command instead of user-defined sendmail commands) | |
| ) | |
| AC_ARG_WITH(apache13,[ --with-apache13=D D is the Apache13 source distribution directory | AC_ARG_WITH(apache13,[ --with-apache13=D D is the Apache13 source distribution directory |
| builds library for apache_module using that dir | builds library for apache_module using that dir |
| (do not add /src)], | (do not add /src)], |
| Line 156 AC_SUBST(APACHE13) | Line 359 AC_SUBST(APACHE13) |
| AM_CONDITIONAL(COMPILE_APACHE13_MODULE, test -n "$APACHE13") | AM_CONDITIONAL(COMPILE_APACHE13_MODULE, test -n "$APACHE13") |
| dnl AC_CANONICAL_SYSTEM | |
| AC_CANONICAL_HOST | |
| AC_SUBST(host_os) | |
| dnl Checks for programs. | |
| AC_PROG_INSTALL | |
| AC_PROG_MAKE_SET | |
| AC_PROG_RANLIB | |
| AC_PROG_AWK | |
| AC_PROG_YACC | |
| if test "$YACC" != "bison -y"; then | |
| AC_MSG_WARN(to regenerate Parser grammar YOU WOULD NEED BISON) | |
| else | |
| AC_MSG_CHECKING(bison version) | |
| oldIFS=$IFS; IFS=. | |
| set `bison -V | sed -e 's/^GNU Bison version //'` | |
| IFS=$oldIFS | |
| 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).) | |
| fi | |
| AC_MSG_RESULT($1.$2 (ok)) | |
| fi | |
| dnl Enable building of the convenience library | dnl Enable building of the convenience library |
| dnl and set LIBLTDL accordingly | dnl and set LIBLTDL accordingly |
| AC_LIBLTDL_CONVENIENCE(src/libltdl) | AC_LIBLTDL_CONVENIENCE(src/lib/libltdl) |
| dnl Substitute INCLTDL and LIBLTDL in the Makefiles | dnl Substitute INCLTDL and LIBLTDL in the Makefiles |
| AC_SUBST(INCLTDL) | AC_SUBST(INCLTDL) |
| AC_SUBST(LIBLTDL) | AC_SUBST(LIBLTDL) |
| dnl Configure libltdl | dnl Configure libltdl |
| AC_CONFIG_SUBDIRS(src/libltdl) | AC_CONFIG_SUBDIRS(src/lib/libltdl) |
| dnl moved from src/libltdl/configure.in | dnl moved from src/lib/libltdl/configure.in |
| LIBADD_DL= | LIBADD_DL= |
| AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL, 1) LIBADD_DL="-ldl"], | 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(dlopen, [AC_DEFINE(HAVE_LIBDL, 1)])]) |
| Line 209 fi | Line 388 fi |
| dnl Checks for typedefs, structures, and compiler characteristics. | dnl Checks for typedefs, structures, and compiler characteristics. |
| AC_TYPE_SIZE_T | AC_TYPE_SIZE_T |
| dnl gmime | |
| AC_CHECK_TYPE(off_t, long) | |
| AC_CHECK_TYPE(ssize_t, int) | |
| dnl Checks for header files. | dnl Checks for header files. |
| Line 226 stdio.h \ | Line 409 stdio.h \ |
| errno.h \ | errno.h \ |
| ctype.h \ | ctype.h \ |
| math.h \ | math.h \ |
| crypt.h \ | |
| time.h sys/time.h \ | time.h sys/time.h \ |
| stdlib.h \ | stdlib.h \ |
| string.h \ | string.h \ |
| Line 237 sys/file.h \ | Line 421 sys/file.h \ |
| sys/locking.h \ | sys/locking.h \ |
| sys/types.h \ | sys/types.h \ |
| sys/select.h \ | sys/select.h \ |
| sys/resource.h | sys/resource.h \ |
| winsock.h | |
| ) | ) |
| dnl Checks for libraries. | dnl Checks for libraries. |
| Line 259 case "$host" in | Line 444 case "$host" in |
| 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 | |
| *-hpux*) | |
| AC_CHECK_LIB(nsl, main) | |
| ;; | |
| esac | esac |
| AC_CHECK_LIB(m, sin) | AC_CHECK_LIB(m, sin) |
| AC_CHECK_LIB(crypt, crypt) | |
| dnl Checks for functions. | dnl Checks for functions. |
| AC_CHECK_FUNCS( | AC_CHECK_FUNCS( |
| Line 273 flock \ | Line 464 flock \ |
| _locking \ | _locking \ |
| fcntl \ | fcntl \ |
| lockf \ | lockf \ |
| getrusage | getrusage \ |
| crypt | |
| ) | ) |
| dnl We require qsort(3) and select(2). | dnl We require qsort(3) and select(2). |
| Line 283 AC_CHECK_FUNCS(select, , AC_MSG_ERROR([N | Line 475 AC_CHECK_FUNCS(select, , AC_MSG_ERROR([N |
| AC_MSG_CHECKING(whether compiler supports pragma pack) | AC_MSG_CHECKING(whether compiler supports pragma pack) |
| AC_TRY_COMPILE( | AC_TRY_COMPILE( |
| , | |
| #pragma pack(1) | #pragma pack(1) |
| struct must_be_1_byte { | struct _1_byte { |
| char c; | char c; |
| }; | }; |
| #pragma pack() | #pragma pack() |
| if(sizeof(must_be_1_byte)!=1) | ,,[ |
| return 1; | |
| ,[ | |
| AC_MSG_RESULT(yes) | AC_MSG_RESULT(yes) |
| AC_DEFINE(HAVE_PRAGMA_PACK,,compiler supports pragma pack) | AC_DEFINE(HAVE_PRAGMA_PACK,,compiler supports pragma pack) |
| ], | ], |
| Line 349 test "x$e_prefix" = xNONE && e_prefix=$a | Line 538 test "x$e_prefix" = xNONE && e_prefix=$a |
| e_sysconfdir=$sysconfdir | e_sysconfdir=$sysconfdir |
| test "$e_sysconfdir" = "\${prefix}/etc" && e_sysconfdir="${e_prefix}/etc" | test "$e_sysconfdir" = "\${prefix}/etc" && e_sysconfdir="${e_prefix}/etc" |
| dnl this is used in targets/cgi/parser3.C to load root config | |
| rootconfigdir=$e_sysconfdir | |
| AC_SUBST(rootconfigdir) | |
| dnl these are used to fill in etc/parser3.conf | dnl these are used to fill in etc/parser3.conf |
| charsetsdir=$e_sysconfdir/parser3.charsets | charsetsdir=$e_sysconfdir/parser3.charsets |
| Line 378 AC_SUBST(sqldriversdir) | Line 562 AC_SUBST(sqldriversdir) |
| dnl Output makefiles | 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/libltdl/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/patches/Makefile src/pcre/Makefile src/targets/Makefile src/targets/cgi/pa_config_paths.h src/targets/cgi/Makefile src/targets/apache13/Makefile src/targets/apache13/p3runConfigure src/targets/isapi/Makefile etc/parser3.charsets/Makefile etc/parser3.conf etc/Makefile) | 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/libltdl/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) |