--- parser3/configure.ac 2017/05/28 20:47:38 1.21 +++ parser3/configure.ac 2024/11/04 18:20:07 1.60 @@ -1,6 +1,6 @@ -dnl Autoconf initialisation +dnl Autoconf initialization AC_PREREQ(2.59) -AC_INIT(parser, 3.4.6b) +AC_INIT(parser, 3.4.7b) AC_CONFIG_SRCDIR(README) @@ -75,8 +75,8 @@ AC_ARG_WITH(coverage, [ --with-coverage AC_ARG_WITH(profiler, [ --with-profiler to enable gprof code profiler support], AC_MSG_WARN(enabling gprof support) - CFLAGS="$CFLAGS -O0 -pg" - CXXFLAGS="$CXXFLAGS -O0 -pg" + CFLAGS="$CFLAGS -O0 -pg -g" + CXXFLAGS="$CXXFLAGS -O0 -pg -g" ) AC_ARG_WITH(assertions, [ --with-assertions to enable assertions], @@ -85,11 +85,16 @@ AC_ARG_WITH(assertions, [ --with-assert AC_DEFINE(NDEBUG,,assertions disabled) ) -AC_ARG_WITH(sjlj-exceptions,[ --with-sjlj-exceptions enable simple 'throw' from dynamic library], +AC_ARG_WITH(sjlj-exceptions, [ --with-sjlj-exceptions to enable simple 'throw' from dynamic library], AC_DEFINE(PA_WITH_SJLJ_EXCEPTIONS,,one can throw from dynamic library) ) +AC_ARG_WITH(system-cfg, [ --with-system-cfg=FILE to specify system-wide auto.p], + AC_DEFINE_UNQUOTED(SYSTEM_CONFIG_FILE,"$withval",system-wide auto.p) +) + + 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], @@ -118,8 +123,8 @@ 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], +AC_ARG_ENABLE(stringstream, [ --disable-stringstream to disable stringstream usage. + when disabled table.save uses more memory, but more compilers are supported], [ if test "$enableval" = "no"; then AC_MSG_WARN(disabling stringstream usage) @@ -130,7 +135,7 @@ fi dnl GC argument -AC_ARG_WITH(gc,[ --with-gc[=D] D is the directory where +AC_ARG_WITH(gc,[ --with-gc[=DIR] DIR is the directory where Boehm garbage collecting library is installed],[ GC=$withval @@ -161,7 +166,7 @@ if test -z "$GC_OK"; then , AC_MSG_RESULT(no) if test -z "$GC"; then - AC_MSG_ERROR(please specify path to libgc: --with-gc=D) + AC_MSG_ERROR(please specify path to libgc: --with-gc=DIR) else AC_MSG_ERROR($GC does not seem to be valid libgc installation directory) fi @@ -173,32 +178,52 @@ AC_SUBST(GC_LIBS) dnl PCRE argument -AC_ARG_WITH(pcre,[ --with-pcre=D D is the directory where +AC_ARG_WITH(pcre,[ --with-pcre=DIR DIR 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]) + else + PCRE_INCLUDES="-I$PCRE/include" + + if test -f $PCRE/include/pcre.h -a -f $PCRE/lib/libpcre.la; then + PCRE_OK="yes" + PCRE_LIBS="$PCRE/lib/libpcre.la" + else + if test -f $PCRE/include/pcre2.h -a -f $PCRE/lib/libpcre2-8.la; then + PCRE_OK="yes" + PCRE_LIBS="$PCRE/lib/libpcre2-8.la" + AC_DEFINE(HAVE_PCRE2,,PCRE2 is available) + else + PCRE_LIBS="-L$PCRE/lib" + fi + fi 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) + AC_MSG_CHECKING(for pcre2) + SAVE_LIBS=$LIBS + LIBS="$LIBS $PCRE_LIBS $PCRE_INCLUDES -lpcre2-8" + AC_TRY_LINK([ #define PCRE2_CODE_UNIT_WIDTH 8 +#include ],[ void *v=pcre2_general_context_create(0,0,0); ], + AC_MSG_RESULT(yes) + PCRE_LIBS="$PCRE_LIBS -lpcre2-8" + AC_DEFINE(HAVE_PCRE2,,PCRE2 is available) + PCRE_OK="yes" + , + AC_MSG_RESULT(no) + ) + LIBS=$SAVE_LIBS +fi + +if test -z "$PCRE_OK"; then + AC_MSG_CHECKING(for pcre) + PCRE_LIBS="$PCRE_LIBS -lpcre" SAVE_LIBS=$LIBS LIBS="$LIBS $PCRE_LIBS $PCRE_INCLUDES" AC_TRY_LINK([ #include ],[ const char *v=pcre_version(); ], @@ -206,7 +231,7 @@ if test -z "$PCRE_OK"; then , AC_MSG_RESULT(no) if test -z "$PCRE"; then - AC_MSG_ERROR(please specify path to PCRE: --with-pcre=D) + AC_MSG_ERROR(please specify path to PCRE: --with-pcre=DIR) else AC_MSG_ERROR($PCRE does not seem to be valid PCRE installation directory) fi @@ -219,7 +244,7 @@ AC_SUBST(PCRE_LIBS) dnl XML/XSLT argument -AC_ARG_WITH(xml,[ --with-xml=D D is the directory where +AC_ARG_WITH(xml,[ --with-xml=DIR DIR is the directory where Gnome XML libraries are installed],[ XML=$withval @@ -231,6 +256,7 @@ AC_ARG_WITH(xml,[ --with-xml=D AC_MSG_WARN([--with-xml value was not specified, hoping linker would find it]) else XML_INCLUDES="-I$XML/include -I$XML/include/libxml2" + XML_LIBS="-L$XML/lib $XML_LIBS" 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 @@ -248,7 +274,7 @@ AC_ARG_WITH(xml,[ --with-xml=D , AC_MSG_RESULT(no) if test -z "$XML"; then - AC_MSG_ERROR(please specify path to Gnome XML libraries: --with-xml=D) + AC_MSG_ERROR(please specify path to Gnome XML libraries: --with-xml=DIR) else AC_MSG_ERROR($XML does not seem to be valid Gnome XML installation directory) fi @@ -263,7 +289,7 @@ AC_SUBST(XML_LIBS) dnl Mail receive argument -AC_ARG_WITH(mailreceive,[ --with-mailreceive=D is the directory where +AC_ARG_WITH(mailreceive,[ --with-mailreceive=DIR is the directory where Gnome MIME library is installed],[ MIME=$withval GLIB="glib-2.0" @@ -273,6 +299,11 @@ AC_ARG_WITH(mailreceive,[ --with-mailre MIME="" MIME_INCLUDES=`pkg-config --cflags $GMIME 2>/dev/null` MIME_LIBS=`pkg-config --libs $GMIME 2>/dev/null` + if test -z "$MIME_LIBS"; then + GMIME="gmime-3.0" + MIME_INCLUDES=`pkg-config --cflags $GMIME 2>/dev/null` + MIME_LIBS=`pkg-config --libs $GMIME 2>/dev/null` + fi AC_MSG_WARN([--with-mailreceive value was not specified, hoping linker would find Gnome MIME library]) else MIME_INCLUDES="-I$MIME/include/$GMIME" @@ -298,7 +329,7 @@ AC_ARG_WITH(mailreceive,[ --with-mailre , AC_MSG_RESULT(no) if test -z "$MIME"; then - AC_MSG_ERROR(please specify path to Gnome MIME library: --with-mailreceive=D) + AC_MSG_ERROR(please specify path to Gnome MIME library: --with-mailreceive=DIR) else AC_MSG_ERROR($MIME does not seem to be valid Gnome MIME installation directory) fi @@ -380,7 +411,7 @@ AC_HEADER_STDC AC_HEADER_TIME 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(assert.h limits.h ctype.h math.h process.h stdarg.h setjmp.h signal.h pthread.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) @@ -388,7 +419,10 @@ AC_CHECK_HEADERS(sys/socket.h netinet/in dnl Checks for libraries case "$host" in *-freebsd4*) - AC_DEFINE(FREEBSD4,,FreeBSD4X target platform) + AC_DEFINE(FREEBSD4,,FreeBSD4.X target platform) + ;; + *-freebsd1*) + AC_DEFINE(FREEBSD1X,,FreeBSD1X.X target platform) ;; *-sunos5.6* | *-solaris2.6*) AC_CHECK_LIB(xnet, main) @@ -411,7 +445,7 @@ AC_CHECK_LIB(crypt, crypt) dnl Checks for functions -AC_CHECK_FUNCS(flock _locking fcntl lockf ftruncate fchmod) +AC_CHECK_FUNCS(flock fcntl lockf ftruncate fchmod) AC_CHECK_FUNCS(getrusage gettimeofday crypt sigsetjmp siglongjmp unsetenv) @@ -442,6 +476,15 @@ AC_TRY_COMPILE([#include ], [str 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)) +AC_MSG_CHECKING(for gettid) +AC_TRY_COMPILE([ +#include +#include +], [uint tid=syscall(__NR_gettid);], AC_DEFINE(HAVE_GETTID) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) + +AC_MSG_CHECKING(for TLS) +AC_TRY_COMPILE([__thread int i=0;], [], AC_DEFINE(HAVE_TLS) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) + AC_MSG_CHECKING(for 0..9999 year date range support) AC_TRY_RUN([ #include @@ -464,6 +507,8 @@ dnl Output header and makefiles 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 ]) +AH_TEMPLATE([HAVE_GETTID],[Define if you have gettid()]) +AH_TEMPLATE([HAVE_TLS],[Define if you have Thread-Local Storage]) AH_TEMPLATE([PA_DATE64],[Define if you have 0..9999 year date range support]) AM_CONFIG_HEADER(src/include/pa_config_auto.h) @@ -498,5 +543,4 @@ AC_OUTPUT( src/targets/isapi/Makefile etc/Makefile etc/parser3.charsets/Makefile - bin/Makefile - bin/auto.p.dist) + etc/auto.p)