|
|
| version 1.4, 2002/02/05 14:40:45 | version 1.187, 2013/07/21 14:06:15 |
|---|---|
| Line 1 | Line 1 |
| dnl Process this file with autoconf to produce a configure script. | dnl Autoconf initialisation |
| AC_INIT(README) | AC_PREREQ(2.59) |
| AM_INIT_AUTOMAKE(parser, 3.0b, nodefine) | AC_INIT(parser, 3.4.3b) |
| AC_CONFIG_SRCDIR(README) | |
| dnl not perfect, but would do | |
| P3S=`pwd` | dnl Automake Initialisation |
| AM_INIT_AUTOMAKE | |
| dnl Expand srcdir | |
| P3S=`cd $srcdir/src ; pwd` | |
| AC_SUBST(P3S) | AC_SUBST(P3S) |
| PARSER_VERSION=$VERSION | |
| echo "/* automatically generated by configure */" > src/include/pa_version.h.new | dnl Parser version update |
| echo "/* edit configure.in to change version number */" >> src/include/pa_version.h.new | AC_CANONICAL_HOST |
| echo "#define PARSER_VERSION \"$PARSER_VERSION\"" >> src/include/pa_version.h.new | AC_DEFINE_UNQUOTED(PARSER_VERSION,"$VERSION (compiled on $host)",parser version) |
| cmp src/include/pa_version.h.new src/include/pa_version.h >/dev/null 2>&1 | |
| if test $? -ne 0 ; then | AC_SUBST(host_os) |
| rm -f src/include/pa_version.h && mv src/include/pa_version.h.new src/include/pa_version.h && \ | case $host_os in |
| echo 'Updated src/include/pa_version.h' | *cygwin* ) AC_DEFINE(CYGWIN,,using cygwin building environment);; |
| esac | |
| dnl Checks for programs | |
| AC_PROG_INSTALL | |
| AC_PROG_AWK | |
| AC_PROG_YACC | |
| if test "$YACC" != "bison -y"; then | |
| AC_MSG_WARN(to regenerate Parser grammar YOU WOULD NEED BISON) | |
| else | else |
| rm -f src/include/pa_version.h.new | AC_MSG_CHECKING(bison version) |
| oldIFS=$IFS; IFS=. | |
| set `bison -V | sed -e 's/^GNU Bison version //' -e 's/^bison (GNU Bison) //' -e 's/$/./'` | |
| 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 | fi |
| AC_PROG_INSTALL | |
| 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 | |
| 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 Arguments | |
| AC_ARG_ENABLE(string-origins, [ --disable-string-origins to switch off string origin tracking], | 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 | |
| AC_DEFINE(PA_SAFE_MODE,,disabled reading of files belonging to group+user other then effective) | |
| fi | |
| 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 | if test "$enableval" = "no"; then |
| AC_DEFINE(NO_STRING_ORIGIN,,no string origin tracking) | AC_MSG_WARN(disabling file execs) |
| AC_DEFINE(NO_PA_EXECS,,pa_exec disabled) | |
| fi | fi |
| ] | ] |
| ) | ) |
| AC_ARG_WITH(apache13,[ --with-apache13[=D] D is the Apache13 source distribution directory | |
| builds library for apache_module using that dir | dnl String stream argument |
| (do not add /src)], | AC_ARG_ENABLE(stringstream, [ --disable-stringstream to disable stringstream usage. |
| APACHE13=$withval | when disabled table.save use more memory but it's safer on freebsd 4.x], |
| if test \! -f "$APACHE13/src/include/httpd.h"; then | [ |
| AC_MSG_ERROR($APACHE13 does not seem to be valid Apache13 source distribution directory) | if test "$enableval" = "no"; then |
| fi | AC_MSG_WARN(disabling stringstream usage) |
| AC_DEFINE(NO_STRINGSTREAM,,stringstream disabled) | |
| fi | |
| ] | |
| ) | ) |
| AC_SUBST(APACHE13) | |
| AM_CONDITIONAL(COMPILE_APACHE13_MODULE, test -n "$APACHE13") | |
| AC_ARG_WITH(pathlink,[ --with-pathlink[=LKEY] put dynamic libraries paths to binary | dnl GC argument |
| using linker key (-R, -rpath-link)], | AC_ARG_WITH(gc,[ --with-gc[=D] D is the directory where |
| LD_PATHLINK=$withval | Boehm garbage collecting library is installed],[ |
| ) | |
| GC=$withval | |
| GC_LIBS="$GC/libgc.la" | |
| if test -f $GC_LIBS; then | |
| GC_OK="yes" | |
| else | |
| GC_LIBS="-L$GC -lgc" | |
| fi | |
| if test "$GC" = "yes"; then | |
| GC="" | |
| GC_LIBS="-lgc" | |
| AC_MSG_WARN([--with-gc value was not specified, hoping linker would find it]) | |
| fi | |
| ],[ | |
| GC_LIBS="-lgc" | |
| AC_MSG_WARN([--with-gc was not 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_ARG_WITH(gnome-xml,[ --with-gnome-xml[=D] D is the directory where | AC_SUBST(GC_LIBS) |
| dnl PCRE argument | |
| AC_ARG_WITH(pcre,[ --with-pcre=D D is the directory where | |
| PCRE library is installed],[ | |
| PCRE=$withval | |
| PCRE_INCLUDES="-I$PCRE/include" | |
| PCRE_LIBS="$PCRE/lib/libpcre.la" | |
| if test -f $PCRE/include/pcre.h -a -f $PCRE_LIBS; then | |
| PCRE_OK="yes" | |
| else | |
| PCRE_LIBS="-L$PCRE -lpcre" | |
| fi | |
| 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 <pcre.h> ],[ 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) | |
| dnl XML/XSLT argument | |
| AC_ARG_WITH(xml,[ --with-xml=D D is the directory where | |
| Gnome XML libraries are installed],[ | Gnome XML libraries are installed],[ |
| GNOME_XML=$withval | |
| XMLBIN_DIR="$GNOME_XML/bin" | XML=$withval |
| XMLINC_DIR="$GNOME_XML/include" | XML_LIBS="-lxml2 -lxslt -lexslt" |
| XMLLIB_DIR="$GNOME_XML/lib" | |
| if test -z "$XML" -o "$XML" = "yes"; then | |
| if test \! -d $XMLBIN_DIR -o \! -d $XMLINC_DIR -o \! -d $XMLLIB_DIR; then | XML="" |
| AC_MSG_ERROR($GNOME_XML does not seem to be valid Gnome installation directory) | XML_INCLUDES="-I/usr/include/libxml2" |
| fi | AC_MSG_WARN([--with-xml value was not specified, hoping linker would find it]) |
| else | |
| AC_DEFINE(XML,,xml-abled parser) | XML_INCLUDES="-I$XML/include -I$XML/include/libxml2" |
| LIBXML2_SO_NAME=`cd $XMLLIB_DIR ; ls libxml2.?? libxml2.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` | if test -f $XML/include/libxslt/xslt.h -a -f $XML/lib/libxml2.la \ |
| if test -z "$LIBXML2_SO_NAME"; then | -a -f $XML/lib/libxslt.la -a -f $XML/lib/libexslt.la; then |
| AC_MSG_ERROR($LIBXML_DIR does not containt XML2 dynamic library) | XML_LIBS="$XML/lib/libxml2.la $XML/lib/libxslt.la $XML/lib/libexslt.la" |
| fi | XML_OK="yes" |
| LIBGDOME_SO_NAME=`cd $XMLLIB_DIR ; ls libgdome.?? libgdome.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` | fi |
| if test -z "$LIBGDOME_SO_NAME"; then | fi |
| AC_MSG_ERROR($LIBXML_DIR does not containt GDOME dynamic library) | |
| fi | if test -z "$XML_OK"; then |
| LIBXSLT_SO_NAME=`cd $XMLLIB_DIR ; ls libxslt.?? libxslt.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` | AC_MSG_CHECKING(for xml) |
| if test -z "$LIBXSLT_SO_NAME"; then | SAVE_LIBS=$LIBS |
| AC_MSG_ERROR($LIBXML_DIR does not containt XSLT dynamic library) | LIBS="$LIBS $XML_LIBS $XML_INCLUDES" |
| fi | AC_TRY_LINK([ #include <libxslt/xslt.h> ],[ const char *v=xsltEngineVersion; ], |
| LIBEXSLT_SO_NAME=`cd $XMLLIB_DIR ; ls libexslt.?? libexslt.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'` | AC_MSG_RESULT(yes) |
| if test -z "$LIBEXSLT_SO_NAME"; then | , |
| AC_MSG_ERROR($LIBXML_DIR does not containt EXSLT dynamic library) | AC_MSG_RESULT(no) |
| fi | if test -z "$XML"; then |
| AC_MSG_ERROR(please specify path to Gnome XML libraries: --with-xml=D) | |
| GLIB_CONFIG=$XMLBIN_DIR/glib-config | else |
| if test \! -x $GLIB_CONFIG; then | AC_MSG_ERROR($XML does not seem to be valid Gnome XML installation directory) |
| GLIB_CONFIG=glib-config | fi |
| fi | ) |
| GLIB_CFLAGS=`$GLIB_CONFIG --cflags` | LIBS=$SAVE_LIBS |
| GLIB_LIBS=`$GLIB_CONFIG --libs` | fi |
| AC_DEFINE(XML,,xml-abled parser) | |
| XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC_DIR -I$XMLINC_DIR/libgdome -I$XMLINC_DIR/libxml2" | |
| XML_LIBS="-L$XMLLIB_DIR -lglib -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_DIR" | |
| fi | |
| ]) | ]) |
| AC_SUBST(XML_INCLUDES) | AC_SUBST(XML_INCLUDES) |
| AC_SUBST(XML_LIBS) | AC_SUBST(XML_LIBS) |
| AC_ARG_WITH(db2,[ --with-db2[=D] D is the DB2 installation directory | |
| DO NOT FORGET TO COMPILE DB2 WITH EXCEPTIONS SUPPORT!], | dnl Mail receive argument |
| DB2_INST=$withval | AC_ARG_WITH(mailreceive,[ --with-mailreceive=D is the directory where |
| if test \! -f "$DB2_INST/include/db.h"; then | Gnome MIME library is installed],[ |
| AC_MSG_ERROR($DB2_INST does not seem to be valid DB2 installation directory) | MIME=$withval |
| fi | GLIB="glib-2.0" |
| if test \! -f "$DB2_INST/lib/libdb.a"; then | GMIME="gmime-2.4" |
| AC_MSG_ERROR($DB2_INST does not seem to be valid DB2 installation directory) | |
| fi | if test -z "$MIME" -o "$MIME" = "yes"; then |
| MIME="" | |
| AC_MSG_CHECKING(version of LIBDB) | MIME_INCLUDES=`pkg-config --cflags $GMIME 2>/dev/null` |
| AC_TRY_COMPILE( | MIME_LIBS=`pkg-config --libs $GMIME 2>/dev/null` |
| #include <$DB2_INST/include/db.h> | AC_MSG_WARN([--with-mailreceive value was not specified, hoping linker would find Gnome MIME library]) |
| , | else |
| #ifdef DB_VERSION_MAJOR | MIME_INCLUDES="-I$MIME/include/$GMIME" |
| # if DB_VERSION_MAJOR!=2 | MIME_LIBS="-l$GMIME" |
| # error Parser needs LIBDB of 2.x.x version to compile | if test -f $MIME/include/$GMIME/gmime/gmime.h -a -f $MIME/lib/lib$GMIME.la; then |
| # endif | MIME_LIBS="$MIME/lib/lib$GMIME.la" |
| #else | if test -f $MIME/lib/lib$GLIB.la; then |
| # error DB_VERSION_MAJOR not defined | MIME_INCLUDES="$MIME_INCLUDES -I$MIME/include/$GLIB -I$MIME/lib/$GLIB/include" |
| #endif | else |
| ,[ | GLIB_INCLUDES=`pkg-config --cflags $GLIB 2>/dev/null` |
| AC_MSG_RESULT(ok) | MIME_INCLUDES="$MIME_INCLUDES $GLIB_INCLUDES" |
| DB2=1 | fi |
| AC_DEFINE(DB2,,DB2-abled parser) | MIME_OK="yes" |
| DB2_INCLUDES="-I$DB2_INST/include" | fi |
| DB2_LIBS="-L$DB2_INST/lib -ldb" | fi |
| ], | |
| AC_MSG_ERROR(bad, we need 2.x.x version) | if test -z "$MIME_OK"; then |
| ) | AC_MSG_CHECKING(for mime) |
| SAVE_LIBS=$LIBS | |
| LIBS="$LIBS $MIME_LIBS $MIME_INCLUDES" | |
| AC_TRY_LINK([ #include <gmime/gmime.h> ],[ 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 | |
| ) | |
| LIBS=$SAVE_LIBS | |
| fi | |
| 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)], | |
| AC_DEFINE_UNQUOTED(PA_FORCED_SENDMAIL,"$withval",parser uses this command instead of user-defined sendmail commands) | |
| ) | ) |
| AC_SUBST(DB2_INCLUDES) | |
| AC_SUBST(DB2_LIBS) | |
| dnl AC_CANONICAL_SYSTEM | |
| AC_CANONICAL_HOST | |
| AC_SUBST(host_os) | |
| dnl Checks for programs. | dnl Apache module argument |
| AC_PROG_INSTALL | AC_ARG_WITH(apache,[ --with-apache=FILE FILE is the full path for APXS |
| AC_PROG_MAKE_SET | builds apache DSO module using apxs],[ |
| AC_PROG_RANLIB | APXS=$withval |
| AC_PROG_AWK | |
| 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 | |
| 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") | |
| 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 | LT_CONFIG_LTDL_DIR(src/lib/ltdl) |
| AC_LIBLTDL_CONVENIENCE(src/libltdl) | LT_INIT(dlopen win32-dll no-pic) |
| dnl Substitute INCLTDL and LIBLTDL in the Makefiles | LTDL_INIT |
| AC_SUBST(INCLTDL) | |
| AC_SUBST(LIBLTDL) | |
| AC_SUBST(LIBADD_DL) | |
| dnl Configure libtool | |
| AM_PROG_LIBTOOL | |
| AC_SUBST(LIBTOOL_DEPS) | |
| dnl Configure libltdl | |
| AC_CONFIG_SUBDIRS(src/libltdl) | |
| 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 |
| AC_TYPE_SSIZE_T | |
| AC_TYPE_UINT8_T | |
| AC_TYPE_UINT32_T | |
| AC_TYPE_UINT64_T | |
| dnl Checks for header files. | |
| AC_CHECK_HEADERS( | dnl Checks for C header files |
| unistd.h \ | AC_HEADER_STDC |
| process.h \ | AC_HEADER_TIME |
| stddef.h \ | |
| stdarg.h \ | |
| fcntl.h \ | |
| sys/stat.h \ | |
| io.h \ | |
| stdio.h \ | |
| errno.h \ | |
| ctype.h \ | |
| math.h \ | |
| time.h sys/time.h \ | |
| stdlib.h \ | |
| string.h \ | |
| direct.h \ | |
| setjmp.h \ | |
| memory.h \ | |
| new \ | |
| sys/file.h \ | |
| sys/locking.h \ | |
| sys/types.h \ | |
| sys/select.h | |
| ) | |
| dnl Checks for libraries. | 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 fcntl.h io.h sys/file.h sys/locking.h sys/select.h sys/resource.h) | |
| AC_CHECK_HEADERS(winsock.h sys/socket.h netinet/in.h arpa/inet.h netdb.h) | |
| dnl Some systems (Solaris 2.x) require libnsl (Network Services Library) | |
| dnl Checks for libraries | |
| case "$host" in | case "$host" in |
| *-freebsd4*) | |
| AC_DEFINE(FREEBSD4,,FreeBSD4X target platform) | |
| ;; | |
| *-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) |
| ;; | ;; |
| esac | esac |
| AC_CHECK_LIB(m, sin) | AC_CHECK_LIB(m, sin) |
| AC_CHECK_LIB(crypt, crypt) | |
| dnl Checks for functions. | |
| AC_CHECK_FUNCS( | dnl Checks for functions |
| trunc \ | AC_CHECK_FUNCS(flock _locking fcntl lockf ftruncate fchmod) |
| round \ | AC_CHECK_FUNCS(getrusage gettimeofday crypt sigsetjmp siglongjmp unsetenv) |
| sign \ | |
| flock \ | |
| _locking \ | |
| lockf \ | |
| getrusage | |
| ) | |
| dnl We require qsort(3) and select(2). | |
| AC_CHECK_FUNCS(qsort, , AC_MSG_ERROR([No qsort library function.])) | dnl on some linux[seen on 2.4] it's a macro |
| AC_CHECK_FUNCS(select, , AC_MSG_ERROR([No select library function.])) | PA_CHECK_SIGSETJMP |
| AC_MSG_CHECKING(whether compiler supports pragma pack) | |
| AC_TRY_COMPILE( | |
| , | |
| #pragma pack(1) | |
| struct must_be_1_byte { | |
| char c; | |
| }; | |
| #pragma pack() | |
| if(sizeof(must_be_1_byte)!=1) | |
| return 1; | |
| ,[ | |
| 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 if test "$enableval" != "no"; then | |
| dnl AC_CHECK_HEADERS(db.h) | |
| dnl AC_CHECK_LIB(db, __db_open) | |
| dnl fi | |
| dnl ] | |
| dnl ) | |
| dnl Apache libs | |
| APACHE_LIBS=$LIBS | |
| AC_CHECK_LIB(stdc++, __builtin_new, | |
| APACHE_LIBS="$APACHE_LIBS -lstdc++" | |
| ) | |
| AC_SUBST(APACHE_LIBS) | |
| dnl see comment above | |
| AC_LANG_PUSH(C++) | |
| PA_CHECK_MATH_FUNCS_ONE_ARG(trunc round sign) | |
| AC_LANG_POP | |
| dnl install directories | |
| # expand apostrophed | dnl We require qsort(3) |
| e_sysconfdir=$sysconfdir | AC_CHECK_FUNCS(qsort, , AC_MSG_ERROR([No qsort library function.])) |
| test "$e_sysconfdir" = "\${prefix}/etc" && e_sysconfdir="${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 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 or it can be tm.tm_tzadj | |
| charsetsdir=$e_sysconfdir/parser3.charsets | AC_MSG_CHECKING(for timezone variable) |
| AC_SUBST(charsetsdir) | AC_TRY_COMPILE([#include <time.h>], [time_t test=timezone;], AC_DEFINE(HAVE_TIMEZONE) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) |
| # expand apostrophed | AC_MSG_CHECKING(for daylight variable) |
| e_libdir=$libdir | AC_TRY_COMPILE([#include <time.h>], [int test=daylight;], AC_DEFINE(HAVE_DAYLIGHT) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) |
| if test "$e_libdir" = "\${exec_prefix}/lib"; then | |
| # Let make expand exec_prefix. | AC_MSG_CHECKING(for tm_gmtoff in struct tm) |
| e_exec_prefix=$exec_prefix | 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)) |
| test "x$e_exec_prefix" = xNONE && e_exec_prefix=$prefix | |
| # expand apostrophed | AC_MSG_CHECKING(for tm_tzadj in struct tm) |
| test "$e_libdir" = "\${exec_prefix}/lib" && e_libdir="${e_exec_prefix}/lib" | 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)) |
| fi | |
| sqldriversdir=$e_libdir | |
| AC_SUBST(sqldriversdir) | |
| dnl Output header and makefiles | |
| dnl Output makefiles | 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/libltdl/Makefile src/types/Makefile src/classes/Makefile src/classes/gd/Makefile src/main/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 etc/parser3.charsets/Makefile etc/parser3.conf etc/Makefile) | |
| 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/pcre/Makefile | |
| src/lib/cord/Makefile | |
| src/lib/cord/include/Makefile | |
| src/lib/cord/include/private/Makefile | |
| src/lib/md5/Makefile | |
| src/lib/sdbm/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/apache/Makefile | |
| src/targets/isapi/Makefile | |
| etc/Makefile | |
| etc/parser3.charsets/Makefile | |
| bin/Makefile | |
| bin/auto.p.dist) |