|
|
/* src/config.h. Generated from config.h.in by configure. */ |
|
|
/* src/config.h.in. Generated from configure.ac by autoheader. */ |
|
|
|
|
|
/* PCRE2 is written in Standard C, but there are a few non-standard things it |
|
|
can cope with, allowing it to run on SunOS4 and other "close to standard" |
|
|
systems. |
|
|
|
|
|
In environments that support the GNU autotools, config.h.in is converted into |
|
|
config.h by the "configure" script. In environments that use CMake, |
|
|
config-cmake.in is converted into config.h. If you are going to build PCRE2 "by |
|
|
hand" without using "configure" or CMake, you should copy the distributed |
|
|
config.h.generic to config.h, and edit the macro definitions to be the way you |
|
|
need them. You must then add -DHAVE_CONFIG_H to all of your compile commands, |
|
|
so that config.h is included at the start of every source. |
|
|
|
|
|
Alternatively, you can avoid editing by using -D on the compiler command line |
|
|
to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H, |
|
|
but if you do, default values will be taken from config.h for non-boolean |
|
|
macros that are not defined on the command line. |
|
|
|
|
|
Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be |
|
|
defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All |
|
|
such macros are listed as a commented |
|
|
as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are |
|
|
surrounded by |
|
|
|
|
|
/* By default, the \R escape sequence matches any Unicode line ending |
|
|
character or sequence of characters. If BSR_ANYCRLF is defined (to any |
|
|
value), this is changed so that backslash-R matches only CR, LF, or CRLF. |
|
|
The build-time default can be overridden by the user of PCRE2 at runtime. |
|
|
*/ |
|
|
/* |
|
|
|
|
|
/* Define to any value to disable the use of the z and t modifiers in |
|
|
formatting settings such as %zu or %td (this is rarely needed). */ |
|
|
/* |
|
|
|
|
|
/* If you are compiling for a system that uses EBCDIC instead of ASCII |
|
|
character codes, define this macro to any value. When EBCDIC is set, PCRE2 |
|
|
assumes that all input strings are in EBCDIC. If you do not define this |
|
|
macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It |
|
|
is not possible to build a version of PCRE2 that supports both EBCDIC and |
|
|
ASCII or UTF-8/16/32. */ |
|
|
/* |
|
|
|
|
|
/* To force an EBCDIC environment, define this macro to make the core PCRE2 |
|
|
library functions use EBCDIC codepage 1047, regardless of whether the |
|
|
compiler supports it using C character literals. */ |
|
|
/* |
|
|
|
|
|
/* In an EBCDIC environment, define this macro to any value to arrange for the |
|
|
NL character to be 0x25 instead of the default 0x15. NL plays the role that |
|
|
LF does in an ASCII/Unicode environment. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <assert.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define this if your compiler supports __attribute__((uninitialized)) */ |
|
|
/* |
|
|
|
|
|
/* Define this if your compiler provides __assume() */ |
|
|
/* |
|
|
|
|
|
/* Define this if your compiler provides __builtin_mul_overflow() */ |
|
|
/* |
|
|
|
|
|
/* Define this if your compiler provides __builtin_unreachable() */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <bzlib.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <dirent.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <dlfcn.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <editline/readline.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <edit/readline/readline.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <limits.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the `memfd_create' function. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <minix/config.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the `mkostemp' function. */ |
|
|
/* |
|
|
|
|
|
/* Define if you have POSIX threads libraries and header files. */ |
|
|
/* |
|
|
|
|
|
/* Have PTHREAD_PRIO_INHERIT. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <readline.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <readline/history.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <readline/readline.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the `realpath' function. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the `secure_getenv' function. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <stdio.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <sys/wait.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if the compiler supports GCC compatible visibility |
|
|
declarations. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <wchar.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <windows.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if you have the <zlib.h> header file. */ |
|
|
/* |
|
|
|
|
|
/* This limits the amount of memory that may be used while matching a pattern. |
|
|
It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply |
|
|
to JIT matching. The value is in kibibytes (units of 1024 bytes). */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* The value of LINK_SIZE determines the number of bytes used to store links |
|
|
as offsets within the compiled regex. The default is 2, which allows for |
|
|
compiled patterns up to 65535 code units long. This covers the vast |
|
|
majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes |
|
|
instead. This allows for longer patterns in extreme cases. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Define to the sub-directory where libtool stores uninstalled libraries. */ |
|
|
/* This is ignored unless you are using libtool. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* The value of MATCH_LIMIT determines the default number of times the |
|
|
pcre2_match() function can record a backtrack position during a single |
|
|
matching attempt. The value is also used to limit a loop counter in |
|
|
pcre2_dfa_match(). There is a runtime interface for setting a different |
|
|
limit. The limit exists in order to catch runaway regular expressions that |
|
|
take forever to determine that they do not match. The default is set very |
|
|
large so that it does not accidentally catch legitimate cases. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* The above limit applies to all backtracks, whether or not they are nested. |
|
|
In some environments it is desirable to limit the nesting of backtracking |
|
|
(that is, the depth of tree that is searched) more strictly, in order to |
|
|
restrict the maximum amount of heap memory that is used. The value of |
|
|
MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it |
|
|
must be less than the value of MATCH_LIMIT. The default is to use the same |
|
|
value as MATCH_LIMIT. There is a runtime method for setting a different |
|
|
limit. In the case of pcre2_dfa_match(), this limit controls the depth of |
|
|
the internal nested function calls that are used for pattern recursions, |
|
|
lookarounds, and atomic groups. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* This limit is parameterized just in case anybody ever wants to change it. |
|
|
Care must be taken if it is increased, because it guards against integer |
|
|
overflow caused by enormously large patterns. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* This limit is parameterized just in case anybody ever wants to change it. |
|
|
Care must be taken if it is increased, because it guards against integer |
|
|
overflow caused by enormously large patterns. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* The value of MAX_VARLOOKBEHIND specifies the default maximum length, in |
|
|
characters, for a variable-length lookbehind assertion. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns. */ |
|
|
/* |
|
|
|
|
|
/* The value of NEWLINE_DEFAULT determines the default newline character |
|
|
sequence. PCRE2 client programs can override this by selecting other values |
|
|
at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5 |
|
|
(ANYCRLF), and 6 (NUL). */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Name of package */ |
|
|
|
|
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */ |
|
|
|
|
|
|
|
|
/* Define to the full name of this package. */ |
|
|
|
|
|
|
|
|
/* Define to the full name and version of this package. */ |
|
|
|
|
|
|
|
|
/* Define to the one symbol short name of this package. */ |
|
|
|
|
|
|
|
|
/* Define to the home page for this package. */ |
|
|
|
|
|
|
|
|
/* Define to the version of this package. */ |
|
|
|
|
|
|
|
|
/* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested |
|
|
parentheses (of any kind) in a pattern. This limits the amount of system |
|
|
stack that is used while compiling a pattern. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by |
|
|
pcre2grep to hold parts of the file it is searching. The buffer will be |
|
|
expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing |
|
|
very long lines. The actual amount of memory used by pcre2grep is three |
|
|
times this number, because it allows for the buffering of "before" and |
|
|
"after" lines. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer |
|
|
used by pcre2grep to hold parts of the file it is searching. The actual |
|
|
amount of memory used by pcre2grep is three times this number, because it |
|
|
allows for the buffering of "before" and "after" lines. */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* See PCRE2_EXP_DEFN; but this is applied to functions in the libpcre2-posix |
|
|
library. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value if linking libpcre2-posix dynamically. Ideally, if both |
|
|
static and shared libraries are being built, then PCRE2POSIX_SHARED would |
|
|
be defined only for the shared build. Indeed, this is a requirement on |
|
|
Windows. However, when building with Autoconf and libtool, we compile the |
|
|
sources once only to create both the static and shared library, so in this |
|
|
case, PCRE2POSIX_SHARED should only be defined if the shared library is |
|
|
being built, regardless of whether or not the static library is also being |
|
|
built. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to include debugging code. */ |
|
|
/* |
|
|
|
|
|
/* Define to the annotation for making a symbol visible. */ |
|
|
|
|
|
|
|
|
/* If you are compiling for a system other than a Unix-like system or |
|
|
Win32, and it needs some magic to be inserted before the definition |
|
|
of a function that is exported by the library, define this macro to |
|
|
contain the relevant magic. If you do not define this macro, a suitable |
|
|
__declspec value is used for Windows systems; in other environments |
|
|
a compiler relevant "extern" is used with any "visibility" related |
|
|
attributes from PCRE2_EXPORT included. |
|
|
This macro apears at the start of every exported function that is part |
|
|
of the external API. It does not appear on functions that are "external" |
|
|
in the C sense, but which are internal to the library. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value if linking statically. Ideally, if both static and |
|
|
shared libraries are being built, then PCRE2_STATIC would be defined only |
|
|
for the static build. Indeed, this is a requirement on Windows. With |
|
|
Autoconf and libtool however, it is idiomatic to compile the sources once |
|
|
to create both the static and shared library, so in this case, PCRE2_STATIC |
|
|
should only be defined if no shared library is being built. */ |
|
|
/* |
|
|
|
|
|
/* Define to necessary symbol if this constant uses a non-standard name on |
|
|
your system. */ |
|
|
/* |
|
|
|
|
|
/* Define to any non-zero number to enable support for SELinux compatible |
|
|
executable memory allocator in JIT. Note that this will have no effect |
|
|
unless SUPPORT_JIT is also defined. */ |
|
|
/* |
|
|
|
|
|
/* Define to 1 if all of the C90 standard headers exist (not just the ones |
|
|
required in a freestanding environment). This macro is provided for |
|
|
backward compatibility; new code need not use it. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable differential fuzzing support. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable support for Just-In-Time compiling. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to allow pcre2grep to be linked with libbz2, so that it |
|
|
is able to handle .bz2 files. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to allow pcre2test to be linked with libedit. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to allow pcre2test to be linked with libreadline. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to allow pcre2grep to be linked with libz, so that it |
|
|
is able to handle .gz files. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable callout script support in pcre2grep. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable fork support in pcre2grep callout scripts. |
|
|
This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined. |
|
|
*/ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable JIT support in pcre2grep. Note that this will |
|
|
have no effect unless SUPPORT_JIT is also defined. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable the 16 bit PCRE2 library. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable the 32 bit PCRE2 library. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable the 8 bit PCRE2 library. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value to enable support for Unicode and UTF encoding. This |
|
|
will work even in an EBCDIC environment, but it is incompatible with the |
|
|
EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or* |
|
|
ASCII/Unicode, but not both at once. */ |
|
|
/* |
|
|
|
|
|
/* Define to any value for valgrind support to find invalid memory reads. */ |
|
|
/* |
|
|
|
|
|
/* Enable extensions on AIX 3, Interix. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable general extensions on macOS. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable general extensions on Solaris. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable GNU extensions on systems that have them. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable X/Open compliant socket functions that do not require linking |
|
|
with -lxnet on HP-UX 11.11. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Identify the host operating system as Minix. |
|
|
This macro does not affect the system headers' behavior. |
|
|
A future release of Autoconf may stop defining this macro. */ |
|
|
|
|
|
/* |
|
|
|
|
|
/* Enable general extensions on NetBSD. |
|
|
Enable NetBSD compatibility extensions on Minix. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable OpenBSD compatibility extensions on NetBSD. |
|
|
Oddly enough, this does nothing on OpenBSD. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Define to 1 if needed for POSIX-compatible behavior. */ |
|
|
|
|
|
/* |
|
|
|
|
|
/* Define to 2 if needed for POSIX-compatible behavior. */ |
|
|
|
|
|
/* |
|
|
|
|
|
/* Enable POSIX-compatible threading on Solaris. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable extensions specified by ISO/IEC 24747:2009. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable extensions on HP NonStop. */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable X/Open extensions. Define to 500 only if necessary |
|
|
to make mbstate_t available. */ |
|
|
|
|
|
/* |
|
|
|
|
|
|
|
|
/* Version number of package */ |
|
|
|
|
|
|
|
|
/* Number of bits in a file offset, on hosts where this is settable. */ |
|
|
/* |
|
|
|
|
|
/* Define for large files, on AIX-style hosts. */ |
|
|
/* |
|
|
|
|
|
/* Define to empty if `const' does not conform to ANSI C. */ |
|
|
/* |
|
|
|
|
|
/* Define to the type of a signed integer type of width exactly 64 bits if |
|
|
such a type exists and the standard includes do not define it. */ |
|
|
/* |
|
|
|
|
|
/* Define to `unsigned int' if <sys/types.h> does not define. */ |
|
|
/* |
|
|
|