|
|
| version 1.35.2.1, 2002/06/26 12:27:32 | version 1.62, 2003/01/16 07:57:06 |
|---|---|
| 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.0004, nodefine) | AC_PREREQ(2.57) |
| 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 20 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 | |
| AC_PROG_CXX | |
| AC_PROG_CC | AC_PROG_CC |
| dnl most tests sould be compiled with C compiler [especially qsort test] | |
| AC_LANG_C AC_C_INLINE | AC_LANG_C AC_C_INLINE |
| AC_PROG_CXX | |
| AC_LANG_CPLUSPLUS | |
| dnl Arguments | dnl Arguments |
| AC_ARG_ENABLE(link-libstdcpp, [ --disable-link-libstdcpp to disable libstdc++ linkage, | AC_ARG_ENABLE(safe-mode, [ --disable-safe-mode to enable reading and executing |
| if you belive you do not need one], | files belonging to group+user other then effective], |
| [ | [ |
| LINK_LIBSTDCPP_FLAG=$enableval | SAFE_MODE=$enableval |
| if test "$enableval" = "no"; then | |
| AC_MSG_WARN(disabling libstdc++ linkage) | |
| fi | |
| ] | ] |
| ) | ) |
| AM_CONDITIONAL(DO_NOT_LINK_LIBSTDCPP, test "$LINK_LIBSTDCPP_FLAG" = "no") | if test "$SAFE_MODE" = "no"; then |
| AC_MSG_WARN(enabling reading of files belonging to group+user other then effective) | |
| AC_ARG_ENABLE(string-origins, [ --disable-string-origins to switch off string origin tracking], | else |
| [ | AC_DEFINE(PA_SAFE_MODE,,disabled reading of files belonging to group+user other then effective) |
| if test "$enableval" = "no"; then | |
| AC_MSG_WARN(disabling string origin tracking) | |
| AC_DEFINE(NO_STRING_ORIGIN,,no string origin tracking) | |
| fi | 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)], |
| Line 57 fi | Line 74 fi |
| ] | ] |
| ) | ) |
| AC_ARG_ENABLE(foreign-group-files, [ --disable-foreign-group-files to disable read and executing | AC_ARG_ENABLE(string-origins, [ --disable-string-origins to switch off string origin tracking], |
| 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 string origin tracking) |
| AC_DEFINE(NO_FOREIGN_GROUP_FILES,,disabled reading and executing files of non-process-effective-group) | AC_DEFINE(NO_STRING_ORIGIN,,no string origin tracking) |
| fi | 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 84 AC_DEFUN(PA_SUBSTCHARSET, [ | Line 102 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 96 PA_SUBSTCHARSET(windows-1257,windows1257 | Line 114 PA_SUBSTCHARSET(windows-1257,windows1257 |
| PA_SUBSTCHARSET(koi8-r,koi8r) | 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 | AC_ARG_WITH(mysql-client,[ --with-mysql-client=mysqlclientlib?withparams |
| MySQL client dynamic library to root config], | MySQL client dynamic library to root config], |
| mysql_client=$withval | mysql_client=$withval |
| , | , |
| AC_MSG_CHECKING(for mysql client) | AC_MSG_CHECKING(for mysql client) |
| for lib in \ | for lib in \ |
| /usr/local/lib/mysql/libmysqlclient.so \ | /usr/local/lib/mysql/libmysqlclient.$dll_extension \ |
| /usr/local/lib/libmysqlclient.so \ | /usr/local/lib/libmysqlclient.$dll_extension \ |
| /usr/lib/libmysqlclient.so; do | /usr/lib/libmysqlclient.$dll_extension; do |
| if test -f $lib; then mysql_client=$lib; fi | if test -f $lib; then mysql_client=$lib; fi |
| done | done |
| 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 124 AC_ARG_WITH(pgsql-client,[ --with-pgsql | Line 156 AC_ARG_WITH(pgsql-client,[ --with-pgsql |
| , | , |
| AC_MSG_CHECKING(for pgsql client) | AC_MSG_CHECKING(for pgsql client) |
| for lib in \ | for lib in \ |
| /usr/local/pgsql/lib/libpq.so \ | /usr/local/pgsql/lib/libpq.$dll_extension \ |
| /usr/local/lib/libpq.so \ | /usr/local/lib/libpq.$dll_extension \ |
| /usr/lib/libpq.so; do | /usr/lib/libpq.$dll_extension; do |
| if test -f $lib; then pgsql_client=$lib; fi | if test -f $lib; then pgsql_client=$lib; fi |
| done | done |
| 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 145 AC_ARG_WITH(oracle-client,[ --with-orac | Line 177 AC_ARG_WITH(oracle-client,[ --with-orac |
| oracle_client=$withval | oracle_client=$withval |
| , | , |
| AC_MSG_CHECKING(for oracle client) | AC_MSG_CHECKING(for oracle client) |
| lib=$ORACLE_HOME/lib/libclntsh.so | lib=$ORACLE_HOME/lib/libclntsh.$dll_extension |
| if test -f $lib; then oracle_client=$lib; fi | if test -f $lib; then oracle_client=$lib; fi |
| 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 165 AC_ARG_WITH(pathlink,[ --with-pathlink= | Line 197 AC_ARG_WITH(pathlink,[ --with-pathlink= |
| using linker key (-R, -rpath-link)], | using linker key (-R, -rpath-link)], |
| LD_PATHLINK=$withval | LD_PATHLINK=$withval |
| ) | ) |
| AC_ARG_WITH(link-stdcpp, [ --with-link-stdcpp=PATH to directory with libstdc++ | |
| --without-link-stdcpp to disable libstdc++ linkage, | |
| if you belive you do not need one], | |
| [ | |
| LIBSTDCPP_PATH=$withval | |
| if test "$LIBSTDCPP_PATH" = "no"; then | |
| AC_MSG_WARN(disabling libstdc++ linkage) | |
| else | |
| if test -z "$LD_PATHLINK"; then | |
| AC_MSG_ERROR(when using --with-link-stdcpp one must specify --with-pathlink) | |
| fi | |
| LIBS="$LIBS -Wl,$LD_PATHLINK -Wl,$LIBSTDCPP_PATH" | |
| fi | |
| ], | |
| #pseudo path, meaning still link libstdcpp. value needed to trick next _CONDITIONAL | |
| LIBSTDCPP_PATH=" " | |
| ) | |
| AM_CONDITIONAL(DO_NOT_LINK_LIBSTDCPP, test "$LIBSTDCPP_PATH" = "no") | |
| 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 319 AC_SUBST(APACHE13) | Line 375 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/lib/libltdl) | AC_LIBLTDL_CONVENIENCE(src/lib/ltdl) |
| 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/lib/libltdl) | AC_CONFIG_SUBDIRS(src/lib/ltdl) |
| dnl moved from src/lib/libltdl/configure.in | |
| 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 $LIBADD_DL" |
| LIBS="$LIBS_SAVE" | |
| fi | |
| dnl Checks for typedefs, structures, and compiler characteristics. | dnl Checks for typedefs, structures, and compiler characteristics. |
| Line 377 AC_CHECK_TYPE(off_t, long) | Line 398 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( |
| signal.h \ | |
| unistd.h \ | unistd.h \ |
| process.h \ | process.h \ |
| stddef.h \ | stddef.h \ |
| Line 400 string.h \ | Line 422 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 \ |
| sys/select.h \ | sys/select.h \ |
| sys/resource.h | sys/resource.h \ |
| winsock.h \ | |
| sys/socket.h \ | |
| netinet/in.h \ | |
| arpa/inet.h \ | |
| netdb.h | |
| ) | ) |
| dnl Checks for libraries. | dnl Checks for libraries. |
| Line 447 flock \ | Line 473 flock \ |
| _locking \ | _locking \ |
| fcntl \ | fcntl \ |
| lockf \ | lockf \ |
| ftruncate \ | |
| getrusage \ | getrusage \ |
| crypt | gettimeofday \ |
| crypt \ | |
| sigsetjmp siglongjmp | |
| ) | ) |
| dnl We require qsort(3) and select(2). | dnl We require qsort(3) and select(2). |
| Line 456 dnl We require qsort(3) and select(2). | Line 485 dnl We require qsort(3) and select(2). |
| 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.])) | 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 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 | |
| AC_MSG_CHECKING(for timezone variable) | |
| AC_TRY_COMPILE([#include <time.h>], | |
| [ | |
| 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 <time.h>], | |
| [ | |
| 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 <time.h>], | |
| [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 <time.h>], | |
| [struct tm tm; | |
| tm.tm_tzadj=0; | |
| ], | |
| AC_DEFINE(HAVE_TM_TZADJ) | |
| AC_MSG_RESULT(yes), | |
| AC_MSG_RESULT(no)) | |
| dnl these tests should go in C++ language { | |
| AC_LANG_CPLUSPLUS | |
| AC_CHECK_HEADERS(new) | |
| 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) |
| Line 485 std::set_new_handler(failed_new); | Line 560 std::set_new_handler(failed_new); |
| AC_MSG_RESULT(no) | AC_MSG_RESULT(no) |
| ) | ) |
| AC_LANG_C | |
| dnl } these tests sould go in C++ language, restoring default | |
| dnl AC_ARG_ENABLE(db, [ --enable-db to enable 'hashfile' parser class], | dnl AC_ARG_ENABLE(db, [ --enable-db to enable 'hashfile' parser class], |
| dnl [ | dnl [ |
| Line 542 sqldriversdir=$e_libdir | Line 620 sqldriversdir=$e_libdir |
| AC_SUBST(sqldriversdir) | AC_SUBST(sqldriversdir) |
| dnl Output makefiles | 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. ]) | |
| AH_TEMPLATE([size_t], | |
| [Define to `unsigned int' if <sys/types.h> does not define.]) | |
| AH_TEMPLATE([ssize_t], | |
| [Define to `int' if <sys/types.h> does not define.]) | |
| AH_TEMPLATE([HAVE_DAYLIGHT], | |
| [Define if you have daylight external variable in <time.h>]) | |
| AH_TEMPLATE([HAVE_TIMEZONE], | |
| [Define if you have timezone external variable in <time.h>]) | |
| AH_TEMPLATE([HAVE_TM_GMTOFF], | |
| [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>]) | |
| 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/libltdl/Makefile src/lib/pcre/Makefile src/lib/md5/Makefile src/lib/patches/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/Makefile etc/parser3.charsets/Makefile bin/Makefile bin/auto.p.dist) | 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) |