--- parser3/configure.ac 2020/12/15 00:32:29 1.43 +++ parser3/configure.ac 2025/01/10 19:38:46 1.67 @@ -1,6 +1,6 @@ -dnl Autoconf initialisation +dnl Autoconf initialization AC_PREREQ(2.59) -AC_INIT(parser, 3.4.6b) +AC_INIT(parser, 3.5.1) AC_CONFIG_SRCDIR(README) @@ -61,7 +61,7 @@ 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 -Wextra -Wall -Wno-parentheses" + CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2 -Wextra -Wall -Wno-parentheses" ) AC_ARG_WITH(coverage, [ --with-coverage to enable gcov code coverage support], @@ -181,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(); ], @@ -425,8 +445,8 @@ AC_CHECK_LIB(crypt, crypt) dnl Checks for functions -AC_CHECK_FUNCS(flock _locking fcntl lockf ftruncate fchmod) -AC_CHECK_FUNCS(getrusage gettimeofday crypt sigsetjmp siglongjmp unsetenv) +AC_CHECK_FUNCS(flock fcntl lockf ftruncate fchmod) +AC_CHECK_FUNCS(getrusage gettimeofday crypt sigsetjmp siglongjmp unsetenv syslog) dnl on some linux[seen on 2.4] it's a macro @@ -462,6 +482,9 @@ AC_TRY_COMPILE([ #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 @@ -485,6 +508,7 @@ AH_TEMPLATE([HAVE_TIMEZONE],[Define if y 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)