1dnl Process this file with autoconf to produce a configure script. 2 3dnl NOTE FOR MAINTAINERS: Do not use minor version numbers 08 or 09 because 4dnl the leading zeros may cause them to be treated as invalid octal constants 5dnl if a PCRE2 user writes code that uses PCRE2_MINOR as a number. There is now 6dnl a check further down that throws an error if 08 or 09 are used. 7 8dnl The PCRE2_PRERELEASE feature is for identifying release candidates. It might 9dnl be defined as -RC2, for example. For real releases, it should be empty. 10 11m4_define(pcre2_major, [10]) 12m4_define(pcre2_minor, [42]) 13m4_define(pcre2_prerelease, []) 14m4_define(pcre2_date, [2022-12-11]) 15 16# Libtool shared library interface versions (current:revision:age) 17m4_define(libpcre2_8_version, [11:2:11]) 18m4_define(libpcre2_16_version, [11:2:11]) 19m4_define(libpcre2_32_version, [11:2:11]) 20m4_define(libpcre2_posix_version, [3:4:0]) 21 22# NOTE: The CMakeLists.txt file searches for the above variables in the first 23# 50 lines of this file. Please update that if the variables above are moved. 24 25AC_PREREQ([2.60]) 26AC_INIT([PCRE2],pcre2_major.pcre2_minor[]pcre2_prerelease,[],[pcre2]) 27AC_CONFIG_SRCDIR([src/pcre2.h.in]) 28AM_INIT_AUTOMAKE([dist-bzip2 dist-zip]) 29m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 30AC_CONFIG_HEADERS(src/config.h) 31 32# This was added at the suggestion of libtoolize (03-Jan-10) 33AC_CONFIG_MACRO_DIR([m4]) 34 35# The default CFLAGS in Autoconf are "-g -O2" for gcc and just "-g" for any 36# other compiler. There doesn't seem to be a standard way of getting rid of the 37# -g (which I don't think is needed for a production library). This fudge seems 38# to achieve the necessary. First, we remember the externally set values of 39# CFLAGS. Then call the AC_PROG_CC macro to find the compiler - if CFLAGS is 40# not set, it will be set to Autoconf's defaults. Afterwards, if the original 41# values were not set, remove the -g from the Autoconf defaults. 42 43remember_set_CFLAGS="$CFLAGS" 44 45AC_PROG_CC 46AM_PROG_CC_C_O 47AC_USE_SYSTEM_EXTENSIONS 48 49if test "x$remember_set_CFLAGS" = "x" 50then 51 if test "$CFLAGS" = "-g -O2" 52 then 53 CFLAGS="-O2" 54 elif test "$CFLAGS" = "-g" 55 then 56 CFLAGS="" 57 fi 58fi 59 60# This is a new thing required to stop a warning from automake 1.12 61m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) 62 63# Check for a 64-bit integer type 64AC_TYPE_INT64_T 65 66AC_PROG_INSTALL 67LT_INIT([win32-dll]) 68AC_PROG_LN_S 69 70AC_SYS_LARGEFILE 71 72# Check for GCC visibility feature 73 74PCRE2_VISIBILITY 75 76# Check for Clang __attribute__((uninitialized)) feature 77 78AC_MSG_CHECKING([for __attribute__((uninitialized))]) 79AC_LANG_PUSH([C]) 80tmp_CFLAGS=$CFLAGS 81CFLAGS="$CFLAGS -Werror" 82AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, 83 [[char buf[128] __attribute__((uninitialized));(void)buf]])], 84 [pcre2_cc_cv_attribute_uninitialized=yes], 85 [pcre2_cc_cv_attribute_uninitialized=no]) 86AC_MSG_RESULT([$pcre2_cc_cv_attribute_uninitialized]) 87if test "$pcre2_cc_cv_attribute_uninitialized" = yes; then 88 AC_DEFINE([HAVE_ATTRIBUTE_UNINITIALIZED], 1, [Define this if your compiler 89 supports __attribute__((uninitialized))]) 90fi 91CFLAGS=$tmp_CFLAGS 92AC_LANG_POP([C]) 93 94# Versioning 95 96PCRE2_MAJOR="pcre2_major" 97PCRE2_MINOR="pcre2_minor" 98PCRE2_PRERELEASE="pcre2_prerelease" 99PCRE2_DATE="pcre2_date" 100 101if test "$PCRE2_MINOR" = "08" -o "$PCRE2_MINOR" = "09" 102then 103 echo "***" 104 echo "*** Minor version number $PCRE2_MINOR must not be used. ***" 105 echo "*** Use only 00 to 07 or 10 onwards, to avoid octal issues. ***" 106 echo "***" 107 exit 1 108fi 109 110AC_SUBST(PCRE2_MAJOR) 111AC_SUBST(PCRE2_MINOR) 112AC_SUBST(PCRE2_PRERELEASE) 113AC_SUBST(PCRE2_DATE) 114 115# Set a more sensible default value for $(htmldir). 116if test "x$htmldir" = 'x${docdir}' 117then 118 htmldir='${docdir}/html' 119fi 120 121# Force an error for PCRE1 size options 122AC_ARG_ENABLE(pcre8,,,enable_pcre8=no) 123AC_ARG_ENABLE(pcre16,,,enable_pcre16=no) 124AC_ARG_ENABLE(pcre32,,,enable_pcre32=no) 125 126if test "$enable_pcre8$enable_pcre16$enable_pcre32" != "nonono" 127then 128 echo "** ERROR: Use --[[en|dis]]able-pcre2-[[8|16|32]], not --[[en|dis]]able-pcre[[8|16|32]]" 129 exit 1 130fi 131 132# Handle --disable-pcre2-8 (enabled by default) 133AC_ARG_ENABLE(pcre2-8, 134 AS_HELP_STRING([--disable-pcre2-8], 135 [disable 8 bit character support]), 136 , enable_pcre2_8=unset) 137AC_SUBST(enable_pcre2_8) 138 139# Handle --enable-pcre2-16 (disabled by default) 140AC_ARG_ENABLE(pcre2-16, 141 AS_HELP_STRING([--enable-pcre2-16], 142 [enable 16 bit character support]), 143 , enable_pcre2_16=unset) 144AC_SUBST(enable_pcre2_16) 145 146# Handle --enable-pcre2-32 (disabled by default) 147AC_ARG_ENABLE(pcre2-32, 148 AS_HELP_STRING([--enable-pcre2-32], 149 [enable 32 bit character support]), 150 , enable_pcre2_32=unset) 151AC_SUBST(enable_pcre2_32) 152 153# Handle --enable-debug (disabled by default) 154AC_ARG_ENABLE(debug, 155 AS_HELP_STRING([--enable-debug], 156 [enable debugging code]), 157 , enable_debug=no) 158 159# Handle --enable-jit (disabled by default) 160AC_ARG_ENABLE(jit, 161 AS_HELP_STRING([--enable-jit], 162 [enable Just-In-Time compiling support]), 163 , enable_jit=no) 164 165# This code enables JIT if the hardware supports it. 166if test "$enable_jit" = "auto"; then 167 AC_LANG(C) 168 SAVE_CPPFLAGS=$CPPFLAGS 169 CPPFLAGS=-I$srcdir 170 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 171 #define SLJIT_CONFIG_AUTO 1 172 #include "src/sljit/sljitConfigInternal.h" 173 #if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) 174 #error unsupported 175 #endif]])], enable_jit=yes, enable_jit=no) 176 CPPFLAGS=$SAVE_CPPFLAGS 177 echo checking for JIT support on this hardware... $enable_jit 178fi 179 180# Handle --enable-jit-sealloc (disabled by default and only experimental) 181case $host_os in 182 linux* | netbsd*) 183 AC_ARG_ENABLE(jit-sealloc, 184 AS_HELP_STRING([--enable-jit-sealloc], 185 [enable SELinux compatible execmem allocator in JIT (experimental)]), 186 ,enable_jit_sealloc=no) 187 ;; 188 *) 189 enable_jit_sealloc=unsupported 190 ;; 191esac 192 193# Handle --disable-pcre2grep-jit (enabled by default) 194AC_ARG_ENABLE(pcre2grep-jit, 195 AS_HELP_STRING([--disable-pcre2grep-jit], 196 [disable JIT support in pcre2grep]), 197 , enable_pcre2grep_jit=yes) 198 199# Handle --disable-pcre2grep-callout (enabled by default) 200AC_ARG_ENABLE(pcre2grep-callout, 201 AS_HELP_STRING([--disable-pcre2grep-callout], 202 [disable callout script support in pcre2grep]), 203 , enable_pcre2grep_callout=yes) 204 205# Handle --disable-pcre2grep-callout-fork (enabled by default) 206AC_ARG_ENABLE(pcre2grep-callout-fork, 207 AS_HELP_STRING([--disable-pcre2grep-callout-fork], 208 [disable callout script fork support in pcre2grep]), 209 , enable_pcre2grep_callout_fork=yes) 210 211# Handle --enable-rebuild-chartables 212AC_ARG_ENABLE(rebuild-chartables, 213 AS_HELP_STRING([--enable-rebuild-chartables], 214 [rebuild character tables in current locale]), 215 , enable_rebuild_chartables=no) 216 217# Handle --disable-unicode (enabled by default) 218AC_ARG_ENABLE(unicode, 219 AS_HELP_STRING([--disable-unicode], 220 [disable Unicode support]), 221 , enable_unicode=unset) 222 223# Handle newline options 224ac_pcre2_newline=lf 225AC_ARG_ENABLE(newline-is-cr, 226 AS_HELP_STRING([--enable-newline-is-cr], 227 [use CR as newline character]), 228 ac_pcre2_newline=cr) 229AC_ARG_ENABLE(newline-is-lf, 230 AS_HELP_STRING([--enable-newline-is-lf], 231 [use LF as newline character (default)]), 232 ac_pcre2_newline=lf) 233AC_ARG_ENABLE(newline-is-crlf, 234 AS_HELP_STRING([--enable-newline-is-crlf], 235 [use CRLF as newline sequence]), 236 ac_pcre2_newline=crlf) 237AC_ARG_ENABLE(newline-is-anycrlf, 238 AS_HELP_STRING([--enable-newline-is-anycrlf], 239 [use CR, LF, or CRLF as newline sequence]), 240 ac_pcre2_newline=anycrlf) 241AC_ARG_ENABLE(newline-is-any, 242 AS_HELP_STRING([--enable-newline-is-any], 243 [use any valid Unicode newline sequence]), 244 ac_pcre2_newline=any) 245AC_ARG_ENABLE(newline-is-nul, 246 AS_HELP_STRING([--enable-newline-is-nul], 247 [use NUL (binary zero) as newline character]), 248 ac_pcre2_newline=nul) 249enable_newline="$ac_pcre2_newline" 250 251# Handle --enable-bsr-anycrlf 252AC_ARG_ENABLE(bsr-anycrlf, 253 AS_HELP_STRING([--enable-bsr-anycrlf], 254 [\R matches only CR, LF, CRLF by default]), 255 , enable_bsr_anycrlf=no) 256 257# Handle --enable-never-backslash-C 258AC_ARG_ENABLE(never-backslash-C, 259 AS_HELP_STRING([--enable-never-backslash-C], 260 [use of \C causes an error]), 261 , enable_never_backslash_C=no) 262 263# Handle --enable-ebcdic 264AC_ARG_ENABLE(ebcdic, 265 AS_HELP_STRING([--enable-ebcdic], 266 [assume EBCDIC coding rather than ASCII; incompatible with --enable-utf; use only in (uncommon) EBCDIC environments; it implies --enable-rebuild-chartables]), 267 , enable_ebcdic=no) 268 269# Handle --enable-ebcdic-nl25 270AC_ARG_ENABLE(ebcdic-nl25, 271 AS_HELP_STRING([--enable-ebcdic-nl25], 272 [set EBCDIC code for NL to 0x25 instead of 0x15; it implies --enable-ebcdic]), 273 , enable_ebcdic_nl25=no) 274 275# Handle --enable-pcre2grep-libz 276AC_ARG_ENABLE(pcre2grep-libz, 277 AS_HELP_STRING([--enable-pcre2grep-libz], 278 [link pcre2grep with libz to handle .gz files]), 279 , enable_pcre2grep_libz=no) 280 281# Handle --enable-pcre2grep-libbz2 282AC_ARG_ENABLE(pcre2grep-libbz2, 283 AS_HELP_STRING([--enable-pcre2grep-libbz2], 284 [link pcre2grep with libbz2 to handle .bz2 files]), 285 , enable_pcre2grep_libbz2=no) 286 287# Handle --with-pcre2grep-bufsize=N 288AC_ARG_WITH(pcre2grep-bufsize, 289 AS_HELP_STRING([--with-pcre2grep-bufsize=N], 290 [pcre2grep initial buffer size (default=20480, minimum=8192)]), 291 , with_pcre2grep_bufsize=20480) 292 293# Handle --with-pcre2grep-max-bufsize=N 294AC_ARG_WITH(pcre2grep-max-bufsize, 295 AS_HELP_STRING([--with-pcre2grep-max-bufsize=N], 296 [pcre2grep maximum buffer size (default=1048576, minimum=8192)]), 297 , with_pcre2grep_max_bufsize=1048576) 298 299# Handle --enable-pcre2test-libedit 300AC_ARG_ENABLE(pcre2test-libedit, 301 AS_HELP_STRING([--enable-pcre2test-libedit], 302 [link pcre2test with libedit]), 303 , enable_pcre2test_libedit=no) 304 305# Handle --enable-pcre2test-libreadline 306AC_ARG_ENABLE(pcre2test-libreadline, 307 AS_HELP_STRING([--enable-pcre2test-libreadline], 308 [link pcre2test with libreadline]), 309 , enable_pcre2test_libreadline=no) 310 311# Handle --with-link-size=N 312AC_ARG_WITH(link-size, 313 AS_HELP_STRING([--with-link-size=N], 314 [internal link size (2, 3, or 4 allowed; default=2)]), 315 , with_link_size=2) 316 317# Handle --with-parens-nest-limit=N 318AC_ARG_WITH(parens-nest-limit, 319 AS_HELP_STRING([--with-parens-nest-limit=N], 320 [nested parentheses limit (default=250)]), 321 , with_parens_nest_limit=250) 322 323# Handle --with-heap-limit 324AC_ARG_WITH(heap-limit, 325 AS_HELP_STRING([--with-heap-limit=N], 326 [default limit on heap memory (kibibytes, default=20000000)]), 327 , with_heap_limit=20000000) 328 329# Handle --with-match-limit=N 330AC_ARG_WITH(match-limit, 331 AS_HELP_STRING([--with-match-limit=N], 332 [default limit on internal looping (default=10000000)]), 333 , with_match_limit=10000000) 334 335# Handle --with-match-limit-depth=N 336# Recognize old synonym --with-match-limit-recursion 337# 338# Note: In config.h, the default is to define MATCH_LIMIT_DEPTH symbolically as 339# MATCH_LIMIT, which in turn is defined to be some numeric value (e.g. 340# 10000000). MATCH_LIMIT_DEPTH can otherwise be set to some different numeric 341# value (or even the same numeric value as MATCH_LIMIT, though no longer 342# defined in terms of the latter). 343# 344AC_ARG_WITH(match-limit-depth, 345 AS_HELP_STRING([--with-match-limit-depth=N], 346 [default limit on match tree depth (default=MATCH_LIMIT)]), 347 , with_match_limit_depth=MATCH_LIMIT) 348 349AC_ARG_WITH(match-limit-recursion,, 350 , with_match_limit_recursion=UNSET) 351 352# Handle --enable-valgrind 353AC_ARG_ENABLE(valgrind, 354 AS_HELP_STRING([--enable-valgrind], 355 [enable valgrind support]), 356 , enable_valgrind=no) 357 358# Enable code coverage reports using gcov 359AC_ARG_ENABLE(coverage, 360 AS_HELP_STRING([--enable-coverage], 361 [enable code coverage reports using gcov]), 362 , enable_coverage=no) 363 364# Handle --enable-fuzz-support 365AC_ARG_ENABLE(fuzz_support, 366 AS_HELP_STRING([--enable-fuzz-support], 367 [enable fuzzer support]), 368 , enable_fuzz_support=no) 369 370# Handle --disable-stack-for-recursion 371# This option became obsolete at release 10.30. 372AC_ARG_ENABLE(stack-for-recursion,, 373 , enable_stack_for_recursion=yes) 374 375# Original code 376# AC_ARG_ENABLE(stack-for-recursion, 377# AS_HELP_STRING([--disable-stack-for-recursion], 378# [don't use stack recursion when matching]), 379# , enable_stack_for_recursion=yes) 380 381# Handle --disable-percent_zt (set as "auto" by default) 382AC_ARG_ENABLE(percent-zt, 383 AS_HELP_STRING([--disable-percent-zt], 384 [disable the use of z and t formatting modifiers]), 385 , enable_percent_zt=auto) 386 387# Set the default value for pcre2-8 388if test "x$enable_pcre2_8" = "xunset" 389then 390 enable_pcre2_8=yes 391fi 392 393# Set the default value for pcre2-16 394if test "x$enable_pcre2_16" = "xunset" 395then 396 enable_pcre2_16=no 397fi 398 399# Set the default value for pcre2-32 400if test "x$enable_pcre2_32" = "xunset" 401then 402 enable_pcre2_32=no 403fi 404 405# Make sure at least one library is selected 406if test "x$enable_pcre2_8$enable_pcre2_16$enable_pcre2_32" = "xnonono" 407then 408 AC_MSG_ERROR([At least one of the 8, 16 or 32 bit libraries must be enabled]) 409fi 410 411# Unicode is enabled by default. 412if test "x$enable_unicode" = "xunset" 413then 414 enable_unicode=yes 415fi 416 417# Convert the newline identifier into the appropriate integer value. These must 418# agree with the PCRE2_NEWLINE_xxx values in pcre2.h. 419 420case "$enable_newline" in 421 cr) ac_pcre2_newline_value=1 ;; 422 lf) ac_pcre2_newline_value=2 ;; 423 crlf) ac_pcre2_newline_value=3 ;; 424 any) ac_pcre2_newline_value=4 ;; 425 anycrlf) ac_pcre2_newline_value=5 ;; 426 nul) ac_pcre2_newline_value=6 ;; 427 *) 428 AC_MSG_ERROR([invalid argument "$enable_newline" to --enable-newline option]) 429 ;; 430esac 431 432# --enable-ebcdic-nl25 implies --enable-ebcdic 433if test "x$enable_ebcdic_nl25" = "xyes"; then 434 enable_ebcdic=yes 435fi 436 437# Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled. 438# Also check that UTF support is not requested, because PCRE2 cannot handle 439# EBCDIC and UTF in the same build. To do so it would need to use different 440# character constants depending on the mode. Also, EBCDIC cannot be used with 441# 16-bit and 32-bit libraries. 442# 443if test "x$enable_ebcdic" = "xyes"; then 444 enable_rebuild_chartables=yes 445 if test "x$enable_unicode" = "xyes"; then 446 AC_MSG_ERROR([support for EBCDIC and Unicode cannot be enabled at the same time]) 447 fi 448 if test "x$enable_pcre2_16" = "xyes" -o "x$enable_pcre2_32" = "xyes"; then 449 AC_MSG_ERROR([EBCDIC support is available only for the 8-bit library]) 450 fi 451fi 452 453# Check argument to --with-link-size 454case "$with_link_size" in 455 2|3|4) ;; 456 *) 457 AC_MSG_ERROR([invalid argument "$with_link_size" to --with-link-size option]) 458 ;; 459esac 460 461AH_TOP([ 462/* PCRE2 is written in Standard C, but there are a few non-standard things it 463can cope with, allowing it to run on SunOS4 and other "close to standard" 464systems. 465 466In environments that support the GNU autotools, config.h.in is converted into 467config.h by the "configure" script. In environments that use CMake, 468config-cmake.in is converted into config.h. If you are going to build PCRE2 "by 469hand" without using "configure" or CMake, you should copy the distributed 470config.h.generic to config.h, and edit the macro definitions to be the way you 471need them. You must then add -DHAVE_CONFIG_H to all of your compile commands, 472so that config.h is included at the start of every source. 473 474Alternatively, you can avoid editing by using -D on the compiler command line 475to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H, 476but if you do, default values will be taken from config.h for non-boolean 477macros that are not defined on the command line. 478 479Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be 480defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All 481such macros are listed as a commented #undef in config.h.generic. Macros such 482as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are 483surrounded by #ifndef/#endif lines so that the value can be overridden by -D. 484 485PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if 486HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make 487sure both macros are undefined; an emulation function will then be used. */]) 488 489# Checks for header files. 490AC_CHECK_HEADERS(limits.h sys/types.h sys/stat.h dirent.h) 491AC_CHECK_HEADERS([windows.h], [HAVE_WINDOWS_H=1]) 492AC_CHECK_HEADERS([sys/wait.h], [HAVE_SYS_WAIT_H=1]) 493 494# Conditional compilation 495AM_CONDITIONAL(WITH_PCRE2_8, test "x$enable_pcre2_8" = "xyes") 496AM_CONDITIONAL(WITH_PCRE2_16, test "x$enable_pcre2_16" = "xyes") 497AM_CONDITIONAL(WITH_PCRE2_32, test "x$enable_pcre2_32" = "xyes") 498AM_CONDITIONAL(WITH_DEBUG, test "x$enable_debug" = "xyes") 499AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes") 500AM_CONDITIONAL(WITH_JIT, test "x$enable_jit" = "xyes") 501AM_CONDITIONAL(WITH_UNICODE, test "x$enable_unicode" = "xyes") 502AM_CONDITIONAL(WITH_VALGRIND, test "x$enable_valgrind" = "xyes") 503AM_CONDITIONAL(WITH_FUZZ_SUPPORT, test "x$enable_fuzz_support" = "xyes") 504 505if test "$enable_fuzz_support" = "yes" -a "$enable_pcre2_8" = "no"; then 506 echo "** ERROR: Fuzzer support requires the 8-bit library" 507 exit 1 508fi 509 510# Checks for typedefs, structures, and compiler characteristics. 511 512AC_C_CONST 513AC_TYPE_SIZE_T 514 515# Checks for library functions. 516 517AC_CHECK_FUNCS(bcopy memfd_create memmove mkostemp secure_getenv strerror) 518AC_MSG_CHECKING([for realpath]) 519AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 520#include <stdlib.h> 521#include <limits.h> 522]],[[ 523char buffer[PATH_MAX]; 524realpath(".", buffer); 525]])], 526[AC_MSG_RESULT([yes]) 527 AC_DEFINE([HAVE_REALPATH], 1, 528 [Define to 1 if you have the `realpath' function.]) 529], 530AC_MSG_RESULT([no])) 531 532# Check for the availability of libz (aka zlib) 533 534AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1]) 535AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1]) 536 537# Check for the availability of libbz2. Originally we just used AC_CHECK_LIB, 538# as for libz. However, this had the following problem, diagnosed and fixed by 539# a user: 540# 541# - libbz2 uses the Pascal calling convention (WINAPI) for the functions 542# under Win32. 543# - The standard autoconf AC_CHECK_LIB fails to include "bzlib.h", 544# therefore missing the function definition. 545# - The compiler thus generates a "C" signature for the test function. 546# - The linker fails to find the "C" function. 547# - PCRE2 fails to configure if asked to do so against libbz2. 548# 549# Solution: 550# 551# - Replace the AC_CHECK_LIB test with a custom test. 552 553AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1]) 554# Original test 555# AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1]) 556# 557# Custom test follows 558 559AC_MSG_CHECKING([for libbz2]) 560OLD_LIBS="$LIBS" 561LIBS="$LIBS -lbz2" 562AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 563#ifdef HAVE_BZLIB_H 564#include <bzlib.h> 565#endif]], 566[[return (int)BZ2_bzopen("conftest", "rb");]])], 567[AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;], 568AC_MSG_RESULT([no])) 569LIBS="$OLD_LIBS" 570 571# Check for the availabiity of libreadline 572 573if test "$enable_pcre2test_libreadline" = "yes"; then 574 AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1]) 575 AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1]) 576 AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lreadline"], 577 [unset ac_cv_lib_readline_readline; 578 AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-ltinfo"], 579 [unset ac_cv_lib_readline_readline; 580 AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lcurses"], 581 [unset ac_cv_lib_readline_readline; 582 AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncurses"], 583 [unset ac_cv_lib_readline_readline; 584 AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncursesw"], 585 [unset ac_cv_lib_readline_readline; 586 AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-ltermcap"], 587 [LIBREADLINE=""], 588 [-ltermcap])], 589 [-lncursesw])], 590 [-lncurses])], 591 [-lcurses])], 592 [-ltinfo])]) 593 AC_SUBST(LIBREADLINE) 594 if test -n "$LIBREADLINE"; then 595 if test "$LIBREADLINE" != "-lreadline"; then 596 echo "-lreadline needs $LIBREADLINE" 597 LIBREADLINE="-lreadline $LIBREADLINE" 598 fi 599 fi 600fi 601 602# Check for the availability of libedit. Different distributions put its 603# headers in different places. Try to cover the most common ones. 604 605if test "$enable_pcre2test_libedit" = "yes"; then 606 AC_CHECK_HEADERS([editline/readline.h edit/readline/readline.h readline.h], [ 607 HAVE_LIBEDIT_HEADER=1 608 break 609 ]) 610 AC_CHECK_LIB([edit], [readline], [LIBEDIT="-ledit"]) 611fi 612 613PCRE2_STATIC_CFLAG="" 614if test "x$enable_shared" = "xno" ; then 615 AC_DEFINE([PCRE2_STATIC], [1], [ 616 Define to any value if linking statically (TODO: make nice with Libtool)]) 617 PCRE2_STATIC_CFLAG="-DPCRE2_STATIC" 618fi 619AC_SUBST(PCRE2_STATIC_CFLAG) 620 621# Here is where PCRE2-specific defines are handled 622 623if test "$enable_pcre2_8" = "yes"; then 624 AC_DEFINE([SUPPORT_PCRE2_8], [], [ 625 Define to any value to enable the 8 bit PCRE2 library.]) 626fi 627 628if test "$enable_pcre2_16" = "yes"; then 629 AC_DEFINE([SUPPORT_PCRE2_16], [], [ 630 Define to any value to enable the 16 bit PCRE2 library.]) 631fi 632 633if test "$enable_pcre2_32" = "yes"; then 634 AC_DEFINE([SUPPORT_PCRE2_32], [], [ 635 Define to any value to enable the 32 bit PCRE2 library.]) 636fi 637 638if test "$enable_debug" = "yes"; then 639 AC_DEFINE([PCRE2_DEBUG], [], [ 640 Define to any value to include debugging code.]) 641fi 642 643if test "$enable_percent_zt" = "no"; then 644 AC_DEFINE([DISABLE_PERCENT_ZT], [], [ 645 Define to any value to disable the use of the z and t modifiers in 646 formatting settings such as %zu or %td (this is rarely needed).]) 647else 648 enable_percent_zt=auto 649fi 650 651# Unless running under Windows, JIT support requires pthreads. 652 653if test "$enable_jit" = "yes"; then 654 if test "$HAVE_WINDOWS_H" != "1"; then 655 AX_PTHREAD([], [AC_MSG_ERROR([JIT support requires pthreads])]) 656 CC="$PTHREAD_CC" 657 CFLAGS="$PTHREAD_CFLAGS $CFLAGS" 658 LIBS="$PTHREAD_LIBS $LIBS" 659 fi 660 AC_DEFINE([SUPPORT_JIT], [], [ 661 Define to any value to enable support for Just-In-Time compiling.]) 662else 663 enable_pcre2grep_jit="no" 664fi 665 666if test "$enable_jit_sealloc" = "yes"; then 667 AC_DEFINE([SLJIT_PROT_EXECUTABLE_ALLOCATOR], [1], [ 668 Define to any non-zero number to enable support for SELinux 669 compatible executable memory allocator in JIT. Note that this 670 will have no effect unless SUPPORT_JIT is also defined.]) 671fi 672 673if test "$enable_pcre2grep_jit" = "yes"; then 674 AC_DEFINE([SUPPORT_PCRE2GREP_JIT], [], [ 675 Define to any value to enable JIT support in pcre2grep. Note that this will 676 have no effect unless SUPPORT_JIT is also defined.]) 677fi 678 679if test "$enable_pcre2grep_callout" = "yes"; then 680 if test "$enable_pcre2grep_callout_fork" = "yes"; then 681 if test "$HAVE_WINDOWS_H" != "1"; then 682 if test "$HAVE_SYS_WAIT_H" != "1"; then 683 AC_MSG_ERROR([Callout script support needs sys/wait.h.]) 684 fi 685 fi 686 AC_DEFINE([SUPPORT_PCRE2GREP_CALLOUT_FORK], [], [ 687 Define to any value to enable fork support in pcre2grep callout scripts. 688 This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also 689 defined.]) 690 fi 691 AC_DEFINE([SUPPORT_PCRE2GREP_CALLOUT], [], [ 692 Define to any value to enable callout script support in pcre2grep.]) 693else 694 enable_pcre2grep_callout_fork="no" 695fi 696 697if test "$enable_unicode" = "yes"; then 698 AC_DEFINE([SUPPORT_UNICODE], [], [ 699 Define to any value to enable support for Unicode and UTF encoding. 700 This will work even in an EBCDIC environment, but it is incompatible 701 with the EBCDIC macro. That is, PCRE2 can support *either* EBCDIC 702 code *or* ASCII/Unicode, but not both at once.]) 703fi 704 705if test "$enable_pcre2grep_libz" = "yes"; then 706 AC_DEFINE([SUPPORT_LIBZ], [], [ 707 Define to any value to allow pcre2grep to be linked with libz, so that it is 708 able to handle .gz files.]) 709fi 710 711if test "$enable_pcre2grep_libbz2" = "yes"; then 712 AC_DEFINE([SUPPORT_LIBBZ2], [], [ 713 Define to any value to allow pcre2grep to be linked with libbz2, so that it 714 is able to handle .bz2 files.]) 715fi 716 717if test $with_pcre2grep_bufsize -lt 8192 ; then 718 AC_MSG_WARN([$with_pcre2grep_bufsize is too small for --with-pcre2grep-bufsize; using 8192]) 719 with_pcre2grep_bufsize="8192" 720else 721 if test $? -gt 1 ; then 722 AC_MSG_ERROR([Bad value for --with-pcre2grep-bufsize]) 723 fi 724fi 725 726if test $with_pcre2grep_max_bufsize -lt $with_pcre2grep_bufsize ; then 727 with_pcre2grep_max_bufsize="$with_pcre2grep_bufsize" 728else 729 if test $? -gt 1 ; then 730 AC_MSG_ERROR([Bad value for --with-pcre2grep-max-bufsize]) 731 fi 732fi 733 734AC_DEFINE_UNQUOTED([PCRE2GREP_BUFSIZE], [$with_pcre2grep_bufsize], [ 735 The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by 736 pcre2grep to hold parts of the file it is searching. The buffer will be 737 expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing very 738 long lines. The actual amount of memory used by pcre2grep is three times this 739 number, because it allows for the buffering of "before" and "after" lines.]) 740 741AC_DEFINE_UNQUOTED([PCRE2GREP_MAX_BUFSIZE], [$with_pcre2grep_max_bufsize], [ 742 The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer 743 used by pcre2grep to hold parts of the file it is searching. The actual 744 amount of memory used by pcre2grep is three times this number, because it 745 allows for the buffering of "before" and "after" lines.]) 746 747if test "$enable_pcre2test_libedit" = "yes"; then 748 AC_DEFINE([SUPPORT_LIBEDIT], [], [ 749 Define to any value to allow pcre2test to be linked with libedit.]) 750 LIBREADLINE="$LIBEDIT" 751elif test "$enable_pcre2test_libreadline" = "yes"; then 752 AC_DEFINE([SUPPORT_LIBREADLINE], [], [ 753 Define to any value to allow pcre2test to be linked with libreadline.]) 754fi 755 756AC_DEFINE_UNQUOTED([NEWLINE_DEFAULT], [$ac_pcre2_newline_value], [ 757 The value of NEWLINE_DEFAULT determines the default newline character 758 sequence. PCRE2 client programs can override this by selecting other values 759 at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 760 5 (ANYCRLF), and 6 (NUL).]) 761 762if test "$enable_bsr_anycrlf" = "yes"; then 763 AC_DEFINE([BSR_ANYCRLF], [], [ 764 By default, the \R escape sequence matches any Unicode line ending 765 character or sequence of characters. If BSR_ANYCRLF is defined (to any 766 value), this is changed so that backslash-R matches only CR, LF, or CRLF. 767 The build-time default can be overridden by the user of PCRE2 at runtime.]) 768fi 769 770if test "$enable_never_backslash_C" = "yes"; then 771 AC_DEFINE([NEVER_BACKSLASH_C], [], [ 772 Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns.]) 773fi 774 775AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [ 776 The value of LINK_SIZE determines the number of bytes used to store 777 links as offsets within the compiled regex. The default is 2, which 778 allows for compiled patterns up to 65535 code units long. This covers the 779 vast majority of cases. However, PCRE2 can also be compiled to use 3 or 4 780 bytes instead. This allows for longer patterns in extreme cases.]) 781 782AC_DEFINE_UNQUOTED([PARENS_NEST_LIMIT], [$with_parens_nest_limit], [ 783 The value of PARENS_NEST_LIMIT specifies the maximum depth of nested 784 parentheses (of any kind) in a pattern. This limits the amount of system 785 stack that is used while compiling a pattern.]) 786 787AC_DEFINE_UNQUOTED([MATCH_LIMIT], [$with_match_limit], [ 788 The value of MATCH_LIMIT determines the default number of times the 789 pcre2_match() function can record a backtrack position during a single 790 matching attempt. The value is also used to limit a loop counter in 791 pcre2_dfa_match(). There is a runtime interface for setting a different 792 limit. The limit exists in order to catch runaway regular expressions that 793 take for ever to determine that they do not match. The default is set very 794 large so that it does not accidentally catch legitimate cases.]) 795 796# --with-match-limit-recursion is an obsolete synonym for --with-match-limit-depth 797 798if test "$with_match_limit_recursion" != "UNSET"; then 799cat <<EOF 800 801WARNING: --with-match-limit-recursion is an obsolete option. Please use 802 --with-match-limit-depth in future. If both are set, --with-match-limit-depth 803 will be used. See also --with-heap-limit. 804 805EOF 806if test "$with_match_limit_depth" = "MATCH_LIMIT"; then 807 with_match_limit_depth=$with_match_limit_recursion 808fi 809fi 810 811AC_DEFINE_UNQUOTED([MATCH_LIMIT_DEPTH], [$with_match_limit_depth], [ 812 The above limit applies to all backtracks, whether or not they are nested. In 813 some environments it is desirable to limit the nesting of backtracking (that 814 is, the depth of tree that is searched) more strictly, in order to restrict 815 the maximum amount of heap memory that is used. The value of 816 MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it must 817 be less than the value of MATCH_LIMIT. The default is to use the same value 818 as MATCH_LIMIT. There is a runtime method for setting a different limit. In 819 the case of pcre2_dfa_match(), this limit controls the depth of the internal 820 nested function calls that are used for pattern recursions, lookarounds, and 821 atomic groups.]) 822 823AC_DEFINE_UNQUOTED([HEAP_LIMIT], [$with_heap_limit], [ 824 This limits the amount of memory that may be used while matching 825 a pattern. It applies to both pcre2_match() and pcre2_dfa_match(). It does 826 not apply to JIT matching. The value is in kibibytes (units of 1024 bytes).]) 827 828AC_DEFINE([MAX_NAME_SIZE], [32], [ 829 This limit is parameterized just in case anybody ever wants to 830 change it. Care must be taken if it is increased, because it guards 831 against integer overflow caused by enormously large patterns.]) 832 833AC_DEFINE([MAX_NAME_COUNT], [10000], [ 834 This limit is parameterized just in case anybody ever wants to 835 change it. Care must be taken if it is increased, because it guards 836 against integer overflow caused by enormously large patterns.]) 837 838AH_VERBATIM([PCRE2_EXP_DEFN], [ 839/* If you are compiling for a system other than a Unix-like system or 840 Win32, and it needs some magic to be inserted before the definition 841 of a function that is exported by the library, define this macro to 842 contain the relevant magic. If you do not define this macro, a suitable 843 __declspec value is used for Windows systems; in other environments 844 "extern" is used for a C compiler and "extern C" for a C++ compiler. 845 This macro apears at the start of every exported function that is part 846 of the external API. It does not appear on functions that are "external" 847 in the C sense, but which are internal to the library. */ 848#undef PCRE2_EXP_DEFN]) 849 850if test "$enable_ebcdic" = "yes"; then 851 AC_DEFINE_UNQUOTED([EBCDIC], [], [ 852 If you are compiling for a system that uses EBCDIC instead of ASCII 853 character codes, define this macro to any value. When EBCDIC is set, PCRE2 854 assumes that all input strings are in EBCDIC. If you do not define this 855 macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It 856 is not possible to build a version of PCRE2 that supports both EBCDIC and 857 UTF-8/16/32.]) 858fi 859 860if test "$enable_ebcdic_nl25" = "yes"; then 861 AC_DEFINE_UNQUOTED([EBCDIC_NL25], [], [ 862 In an EBCDIC environment, define this macro to any value to arrange for 863 the NL character to be 0x25 instead of the default 0x15. NL plays the role 864 that LF does in an ASCII/Unicode environment.]) 865fi 866 867if test "$enable_valgrind" = "yes"; then 868 AC_DEFINE_UNQUOTED([SUPPORT_VALGRIND], [], [ 869 Define to any value for valgrind support to find invalid memory reads.]) 870fi 871 872# Platform specific issues 873NO_UNDEFINED= 874EXPORT_ALL_SYMBOLS= 875case $host_os in 876 cygwin* | mingw* ) 877 if test X"$enable_shared" = Xyes; then 878 NO_UNDEFINED="-no-undefined" 879 EXPORT_ALL_SYMBOLS="-Wl,--export-all-symbols" 880 fi 881 ;; 882esac 883 884# The extra LDFLAGS for each particular library. The libpcre2*_version values 885# are m4 variables, assigned above. 886 887EXTRA_LIBPCRE2_8_LDFLAGS="$EXTRA_LIBPCRE2_8_LDFLAGS \ 888 $NO_UNDEFINED -version-info libpcre2_8_version" 889 890EXTRA_LIBPCRE2_16_LDFLAGS="$EXTRA_LIBPCRE2_16_LDFLAGS \ 891 $NO_UNDEFINED -version-info libpcre2_16_version" 892 893EXTRA_LIBPCRE2_32_LDFLAGS="$EXTRA_LIBPCRE2_32_LDFLAGS \ 894 $NO_UNDEFINED -version-info libpcre2_32_version" 895 896EXTRA_LIBPCRE2_POSIX_LDFLAGS="$EXTRA_LIBPCRE2_POSIX_LDFLAGS \ 897 $NO_UNDEFINED -version-info libpcre2_posix_version" 898 899AC_SUBST(EXTRA_LIBPCRE2_8_LDFLAGS) 900AC_SUBST(EXTRA_LIBPCRE2_16_LDFLAGS) 901AC_SUBST(EXTRA_LIBPCRE2_32_LDFLAGS) 902AC_SUBST(EXTRA_LIBPCRE2_POSIX_LDFLAGS) 903 904# When we run 'make distcheck', use these arguments. Turning off compiler 905# optimization makes it run faster. 906DISTCHECK_CONFIGURE_FLAGS="CFLAGS='' CXXFLAGS='' --enable-pcre2-16 --enable-pcre2-32 --enable-jit" 907AC_SUBST(DISTCHECK_CONFIGURE_FLAGS) 908 909# Check that, if --enable-pcre2grep-libz or --enable-pcre2grep-libbz2 is 910# specified, the relevant library is available. 911 912if test "$enable_pcre2grep_libz" = "yes"; then 913 if test "$HAVE_ZLIB_H" != "1"; then 914 echo "** Cannot --enable-pcre2grep-libz because zlib.h was not found" 915 exit 1 916 fi 917 if test "$HAVE_LIBZ" != "1"; then 918 echo "** Cannot --enable-pcre2grep-libz because libz was not found" 919 exit 1 920 fi 921 LIBZ="-lz" 922fi 923AC_SUBST(LIBZ) 924 925if test "$enable_pcre2grep_libbz2" = "yes"; then 926 if test "$HAVE_BZLIB_H" != "1"; then 927 echo "** Cannot --enable-pcre2grep-libbz2 because bzlib.h was not found" 928 exit 1 929 fi 930 if test "$HAVE_LIBBZ2" != "1"; then 931 echo "** Cannot --enable-pcre2grep-libbz2 because libbz2 was not found" 932 exit 1 933 fi 934 LIBBZ2="-lbz2" 935fi 936AC_SUBST(LIBBZ2) 937 938# Similarly for --enable-pcre2test-readline 939 940if test "$enable_pcre2test_libedit" = "yes"; then 941 if test "$enable_pcre2test_libreadline" = "yes"; then 942 echo "** Cannot use both --enable-pcre2test-libedit and --enable-pcre2test-readline" 943 exit 1 944 fi 945 if test -z "$HAVE_LIBEDIT_HEADER"; then 946 echo "** Cannot --enable-pcre2test-libedit because neither editline/readline.h," 947 echo "** edit/readline/readline.h nor a compatible header was found." 948 exit 1 949 fi 950 if test -z "$LIBEDIT"; then 951 echo "** Cannot --enable-pcre2test-libedit because libedit library was not found." 952 exit 1 953 fi 954fi 955 956if test "$enable_pcre2test_libreadline" = "yes"; then 957 if test "$HAVE_READLINE_H" != "1"; then 958 echo "** Cannot --enable-pcre2test-readline because readline/readline.h was not found." 959 exit 1 960 fi 961 if test "$HAVE_HISTORY_H" != "1"; then 962 echo "** Cannot --enable-pcre2test-readline because readline/history.h was not found." 963 exit 1 964 fi 965 if test -z "$LIBREADLINE"; then 966 echo "** Cannot --enable-pcre2test-readline because readline library was not found." 967 exit 1 968 fi 969fi 970 971# Handle valgrind support 972 973if test "$enable_valgrind" = "yes"; then 974 m4_ifdef([PKG_CHECK_MODULES], 975 [PKG_CHECK_MODULES([VALGRIND],[valgrind])], 976 [AC_MSG_ERROR([pkg-config not supported])]) 977fi 978 979# Handle code coverage reporting support 980if test "$enable_coverage" = "yes"; then 981 if test "x$GCC" != "xyes"; then 982 AC_MSG_ERROR([Code coverage reports can only be generated when using GCC]) 983 fi 984 985 # ccache is incompatible with gcov 986 AC_PATH_PROG([SHTOOL],[shtool],[false]) 987 case `$SHTOOL path $CC` in 988 *ccache*) cc_ccache=yes;; 989 *) cc_ccache=no;; 990 esac 991 992 if test "$cc_ccache" = "yes"; then 993 if test -z "$CCACHE_DISABLE" -o "$CCACHE_DISABLE" != "1"; then 994 AC_MSG_ERROR([must export CCACHE_DISABLE=1 to disable ccache for code coverage]) 995 fi 996 fi 997 998 AC_ARG_VAR([LCOV],[the ltp lcov program]) 999 AC_PATH_PROG([LCOV],[lcov],[false]) 1000 if test "x$LCOV" = "xfalse"; then 1001 AC_MSG_ERROR([lcov not found]) 1002 fi 1003 1004 AC_ARG_VAR([GENHTML],[the ltp genhtml program]) 1005 AC_PATH_PROG([GENHTML],[genhtml],[false]) 1006 if test "x$GENHTML" = "xfalse"; then 1007 AC_MSG_ERROR([genhtml not found]) 1008 fi 1009 1010 # Set flags needed for gcov 1011 GCOV_CFLAGS="-O0 -ggdb3 -fprofile-arcs -ftest-coverage" 1012 GCOV_CXXFLAGS="-O0 -ggdb3 -fprofile-arcs -ftest-coverage" 1013 GCOV_LIBS="-lgcov" 1014 AC_SUBST([GCOV_CFLAGS]) 1015 AC_SUBST([GCOV_CXXFLAGS]) 1016 AC_SUBST([GCOV_LIBS]) 1017fi # enable_coverage 1018 1019AM_CONDITIONAL([WITH_GCOV],[test "x$enable_coverage" = "xyes"]) 1020 1021AC_MSG_CHECKING([whether Intel CET is enabled]) 1022AC_LANG_PUSH([C]) 1023AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, 1024 [[#ifndef __CET__ 1025# error CET is not enabled 1026#endif]])], 1027 [pcre2_cc_cv_intel_cet_enabled=yes], 1028 [pcre2_cc_cv_intel_cet_enabled=no]) 1029AC_MSG_RESULT([$pcre2_cc_cv_intel_cet_enabled]) 1030if test "$pcre2_cc_cv_intel_cet_enabled" = yes; then 1031 CET_CFLAGS="-mshstk" 1032 AC_SUBST([CET_CFLAGS]) 1033fi 1034AC_LANG_POP([C]) 1035 1036# LIB_POSTFIX is used by CMakeLists.txt for Windows debug builds. 1037# Pass empty LIB_POSTFIX to *.pc files and pcre2-config here. 1038AC_SUBST(LIB_POSTFIX) 1039 1040# Produce these files, in addition to config.h. 1041 1042AC_CONFIG_FILES( 1043 Makefile 1044 libpcre2-8.pc 1045 libpcre2-16.pc 1046 libpcre2-32.pc 1047 libpcre2-posix.pc 1048 pcre2-config 1049 src/pcre2.h 1050) 1051 1052# Make the generated script files executable. 1053AC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre2-config]) 1054 1055# Make sure that pcre2_chartables.c is removed in case the method for 1056# creating it was changed by reconfiguration. 1057AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre2_chartables.c]) 1058 1059AC_OUTPUT 1060 1061# --disable-stack-for-recursion is obsolete and has no effect. 1062 1063if test "$enable_stack_for_recursion" = "no"; then 1064cat <<EOF 1065 1066WARNING: --disable-stack-for-recursion is obsolete and has no effect. 1067EOF 1068fi 1069 1070# Print out a nice little message after configure is run displaying the 1071# chosen options. 1072 1073ebcdic_nl_code=n/a 1074if test "$enable_ebcdic_nl25" = "yes"; then 1075 ebcdic_nl_code=0x25 1076elif test "$enable_ebcdic" = "yes"; then 1077 ebcdic_nl_code=0x15 1078fi 1079 1080cat <<EOF 1081 1082$PACKAGE-$VERSION configuration summary: 1083 1084 Install prefix ..................... : ${prefix} 1085 C preprocessor ..................... : ${CPP} 1086 C compiler ......................... : ${CC} 1087 Linker ............................. : ${LD} 1088 C preprocessor flags ............... : ${CPPFLAGS} 1089 C compiler flags ................... : ${CFLAGS} ${VISIBILITY_CFLAGS} 1090 Linker flags ....................... : ${LDFLAGS} 1091 Extra libraries .................... : ${LIBS} 1092 1093 Build 8-bit pcre2 library .......... : ${enable_pcre2_8} 1094 Build 16-bit pcre2 library ......... : ${enable_pcre2_16} 1095 Build 32-bit pcre2 library ......... : ${enable_pcre2_32} 1096 Include debugging code ............. : ${enable_debug} 1097 Enable JIT compiling support ....... : ${enable_jit} 1098 Use SELinux allocator in JIT ....... : ${enable_jit_sealloc} 1099 Enable Unicode support ............. : ${enable_unicode} 1100 Newline char/sequence .............. : ${enable_newline} 1101 \R matches only ANYCRLF ............ : ${enable_bsr_anycrlf} 1102 \C is disabled ..................... : ${enable_never_backslash_C} 1103 EBCDIC coding ...................... : ${enable_ebcdic} 1104 EBCDIC code for NL ................. : ${ebcdic_nl_code} 1105 Rebuild char tables ................ : ${enable_rebuild_chartables} 1106 Internal link size ................. : ${with_link_size} 1107 Nested parentheses limit ........... : ${with_parens_nest_limit} 1108 Heap limit ......................... : ${with_heap_limit} kibibytes 1109 Match limit ........................ : ${with_match_limit} 1110 Match depth limit .................. : ${with_match_limit_depth} 1111 Build shared libs .................. : ${enable_shared} 1112 Build static libs .................. : ${enable_static} 1113 Use JIT in pcre2grep ............... : ${enable_pcre2grep_jit} 1114 Enable callouts in pcre2grep ....... : ${enable_pcre2grep_callout} 1115 Enable fork in pcre2grep callouts .. : ${enable_pcre2grep_callout_fork} 1116 Initial buffer size for pcre2grep .. : ${with_pcre2grep_bufsize} 1117 Maximum buffer size for pcre2grep .. : ${with_pcre2grep_max_bufsize} 1118 Link pcre2grep with libz ........... : ${enable_pcre2grep_libz} 1119 Link pcre2grep with libbz2 ......... : ${enable_pcre2grep_libbz2} 1120 Link pcre2test with libedit ........ : ${enable_pcre2test_libedit} 1121 Link pcre2test with libreadline .... : ${enable_pcre2test_libreadline} 1122 Valgrind support ................... : ${enable_valgrind} 1123 Code coverage ...................... : ${enable_coverage} 1124 Fuzzer support ..................... : ${enable_fuzz_support} 1125 Use %zu and %td .................... : ${enable_percent_zt} 1126 1127EOF 1128 1129dnl end configure.ac 1130