224N/Awritten in Standard C, but there are a few non-standard things it can cope
224N/Awith, allowing it to run on SunOS4 and other "close to standard" systems.
224N/AOn a non-Unix system you should just copy this file into
config.h, and set up
224N/Athe macros the way you need them. You should normally change the definitions of
224N/AHAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way autoconf
224N/Aworks, these cannot be made the defaults. If your system has bcopy() and not
224N/Amemmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. If your
224N/Asystem has neither bcopy() nor memmove(), leave them both as 0; an emulation
224N/Afunction will be used. */
224N/A/* If you are compiling for a system that uses EBCDIC instead of ASCII
224N/Acharacter codes, define this macro as 1. On systems that can use "configure",
224N/Athis can be done via --enable-ebcdic. */
224N/A/* If you are compiling for a system that needs some magic to be inserted
224N/Abefore the definition of an exported function, define this macro to contain the
224N/Arelevant magic. It apears at the start of every exported function. */
224N/A/* Define to empty if the "const" keyword does not work. */
224N/A/* The following two definitions are mainly for the benefit of SunOS4, which
1258N/Adoesn't have the strerror() or memmove() functions that should be present in
224N/Aall Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should
224N/Anormally be defined with the value 1 for other systems, but unfortunately we
224N/Acan't make this the default because "configure" files generated by autoconf
224N/Awill only change 0 to 1; they won't change 1 to 0 if the functions are not
224N/A/* There are some non-Unix systems that don't even have bcopy(). If this macro
224N/Ais false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of
224N/AHAVE_BCOPY is not relevant. */
224N/A/* The value of NEWLINE determines the newline character. The default is to
224N/Aleave it up to the compiler, but some sites want to force a particular value.
224N/AOn Unix systems, "configure" can be used to override this default. */
224N/A/* The value of LINK_SIZE determines the number of bytes used to store
224N/Alinks as offsets within the compiled regex. The default is 2, which allows for
224N/Acompiled patterns up to 64K long. This covers the vast majority of cases.
1292N/AHowever, PCRE can also be compiled to use 3 or 4 bytes instead. This allows for
1292N/Alonger patterns in extreme cases. On Unix systems, "configure" can be used to
224N/A/* The value of MATCH_LIMIT determines the default number of times the match()
1392N/Afunction can be called during a single execution of pcre_exec(). (There is a
1392N/Aruntime method of setting a different limit.) The limit exists in order to
1392N/Acatch runaway regular expressions that take for ever to determine that they do
224N/Anot match. The default is set very large so that it does not accidentally catch
224N/Alegitimate cases. On Unix systems, "configure" can be used to override this
224N/A#define MATCH_LIMIT 10000000
224N/A/* When calling PCRE via the POSIX interface, additional working storage is
224N/Arequired for holding the pointers to capturing substrings because PCRE requires
224N/Athree integers per substring, whereas the POSIX interface provides only two. If
224N/Athe number of expected substrings is small, the wrapper function uses space on
224N/Athe stack, because this is faster than using malloc() for each call. The
224N/Athreshold above which the stack is no longer use is defined by POSIX_MALLOC_
224N/ATHRESHOLD. On Unix systems, "configure" can be used to override this default.
224N/A#ifndef POSIX_MALLOC_THRESHOLD
224N/A#define POSIX_MALLOC_THRESHOLD 10
224N/A/* PCRE uses recursive function calls to handle backtracking while matching.
224N/AThis can sometimes be a problem on systems that have stacks of limited size.
224N/ADefine NO_RECURSE to get a version that doesn't use recursion in the match()
224N/Afunction; instead it creates its own stack by steam using pcre_recurse_malloc
224N/Ato get memory. For more detail, see comments and other stuff just above the
224N/Amatch() function. On Unix systems, "configure" can be used to set this in the
2624N/AMakefile (use --disable-stack-for-recursion). */