165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl Process this file with autoconf to produce a configure script. 265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl NOTE FOR MAINTAINERS: Do not use minor version numbers 08 or 09 because 465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl the leading zeros may cause them to be treated as invalid octal constants 565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl if a PCRE user writes code that uses PCRE_MINOR as a number. There is now 665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl a check further down that throws an error if 08 or 09 are used. 765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl The PCRE_PRERELEASE feature is for identifying release candidates. It might 965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl be defined as -RC2, for example. For real releases, it should be empty. 1065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 1165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(pcre_major, [8]) 1265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(pcre_minor, [36]) 1365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(pcre_prerelease, []) 1465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(pcre_date, [2014-09-26]) 1565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 1665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# NOTE: The CMakeLists.txt file searches for the above variables in the first 1765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 50 lines of this file. Please update that if the variables above are moved. 1865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 1965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Libtool shared library interface versions (current:revision:age) 2065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(libpcre_version, [3:4:2]) 2165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(libpcre16_version, [2:4:2]) 2265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(libpcre32_version, [0:4:0]) 2365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(libpcreposix_version, [0:3:0]) 2465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_define(libpcrecpp_version, [0:1:0]) 2565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 2665de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_PREREQ(2.57) 2765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_INIT(PCRE, pcre_major.pcre_minor[]pcre_prerelease, , pcre) 2865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CONFIG_SRCDIR([pcre.h.in]) 2965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_INIT_AUTOMAKE([dist-bzip2 dist-zip]) 3065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 3165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CONFIG_HEADERS(config.h) 3265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 3365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# This is a new thing required to stop a warning from automake 1.12 3465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichm4_ifdef([AM_PROG_AR], [AM_PROG_AR]) 3565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 3665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# This was added at the suggestion of libtoolize (03-Jan-10) 3765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CONFIG_MACRO_DIR([m4]) 3865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 3965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# The default CFLAGS and CXXFLAGS in Autoconf are "-g -O2" for gcc and just 4065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# "-g" for any other compiler. There doesn't seem to be a standard way of 4165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# getting rid of the -g (which I don't think is needed for a production 4265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# library). This fudge seems to achieve the necessary. First, we remember the 4365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# externally set values of CFLAGS and CXXFLAGS. Then call the AC_PROG_CC and 4465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# AC_PROG_CXX macros to find the compilers - if CFLAGS and CXXFLAGS are not 4565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# set, they will be set to Autoconf's defaults. Afterwards, if the original 4665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# values were not set, remove the -g from the Autoconf defaults. 4765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# (PH 02-May-07) 4865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 4965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichremember_set_CFLAGS="$CFLAGS" 5065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichremember_set_CXXFLAGS="$CXXFLAGS" 5165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 5265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_PROG_CC 5365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_PROG_CXX 5465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_PROG_CC_C_O 5565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 5665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$remember_set_CFLAGS" = "x" 5765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 5865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$CFLAGS" = "-g -O2" 5965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich then 6065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich CFLAGS="-O2" 6165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich elif test "$CFLAGS" = "-g" 6265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich then 6365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich CFLAGS="" 6465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 6565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 6665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 6765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$remember_set_CXXFLAGS" = "x" 6865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 6965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$CXXFLAGS" = "-g -O2" 7065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich then 7165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich CXXFLAGS="-O2" 7265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich elif test "$CXXFLAGS" = "-g" 7365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich then 7465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich CXXFLAGS="" 7565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 7665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 7765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 7865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# AC_PROG_CXX will return "g++" even if no c++ compiler is installed. 7965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check for that case, and just disable c++ code if g++ doesn't run. 8065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_LANG_PUSH(C++) 8165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],, CXX=""; CXXCP=""; CXXFLAGS="") 8265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_LANG_POP 8365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 8465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check for a 64-bit integer type 8565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_TYPE_INT64_T 8665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 8765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_PROG_INSTALL 8865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_LIBTOOL_WIN32_DLL 8965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichLT_INIT 9065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_PROG_LN_S 9165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 9265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check for GCC visibility feature 9365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 9465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichPCRE_VISIBILITY 9565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 9665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Versioning 9765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 9865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichPCRE_MAJOR="pcre_major" 9965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichPCRE_MINOR="pcre_minor" 10065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichPCRE_PRERELEASE="pcre_prerelease" 10165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichPCRE_DATE="pcre_date" 10265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 10365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$PCRE_MINOR" = "08" -o "$PCRE_MINOR" = "09" 10465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 10565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "***" 10665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "*** Minor version number $PCRE_MINOR must not be used. ***" 10765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "*** Use only 01 to 07 or 10 onwards, to avoid octal issues. ***" 10865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "***" 10965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 11065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 11165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 11265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(PCRE_MAJOR) 11365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(PCRE_MINOR) 11465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(PCRE_PRERELEASE) 11565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(PCRE_DATE) 11665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 11765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Set a more sensible default value for $(htmldir). 11865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$htmldir" = 'x${docdir}' 11965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 12065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich htmldir='${docdir}/html' 12165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 12265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 12365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --disable-pcre8 (enabled by default) 12465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(pcre8, 12565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--disable-pcre8], 12665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [disable 8 bit character support]), 12765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_pcre8=unset) 12865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(enable_pcre8) 12965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 13065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-pcre16 (disabled by default) 13165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(pcre16, 13265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-pcre16], 13365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [enable 16 bit character support]), 13465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_pcre16=unset) 13565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(enable_pcre16) 13665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 13765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-pcre32 (disabled by default) 13865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(pcre32, 13965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-pcre32], 14065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [enable 32 bit character support]), 14165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_pcre32=unset) 14265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(enable_pcre32) 14365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 14465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --disable-cpp. The substitution of enable_cpp is needed for use in 14565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# pcre-config. 14665de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(cpp, 14765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--disable-cpp], 14865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [disable C++ support]), 14965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_cpp=unset) 15065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(enable_cpp) 15165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 15265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-jit (disabled by default) 15365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(jit, 15465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-jit], 15565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [enable Just-In-Time compiling support]), 15665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_jit=no) 15765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 15865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --disable-pcregrep-jit (enabled by default) 15965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(pcregrep-jit, 16065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--disable-pcregrep-jit], 16165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [disable JIT support in pcregrep]), 16265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_pcregrep_jit=yes) 16365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 16465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-rebuild-chartables 16565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(rebuild-chartables, 16665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-rebuild-chartables], 16765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [rebuild character tables in current locale]), 16865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_rebuild_chartables=no) 16965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 17065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-utf8 (disabled by default) 17165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(utf8, 17265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-utf8], 17365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [another name for --enable-utf. Kept only for compatibility reasons]), 17465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_utf8=unset) 17565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 17665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-utf (disabled by default) 17765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(utf, 17865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-utf], 17965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [enable UTF-8/16/32 support (incompatible with --enable-ebcdic)]), 18065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_utf=unset) 18165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 18265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-unicode-properties 18365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(unicode-properties, 18465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-unicode-properties], 18565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [enable Unicode properties support (implies --enable-utf)]), 18665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_unicode_properties=no) 18765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 18865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle newline options 18965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichac_pcre_newline=lf 19065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(newline-is-cr, 19165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-newline-is-cr], 19265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [use CR as newline character]), 19365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ac_pcre_newline=cr) 19465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(newline-is-lf, 19565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-newline-is-lf], 19665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [use LF as newline character (default)]), 19765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ac_pcre_newline=lf) 19865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(newline-is-crlf, 19965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-newline-is-crlf], 20065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [use CRLF as newline sequence]), 20165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ac_pcre_newline=crlf) 20265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(newline-is-anycrlf, 20365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-newline-is-anycrlf], 20465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [use CR, LF, or CRLF as newline sequence]), 20565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ac_pcre_newline=anycrlf) 20665de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(newline-is-any, 20765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-newline-is-any], 20865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [use any valid Unicode newline sequence]), 20965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ac_pcre_newline=any) 21065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichenable_newline="$ac_pcre_newline" 21165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 21265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-bsr-anycrlf 21365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(bsr-anycrlf, 21465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-bsr-anycrlf], 21565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [\R matches only CR, LF, CRLF by default]), 21665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_bsr_anycrlf=no) 21765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 21865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-ebcdic 21965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(ebcdic, 22065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-ebcdic], 22165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [assume EBCDIC coding rather than ASCII; incompatible with --enable-utf; use only in (uncommon) EBCDIC environments; it implies --enable-rebuild-chartables]), 22265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_ebcdic=no) 22365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 22465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-ebcdic-nl25 22565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(ebcdic-nl25, 22665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-ebcdic-nl25], 22765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [set EBCDIC code for NL to 0x25 instead of 0x15; it implies --enable-ebcdic]), 22865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_ebcdic_nl25=no) 22965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 23065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --disable-stack-for-recursion 23165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(stack-for-recursion, 23265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--disable-stack-for-recursion], 23365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [don't use stack recursion when matching]), 23465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_stack_for_recursion=yes) 23565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 23665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-pcregrep-libz 23765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(pcregrep-libz, 23865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-pcregrep-libz], 23965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [link pcregrep with libz to handle .gz files]), 24065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_pcregrep_libz=no) 24165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 24265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-pcregrep-libbz2 24365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(pcregrep-libbz2, 24465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-pcregrep-libbz2], 24565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [link pcregrep with libbz2 to handle .bz2 files]), 24665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_pcregrep_libbz2=no) 24765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 24865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --with-pcregrep-bufsize=N 24965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_WITH(pcregrep-bufsize, 25065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--with-pcregrep-bufsize=N], 25165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [pcregrep buffer size (default=20480, minimum=8192)]), 25265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , with_pcregrep_bufsize=20480) 25365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 25465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-pcretest-libedit 25565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(pcretest-libedit, 25665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-pcretest-libedit], 25765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [link pcretest with libedit]), 25865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_pcretest_libedit=no) 25965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 26065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-pcretest-libreadline 26165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(pcretest-libreadline, 26265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-pcretest-libreadline], 26365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [link pcretest with libreadline]), 26465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_pcretest_libreadline=no) 26565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 26665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --with-posix-malloc-threshold=NBYTES 26765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_WITH(posix-malloc-threshold, 26865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES], 26965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [threshold for POSIX malloc usage (default=10)]), 27065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , with_posix_malloc_threshold=10) 27165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 27265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --with-link-size=N 27365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_WITH(link-size, 27465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--with-link-size=N], 27565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [internal link size (2, 3, or 4 allowed; default=2)]), 27665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , with_link_size=2) 27765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 27865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --with-parens-nest-limit=N 27965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_WITH(parens-nest-limit, 28065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--with-parens-nest-limit=N], 28165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [nested parentheses limit (default=250)]), 28265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , with_parens_nest_limit=250) 28365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 28465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --with-match-limit=N 28565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_WITH(match-limit, 28665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--with-match-limit=N], 28765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [default limit on internal looping (default=10000000)]), 28865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , with_match_limit=10000000) 28965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 29065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --with-match-limit_recursion=N 29165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 29265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Note: In config.h, the default is to define MATCH_LIMIT_RECURSION 29365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# symbolically as MATCH_LIMIT, which in turn is defined to be some numeric 29465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# value (e.g. 10000000). MATCH_LIMIT_RECURSION can otherwise be set to some 29565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# different numeric value (or even the same numeric value as MATCH_LIMIT, 29665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# though no longer defined in terms of the latter). 29765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 29865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_WITH(match-limit-recursion, 29965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--with-match-limit-recursion=N], 30065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [default limit on internal recursion (default=MATCH_LIMIT)]), 30165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , with_match_limit_recursion=MATCH_LIMIT) 30265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 30365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle --enable-valgrind 30465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(valgrind, 30565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-valgrind], 30665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [valgrind support]), 30765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_valgrind=no) 30865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 30965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Enable code coverage reports using gcov 31065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_ARG_ENABLE(coverage, 31165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AS_HELP_STRING([--enable-coverage], 31265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [enable code coverage reports using gcov]), 31365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich , enable_coverage=no) 31465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 31565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Copy enable_utf8 value to enable_utf for compatibility reasons 31665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_utf8" != "xunset" 31765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 31865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "x$enable_utf" != "xunset" 31965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich then 32065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([--enable/disable-utf8 is kept only for compatibility reasons and its value is copied to --enable/disable-utf. Newer code must use --enable/disable-utf alone.]) 32165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 32265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_utf=$enable_utf8 32365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 32465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 32565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Set the default value for pcre8 32665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_pcre8" = "xunset" 32765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 32865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_pcre8=yes 32965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 33065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 33165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Set the default value for pcre16 33265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_pcre16" = "xunset" 33365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 33465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_pcre16=no 33565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 33665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 33765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Set the default value for pcre32 33865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_pcre32" = "xunset" 33965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 34065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_pcre32=no 34165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 34265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 34365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Make sure enable_pcre8 or enable_pcre16 was set 34465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_pcre8$enable_pcre16$enable_pcre32" = "xnonono" 34565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 34665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([At least one of 8, 16 or 32 bit pcre library must be enabled]) 34765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 34865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 34965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Make sure that if enable_unicode_properties was set, that UTF support is enabled. 35065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_unicode_properties" = "xyes" 35165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 35265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "x$enable_utf" = "xno" 35365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich then 35465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([support for Unicode properties requires UTF-8/16/32 support]) 35565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 35665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_utf=yes 35765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 35865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 35965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# enable_utf is disabled by default. 36065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_utf" = "xunset" 36165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 36265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_utf=no 36365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 36465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 36565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# enable_cpp copies the value of enable_pcre8 by default 36665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_cpp" = "xunset" 36765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 36865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_cpp=$enable_pcre8 36965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 37065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 37165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Make sure that if enable_cpp was set, that enable_pcre8 support is enabled 37265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_cpp" = "xyes" 37365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 37465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "x$enable_pcre8" = "xno" 37565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich then 37665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([C++ library requires pcre library with 8 bit characters]) 37765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 37865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 37965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 38065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Convert the newline identifier into the appropriate integer value. The first 38165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# three are ASCII values 0x0a, 0x0d, and 0x0d0a, but if EBCDIC is enabled, they 38265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# are changed below. 38365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 38465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichcase "$enable_newline" in 38565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich lf) ac_pcre_newline_value=10 ;; 38665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich cr) ac_pcre_newline_value=13 ;; 38765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich crlf) ac_pcre_newline_value=3338 ;; 38865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich anycrlf) ac_pcre_newline_value=-2 ;; 38965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich any) ac_pcre_newline_value=-1 ;; 39065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich *) 39165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option]) 39265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ;; 39365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichesac 39465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 39565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# --enable-ebcdic-nl25 implies --enable-ebcdic 39665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_ebcdic_nl25" = "xyes"; then 39765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_ebcdic=yes 39865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 39965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 40065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled, 40165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# and the newline value is adjusted appropriately (CR is still 13, but LF is 40265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 21 or 37). Also check that UTF support is not requested, because PCRE cannot 40365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# handle EBCDIC and UTF in the same build. To do so it would need to use 40465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# different character constants depending on the mode. 40565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 40665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_ebcdic" = "xyes"; then 40765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_rebuild_chartables=yes 40865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 40965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "x$enable_utf" = "xyes"; then 41065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([support for EBCDIC and UTF-8/16/32 cannot be enabled at the same time]) 41165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 41265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 41365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "x$enable_ebcdic_nl25" = "xno"; then 41465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich case "$ac_pcre_newline_value" in 41565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 10) ac_pcre_newline_value=21 ;; 41665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 3338) ac_pcre_newline_value=3349 ;; 41765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich esac 41865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich else 41965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich case "$ac_pcre_newline_value" in 42065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 10) ac_pcre_newline_value=37 ;; 42165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 3338) ac_pcre_newline_value=3365 ;; 42265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich esac 42365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 42465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 42565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 42665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check argument to --with-link-size 42765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichcase "$with_link_size" in 42865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 2|3|4) ;; 42965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich *) 43065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([invalid argument \"$with_link_size\" to --with-link-size option]) 43165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ;; 43265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichesac 43365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 43465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAH_TOP([ 43565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich/* PCRE is written in Standard C, but there are a few non-standard things it 43665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichcan cope with, allowing it to run on SunOS4 and other "close to standard" 43765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichsystems. 43865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 43965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichIn environments that support the GNU autotools, config.h.in is converted into 44065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichconfig.h by the "configure" script. In environments that use CMake, 44165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichconfig-cmake.in is converted into config.h. If you are going to build PCRE "by 44265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichhand" without using "configure" or CMake, you should copy the distributed 44365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichconfig.h.generic to config.h, and edit the macro definitions to be the way you 44465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichneed them. You must then add -DHAVE_CONFIG_H to all of your compile commands, 44565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichso that config.h is included at the start of every source. 44665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 44765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAlternatively, you can avoid editing by using -D on the compiler command line 44865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichto set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H, 44965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichbut if you do, default values will be taken from config.h for non-boolean 45065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichmacros that are not defined on the command line. 45165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 45265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichBoolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE8 should either be defined 45365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich(conventionally to 1) for TRUE, and not defined at all for FALSE. All such 45465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichmacros are listed as a commented #undef in config.h.generic. Macros such as 45565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichMATCH_LIMIT, whose actual value is relevant, have defaults defined, but are 45665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichsurrounded by #ifndef/#endif lines so that the value can be overridden by -D. 45765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 45865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichPCRE uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if 45965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichHAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make 46065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichsure both macros are undefined; an emulation function will then be used. */]) 46165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 46265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Checks for header files. 46365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_HEADER_STDC 46465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_HEADERS(limits.h sys/types.h sys/stat.h dirent.h) 46565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_HEADERS([windows.h], [HAVE_WINDOWS_H=1]) 46665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 46765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# The files below are C++ header files. 46865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichpcre_have_type_traits="0" 46965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichpcre_have_bits_type_traits="0" 47065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 47165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_cpp" = "xyes" -a -z "$CXX"; then 47265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([You need a C++ compiler for C++ support.]) 47365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 47465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 47565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_cpp" = "xyes" -a -n "$CXX" 47665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichthen 47765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_LANG_PUSH(C++) 47865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 47965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Older versions of pcre defined pcrecpp::no_arg, but in new versions 48065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# it's called pcrecpp::RE::no_arg. For backwards ABI compatibility, 48165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# we want to make one an alias for the other. Different systems do 48265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# this in different ways. Some systems, for instance, can do it via 48365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4). 48465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichOLD_LDFLAGS="$LDFLAGS" 48565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfor flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \ 48665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do 48765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_CHECKING([for alias support in the linker]) 48865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich LDFLAGS="$OLD_LDFLAGS -Wl,$flag" 48965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich # We try to run the linker with this new ld flag. If the link fails, 49065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich # we give up and remove the new flag from LDFLAGS. 49165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_LINK_IFELSE([AC_LANG_PROGRAM([namespace pcrecpp { 49265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich class RE { static int no_arg; }; 49365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich int RE::no_arg; 49465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich }], 49565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [])], 49665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [AC_MSG_RESULT([yes]); 49765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag"; 49865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich break;], 49965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_RESULT([no])) 50065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdone 50165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichLDFLAGS="$OLD_LDFLAGS" 50265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 50365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# We could be more clever here, given we're doing AC_SUBST with this 50465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# (eg set a var to be the name of the include file we want). But we're not 50565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# so it's easy to change back to 'regular' autoconf vars if we needed to. 50665de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_HEADERS(string, [pcre_have_cpp_headers="1"], 50765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [pcre_have_cpp_headers="0"]) 50865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_HEADERS(bits/type_traits.h, [pcre_have_bits_type_traits="1"], 50965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [pcre_have_bits_type_traits="0"]) 51065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"], 51165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [pcre_have_type_traits="0"]) 51265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 51365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# (This isn't c++-specific, but is only used in pcrecpp.cc, so try this 51465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# in a c++ context. This matters becuase strtoimax is C99 and may not 51565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# be supported by the C++ compiler.) 51665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Figure out how to create a longlong from a string: strtoll and 51765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# equiv. It's not enough to call AC_CHECK_FUNCS: hpux has a 51865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# strtoll, for instance, but it only takes 2 args instead of 3! 51965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# We have to call AH_TEMPLATE since AC_DEFINE_UNQUOTED below is complex. 52065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAH_TEMPLATE(HAVE_STRTOQ, [Define to 1 if you have `strtoq'.]) 52165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAH_TEMPLATE(HAVE_STRTOLL, [Define to 1 if you have `strtoll'.]) 52265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAH_TEMPLATE(HAVE__STRTOI64, [Define to 1 if you have `_strtoi64'.]) 52365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAH_TEMPLATE(HAVE_STRTOIMAX, [Define to 1 if you have `strtoimax'.]) 52465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichhave_strto_fn=0 52565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfor fn in strtoq strtoll _strtoi64 strtoimax; do 52665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_CHECKING([for $fn]) 52765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$fn" = strtoimax; then 52865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich include=stdint.h 52965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich else 53065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich include=stdlib.h 53165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 53265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <$include>], 53365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [char* e; return $fn("100", &e, 10)])], 53465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [AC_MSG_RESULT(yes) 53565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE_UNQUOTED(HAVE_`echo $fn | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`, 1, 53665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [Define to 1 if you have `$fn'.]) 53765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich have_strto_fn=1 53865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich break], 53965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [AC_MSG_RESULT(no)]) 54065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdone 54165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 54265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$have_strto_fn" = 1; then 54365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_TYPES([long long], 54465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [pcre_have_long_long="1"], 54565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [pcre_have_long_long="0"]) 54665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_TYPES([unsigned long long], 54765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [pcre_have_ulong_long="1"], 54865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [pcre_have_ulong_long="0"]) 54965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichelse 55065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich pcre_have_long_long="0" 55165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich pcre_have_ulong_long="0" 55265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 55365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(pcre_have_long_long) 55465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(pcre_have_ulong_long) 55565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 55665de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_LANG_POP 55765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 55865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Using AC_SUBST eliminates the need to include config.h in a public .h file 55965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(pcre_have_type_traits) 56065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(pcre_have_bits_type_traits) 56165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 56265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Conditional compilation 56365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL(WITH_PCRE8, test "x$enable_pcre8" = "xyes") 56465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL(WITH_PCRE16, test "x$enable_pcre16" = "xyes") 56565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL(WITH_PCRE32, test "x$enable_pcre32" = "xyes") 56665de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes") 56765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes") 56865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL(WITH_JIT, test "x$enable_jit" = "xyes") 56965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL(WITH_UTF, test "x$enable_utf" = "xyes") 57065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL(WITH_VALGRIND, test "x$enable_valgrind" = "xyes") 57165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 57265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Checks for typedefs, structures, and compiler characteristics. 57365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 57465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_C_CONST 57565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_TYPE_SIZE_T 57665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 57765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Checks for library functions. 57865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 57965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_FUNCS(bcopy memmove strerror) 58065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 58165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check for the availability of libz (aka zlib) 58265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 58365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1]) 58465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1]) 58565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 58665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check for the availability of libbz2. Originally we just used AC_CHECK_LIB, 58765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# as for libz. However, this had the following problem, diagnosed and fixed by 58865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# a user: 58965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 59065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# - libbz2 uses the Pascal calling convention (WINAPI) for the functions 59165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# under Win32. 59265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# - The standard autoconf AC_CHECK_LIB fails to include "bzlib.h", 59365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# therefore missing the function definition. 59465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# - The compiler thus generates a "C" signature for the test function. 59565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# - The linker fails to find the "C" function. 59665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# - PCRE fails to configure if asked to do so against libbz2. 59765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 59865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Solution: 59965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 60065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# - Replace the AC_CHECK_LIB test with a custom test. 60165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 60265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1]) 60365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Original test 60465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1]) 60565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# 60665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Custom test follows 60765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 60865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_MSG_CHECKING([for libbz2]) 60965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichOLD_LIBS="$LIBS" 61065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichLIBS="$LIBS -lbz2" 61165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_LINK_IFELSE([AC_LANG_PROGRAM([[ 61265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich#ifdef HAVE_BZLIB_H 61365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich#include <bzlib.h> 61465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich#endif]], 61565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich[[return (int)BZ2_bzopen("conftest", "rb");]])], 61665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich[AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;], 61765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_MSG_RESULT([no])) 61865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichLIBS="$OLD_LIBS" 61965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 62065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check for the availabiity of libreadline 62165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 62265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcretest_libreadline" = "yes"; then 62365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1]) 62465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1]) 62565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lreadline"], 62665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [unset ac_cv_lib_readline_readline; 62765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-ltinfo"], 62865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [unset ac_cv_lib_readline_readline; 62965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lcurses"], 63065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [unset ac_cv_lib_readline_readline; 63165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncurses"], 63265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [unset ac_cv_lib_readline_readline; 63365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncursesw"], 63465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [unset ac_cv_lib_readline_readline; 63565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-ltermcap"], 63665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [LIBREADLINE=""], 63765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [-ltermcap])], 63865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [-lncursesw])], 63965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [-lncurses])], 64065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [-lcurses])], 64165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [-ltinfo])]) 64265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_SUBST(LIBREADLINE) 64365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test -n "$LIBREADLINE"; then 64465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$LIBREADLINE" != "-lreadline"; then 64565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "-lreadline needs $LIBREADLINE" 64665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich LIBREADLINE="-lreadline $LIBREADLINE" 64765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 64865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 64965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 65065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 65165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 65265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check for the availability of libedit. Different distributions put its 65365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# headers in different places. Try to cover the most common ones. 65465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 65565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcretest_libedit" = "yes"; then 65665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_HEADERS([editline/readline.h], [HAVE_EDITLINE_READLINE_H=1], 65765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [AC_CHECK_HEADERS([edit/readline/readline.h], [HAVE_READLINE_READLINE_H=1], 65865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_READLINE_H=1])])]) 65965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_CHECK_LIB([edit], [readline], [LIBEDIT="-ledit"]) 66065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 66165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 66265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# This facilitates -ansi builds under Linux 66365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc]) 66465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 66565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichPCRE_STATIC_CFLAG="" 66665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "x$enable_shared" = "xno" ; then 66765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([PCRE_STATIC], [1], [ 66865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value if linking statically (TODO: make nice with Libtool)]) 66965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich PCRE_STATIC_CFLAG="-DPCRE_STATIC" 67065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 67165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(PCRE_STATIC_CFLAG) 67265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 67365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Here is where pcre specific defines are handled 67465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 67565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcre8" = "yes"; then 67665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_PCRE8], [], [ 67765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to enable the 8 bit PCRE library.]) 67865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 67965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 68065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcre16" = "yes"; then 68165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_PCRE16], [], [ 68265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to enable the 16 bit PCRE library.]) 68365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 68465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 68565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcre32" = "yes"; then 68665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_PCRE32], [], [ 68765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to enable the 32 bit PCRE library.]) 68865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 68965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 69065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Unless running under Windows, JIT support requires pthreads. 69165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 69265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_jit" = "yes"; then 69365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$HAVE_WINDOWS_H" != "1"; then 69465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AX_PTHREAD([], [AC_MSG_ERROR([JIT support requires pthreads])]) 69565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich CC="$PTHREAD_CC" 69665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich CFLAGS="$PTHREAD_CFLAGS $CFLAGS" 69765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich LIBS="$PTHREAD_LIBS $LIBS" 69865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 69965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_JIT], [], [ 70065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to enable support for Just-In-Time compiling.]) 70165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichelse 70265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich enable_pcregrep_jit="no" 70365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 70465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 70565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcregrep_jit" = "yes"; then 70665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_PCREGREP_JIT], [], [ 70765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to enable JIT support in pcregrep.]) 70865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 70965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 71065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_utf" = "yes"; then 71165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_UTF], [], [ 71265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to enable support for the UTF-8/16/32 Unicode encoding. 71365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich This will work even in an EBCDIC environment, but it is incompatible 71465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich with the EBCDIC macro. That is, PCRE can support *either* EBCDIC 71565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich code *or* ASCII/UTF-8/16/32, but not both at once.]) 71665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 71765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 71865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_unicode_properties" = "yes"; then 71965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_UCP], [], [ 72065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to enable support for Unicode properties.]) 72165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 72265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 72365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_stack_for_recursion" = "no"; then 72465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([NO_RECURSE], [], [ 72565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich PCRE uses recursive function calls to handle backtracking while 72665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich matching. This can sometimes be a problem on systems that have 72765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich stacks of limited size. Define NO_RECURSE to any value to get a 72865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich version that doesn't use recursion in the match() function; instead 72965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich it creates its own stack by steam using pcre_recurse_malloc() to obtain 73065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich memory from the heap. For more detail, see the comments and other stuff 73165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich just above the match() function.]) 73265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 73365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 73465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcregrep_libz" = "yes"; then 73565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_LIBZ], [], [ 73665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to allow pcregrep to be linked with libz, so that it is 73765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich able to handle .gz files.]) 73865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 73965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 74065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcregrep_libbz2" = "yes"; then 74165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_LIBBZ2], [], [ 74265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to allow pcregrep to be linked with libbz2, so that it 74365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich is able to handle .bz2 files.]) 74465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 74565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 74665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test $with_pcregrep_bufsize -lt 8192 ; then 74765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_WARN([$with_pcregrep_bufsize is too small for --with-pcregrep-bufsize; using 8192]) 74865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich with_pcregrep_bufsize="8192" 74965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichelse 75065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test $? -gt 1 ; then 75165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([Bad value for --with-pcregrep-bufsize]) 75265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 75365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 75465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 75565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE_UNQUOTED([PCREGREP_BUFSIZE], [$with_pcregrep_bufsize], [ 75665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The value of PCREGREP_BUFSIZE determines the size of buffer used by pcregrep 75765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich to hold parts of the file it is searching. This is also the minimum value. 75865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The actual amount of memory used by pcregrep is three times this number, 75965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich because it allows for the buffering of "before" and "after" lines.]) 76065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 76165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcretest_libedit" = "yes"; then 76265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_LIBEDIT], [], [ 76365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to allow pcretest to be linked with libedit.]) 76465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich LIBREADLINE="$LIBEDIT" 76565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichelif test "$enable_pcretest_libreadline" = "yes"; then 76665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([SUPPORT_LIBREADLINE], [], [ 76765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value to allow pcretest to be linked with libreadline.]) 76865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 76965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 77065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [ 77165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The value of NEWLINE determines the default newline character sequence. PCRE 77265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich client programs can override this by selecting other values at run time. In 77365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ASCII environments, the value can be 10 (LF), 13 (CR), or 3338 (CRLF); in 77465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich EBCDIC environments the value can be 21 or 37 (LF), 13 (CR), or 3349 or 3365 77565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich (CRLF) because there are two alternative codepoints (0x15 and 0x25) that are 77665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich used as the NL line terminator that is equivalent to ASCII LF. In both ASCII 77765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich and EBCDIC environments the value can also be -1 (ANY), or -2 (ANYCRLF).]) 77865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 77965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_bsr_anycrlf" = "yes"; then 78065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE([BSR_ANYCRLF], [], [ 78165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich By default, the \R escape sequence matches any Unicode line ending 78265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich character or sequence of characters. If BSR_ANYCRLF is defined (to any 78365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich value), this is changed so that backslash-R matches only CR, LF, or CRLF. 78465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The build-time default can be overridden by the user of PCRE at runtime.]) 78565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 78665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 78765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [ 78865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The value of LINK_SIZE determines the number of bytes used to store 78965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich links as offsets within the compiled regex. The default is 2, which 79065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich allows for compiled patterns up to 64K long. This covers the vast 79165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich majority of cases. However, PCRE can also be compiled to use 3 or 4 79265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich bytes instead. This allows for longer patterns in extreme cases.]) 79365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 79465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE_UNQUOTED([POSIX_MALLOC_THRESHOLD], [$with_posix_malloc_threshold], [ 79565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich When calling PCRE via the POSIX interface, additional working storage 79665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich is required for holding the pointers to capturing substrings because 79765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich PCRE requires three integers per substring, whereas the POSIX 79865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich interface provides only two. If the number of expected substrings is 79965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich small, the wrapper function uses space on the stack, because this is 80065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich faster than using malloc() for each call. The threshold above which 80165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich the stack is no longer used is defined by POSIX_MALLOC_THRESHOLD.]) 80265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 80365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE_UNQUOTED([PARENS_NEST_LIMIT], [$with_parens_nest_limit], [ 80465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The value of PARENS_NEST_LIMIT specifies the maximum depth of nested 80565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich parentheses (of any kind) in a pattern. This limits the amount of system 80665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich stack that is used while compiling a pattern.]) 80765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 80865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE_UNQUOTED([MATCH_LIMIT], [$with_match_limit], [ 80965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The value of MATCH_LIMIT determines the default number of times the 81065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich internal match() function can be called during a single execution of 81165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich pcre_exec(). There is a runtime interface for setting a different 81265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich limit. The limit exists in order to catch runaway regular 81365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich expressions that take for ever to determine that they do not match. 81465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The default is set very large so that it does not accidentally catch 81565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich legitimate cases.]) 81665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 81765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSION], [$with_match_limit_recursion], [ 81865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich The above limit applies to all calls of match(), whether or not they 81965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich increase the recursion depth. In some environments it is desirable 82065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich to limit the depth of recursive calls of match() more strictly, in 82165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich order to restrict the maximum amount of stack (or heap, if 82265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich NO_RECURSE is defined) that is used. The value of 82365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To 82465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich have any useful effect, it must be less than the value of 82565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT. 82665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich There is a runtime method for setting a different limit.]) 82765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 82865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE([MAX_NAME_SIZE], [32], [ 82965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich This limit is parameterized just in case anybody ever wants to 83065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich change it. Care must be taken if it is increased, because it guards 83165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich against integer overflow caused by enormously large patterns.]) 83265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 83365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_DEFINE([MAX_NAME_COUNT], [10000], [ 83465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich This limit is parameterized just in case anybody ever wants to 83565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich change it. Care must be taken if it is increased, because it guards 83665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich against integer overflow caused by enormously large patterns.]) 83765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 83865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAH_VERBATIM([PCRE_EXP_DEFN], [ 83965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich/* If you are compiling for a system other than a Unix-like system or 84065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Win32, and it needs some magic to be inserted before the definition 84165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich of a function that is exported by the library, define this macro to 84265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich contain the relevant magic. If you do not define this macro, a suitable 84365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich __declspec value is used for Windows systems; in other environments 84465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich "extern" is used for a C compiler and "extern C" for a C++ compiler. 84565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich This macro apears at the start of every exported function that is part 84665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich of the external API. It does not appear on functions that are "external" 84765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich in the C sense, but which are internal to the library. */ 84865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich#undef PCRE_EXP_DEFN]) 84965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 85065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_ebcdic" = "yes"; then 85165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE_UNQUOTED([EBCDIC], [], [ 85265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich If you are compiling for a system that uses EBCDIC instead of ASCII 85365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich character codes, define this macro to any value. You must also edit the 85465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich NEWLINE macro below to set a suitable EBCDIC newline, commonly 21 (0x15). 85565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich On systems that can use "configure" or CMake to set EBCDIC, NEWLINE is 85665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich automatically adjusted. When EBCDIC is set, PCRE assumes that all input 85765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich strings are in EBCDIC. If you do not define this macro, PCRE will assume 85865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich input strings are ASCII or UTF-8/16/32 Unicode. It is not possible to build 85965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich a version of PCRE that supports both EBCDIC and UTF-8/16/32.]) 86065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 86165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 86265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_ebcdic_nl25" = "yes"; then 86365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE_UNQUOTED([EBCDIC_NL25], [], [ 86465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich In an EBCDIC environment, define this macro to any value to arrange for 86565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich the NL character to be 0x25 instead of the default 0x15. NL plays the role 86665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich that LF does in an ASCII/Unicode environment. The value must also be set in 86765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich the NEWLINE macro below. On systems that can use "configure" or CMake to 86865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich set EBCDIC_NL25, the adjustment of NEWLINE is automatic.]) 86965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 87065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 87165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_valgrind" = "yes"; then 87265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_DEFINE_UNQUOTED([SUPPORT_VALGRIND], [], [ 87365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Define to any value for valgrind support to find invalid memory reads.]) 87465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 87565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 87665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Platform specific issues 87765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichNO_UNDEFINED= 87865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichEXPORT_ALL_SYMBOLS= 87965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichcase $host_os in 88065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich cygwin* | mingw* ) 88165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test X"$enable_shared" = Xyes; then 88265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich NO_UNDEFINED="-no-undefined" 88365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich EXPORT_ALL_SYMBOLS="-Wl,--export-all-symbols" 88465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 88565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ;; 88665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichesac 88765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 88865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# The extra LDFLAGS for each particular library 88965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# (Note: The libpcre*_version bits are m4 variables, assigned above) 89065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 89165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichEXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \ 89265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich $NO_UNDEFINED -version-info libpcre_version" 89365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 89465de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichEXTRA_LIBPCRE16_LDFLAGS="$EXTRA_LIBPCRE16_LDFLAGS \ 89565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich $NO_UNDEFINED -version-info libpcre16_version" 89665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 89765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichEXTRA_LIBPCRE32_LDFLAGS="$EXTRA_LIBPCRE32_LDFLAGS \ 89865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich $NO_UNDEFINED -version-info libpcre32_version" 89965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 90065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichEXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \ 90165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich $NO_UNDEFINED -version-info libpcreposix_version" 90265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 90365de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichEXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \ 90465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich $NO_UNDEFINED -version-info libpcrecpp_version \ 90565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich $EXPORT_ALL_SYMBOLS" 90665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 90765de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(EXTRA_LIBPCRE_LDFLAGS) 90865de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(EXTRA_LIBPCRE16_LDFLAGS) 90965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(EXTRA_LIBPCRE32_LDFLAGS) 91065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS) 91165de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS) 91265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 91365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# When we run 'make distcheck', use these arguments. Turning off compiler 91465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# optimization makes it run faster. 91565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichDISTCHECK_CONFIGURE_FLAGS="CFLAGS='' CXXFLAGS='' --enable-pcre16 --enable-pcre32 --enable-jit --enable-cpp --enable-unicode-properties" 91665de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(DISTCHECK_CONFIGURE_FLAGS) 91765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 91865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is 91965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# specified, the relevant library is available. 92065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 92165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcregrep_libz" = "yes"; then 92265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$HAVE_ZLIB_H" != "1"; then 92365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcregrep-libz because zlib.h was not found" 92465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 92565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 92665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$HAVE_LIBZ" != "1"; then 92765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcregrep-libz because libz was not found" 92865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 92965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 93065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich LIBZ="-lz" 93165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 93265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(LIBZ) 93365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 93465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcregrep_libbz2" = "yes"; then 93565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$HAVE_BZLIB_H" != "1"; then 93665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found" 93765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 93865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 93965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$HAVE_LIBBZ2" != "1"; then 94065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found" 94165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 94265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 94365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich LIBBZ2="-lbz2" 94465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 94565de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_SUBST(LIBBZ2) 94665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 94765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Similarly for --enable-pcretest-readline 94865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 94965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcretest_libedit" = "yes"; then 95065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$enable_pcretest_libreadline" = "yes"; then 95165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot use both --enable-pcretest-libedit and --enable-pcretest-readline" 95265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 95365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 95465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$HAVE_EDITLINE_READLINE_H" != "1" -a \ 95565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich "$HAVE_READLINE_READLINE_H" != "1"; then 95665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcretest-libedit because neither editline/readline.h" 95765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** nor readline/readline.h was found." 95865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 95965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 96065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test -z "$LIBEDIT"; then 96165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcretest-libedit because libedit library was not found." 96265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 96365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 96465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 96565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 96665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_pcretest_libreadline" = "yes"; then 96765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$HAVE_READLINE_H" != "1"; then 96865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcretest-readline because readline/readline.h was not found." 96965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 97065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 97165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$HAVE_HISTORY_H" != "1"; then 97265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcretest-readline because readline/history.h was not found." 97365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 97465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 97565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test -z "$LIBREADLINE"; then 97665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich echo "** Cannot --enable-pcretest-readline because readline library was not found." 97765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich exit 1 97865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 97965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 98065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 98165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle valgrind support 98265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 98365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_valgrind" = "yes"; then 98465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich m4_ifdef([PKG_CHECK_MODULES], 98565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [PKG_CHECK_MODULES([VALGRIND],[valgrind])], 98665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich [AC_MSG_ERROR([pkg-config not supported])]) 98765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 98865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 98965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Handle code coverage reporting support 99065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_coverage" = "yes"; then 99165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "x$GCC" != "xyes"; then 99265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([Code coverage reports can only be generated when using GCC]) 99365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 99465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 99565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich # ccache is incompatible with gcov 99665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_PATH_PROG([SHTOOL],[shtool],[false]) 99765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich case `$SHTOOL path $CC` in 99865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich *ccache*) cc_ccache=yes;; 99965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich *) cc_ccache=no;; 100065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich esac 100165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 100265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "$cc_ccache" = "yes"; then 100365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test -z "$CCACHE_DISABLE" -o "$CCACHE_DISABLE" != "1"; then 100465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([must export CCACHE_DISABLE=1 to disable ccache for code coverage]) 100565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 100665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 100765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 100865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_ARG_VAR([LCOV],[the ltp lcov program]) 100965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_PATH_PROG([LCOV],[lcov],[false]) 101065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "x$LCOV" = "xfalse"; then 101165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([lcov not found]) 101265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 101365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 101465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_ARG_VAR([GENHTML],[the ltp genhtml program]) 101565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_PATH_PROG([GENHTML],[genhtml],[false]) 101665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich if test "x$GENHTML" = "xfalse"; then 101765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_MSG_ERROR([genhtml not found]) 101865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich fi 101965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 102065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich # Set flags needed for gcov 102165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich GCOV_CFLAGS="-O0 -ggdb3 -fprofile-arcs -ftest-coverage" 102265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich GCOV_CXXFLAGS="-O0 -ggdb3 -fprofile-arcs -ftest-coverage" 102365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich GCOV_LIBS="-lgcov" 102465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_SUBST([GCOV_CFLAGS]) 102565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_SUBST([GCOV_CXXFLAGS]) 102665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich AC_SUBST([GCOV_LIBS]) 102765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi # enable_coverage 102865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 102965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAM_CONDITIONAL([WITH_GCOV],[test "x$enable_coverage" = "xyes"]) 103065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 103165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Produce these files, in addition to config.h. 103265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CONFIG_FILES( 103365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Makefile 103465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich libpcre.pc 103565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich libpcre16.pc 103665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich libpcre32.pc 103765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich libpcreposix.pc 103865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich libpcrecpp.pc 103965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich pcre-config 104065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich pcre.h 104165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich pcre_stringpiece.h 104265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich pcrecpparg.h 104365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich) 104465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 104565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Make the generated script files executable. 104665de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre-config]) 104765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 104865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Make sure that pcre_chartables.c is removed in case the method for 104965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# creating it was changed by reconfiguration. 105065de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre_chartables.c]) 105165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 105265de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichAC_OUTPUT 105365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 105465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# Print out a nice little message after configure is run displaying the 105565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich# chosen options. 105665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 105765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichebcdic_nl_code=n/a 105865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichif test "$enable_ebcdic_nl25" = "yes"; then 105965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ebcdic_nl_code=0x25 106065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichelif test "$enable_ebcdic" = "yes"; then 106165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich ebcdic_nl_code=0x15 106265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichfi 106365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 106465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichcat <<EOF 106565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 106665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich$PACKAGE-$VERSION configuration summary: 106765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 106865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Install prefix .................. : ${prefix} 106965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich C preprocessor .................. : ${CPP} 107065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich C compiler ...................... : ${CC} 107165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich C++ preprocessor ................ : ${CXXCPP} 107265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich C++ compiler .................... : ${CXX} 107365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Linker .......................... : ${LD} 107465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich C preprocessor flags ............ : ${CPPFLAGS} 107565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich C compiler flags ................ : ${CFLAGS} ${VISIBILITY_CFLAGS} 107665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich C++ compiler flags .............. : ${CXXFLAGS} ${VISIBILITY_CXXFLAGS} 107765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Linker flags .................... : ${LDFLAGS} 107865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Extra libraries ................. : ${LIBS} 107965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 108065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Build 8 bit pcre library ........ : ${enable_pcre8} 108165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Build 16 bit pcre library ....... : ${enable_pcre16} 108265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Build 32 bit pcre library ....... : ${enable_pcre32} 108365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Build C++ library ............... : ${enable_cpp} 108465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Enable JIT compiling support .... : ${enable_jit} 108565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Enable UTF-8/16/32 support ...... : ${enable_utf} 108665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Unicode properties .............. : ${enable_unicode_properties} 108765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Newline char/sequence ........... : ${enable_newline} 108865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich \R matches only ANYCRLF ......... : ${enable_bsr_anycrlf} 108965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich EBCDIC coding ................... : ${enable_ebcdic} 109065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich EBCDIC code for NL .............. : ${ebcdic_nl_code} 109165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Rebuild char tables ............. : ${enable_rebuild_chartables} 109265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Use stack recursion ............. : ${enable_stack_for_recursion} 109365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich POSIX mem threshold ............. : ${with_posix_malloc_threshold} 109465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Internal link size .............. : ${with_link_size} 109565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Nested parentheses limit ........ : ${with_parens_nest_limit} 109665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Match limit ..................... : ${with_match_limit} 109765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Match limit recursion ........... : ${with_match_limit_recursion} 109865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Build shared libs ............... : ${enable_shared} 109965de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Build static libs ............... : ${enable_static} 110065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Use JIT in pcregrep ............. : ${enable_pcregrep_jit} 110165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Buffer size for pcregrep ........ : ${with_pcregrep_bufsize} 110265de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Link pcregrep with libz ......... : ${enable_pcregrep_libz} 110365de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2} 110465de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Link pcretest with libedit ...... : ${enable_pcretest_libedit} 110565de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Link pcretest with libreadline .. : ${enable_pcretest_libreadline} 110665de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Valgrind support ................ : ${enable_valgrind} 110765de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich Code coverage ................... : ${enable_coverage} 110865de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 110965de34233da93a3d65c00b8aad3ff9aad44c57deNick KralevichEOF 111065de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevich 111165de34233da93a3d65c00b8aad3ff9aad44c57deNick Kralevichdnl end configure.ac 1112