--- parser3/configure.ac 2020/12/07 17:16:42 1.37 +++ parser3/configure.ac 2024/11/04 18:17:44 1.59 @@ -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) @@ -95,11 +95,6 @@ AC_ARG_WITH(system-cfg, [ --with-system ) -AC_ARG_WITH(system-log, [ --with-system-log=FILE to specify system-wide parser3.log], - AC_DEFINE_UNQUOTED(SYSTEM_LOG_FILE,"$withval",system-wide parser3.log) -) - - 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], @@ -186,29 +181,49 @@ dnl PCRE argument 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/lib -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(); ], @@ -396,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) @@ -430,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) @@ -461,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 @@ -483,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)