Home | History | Annotate | Download | only in src
      1 /* src/config.h.in.  Generated from configure.ac by autoheader.  */
      2 
      3 
      4 /* PCRE2 is written in Standard C, but there are a few non-standard things it
      5 can cope with, allowing it to run on SunOS4 and other "close to standard"
      6 systems.
      7 
      8 In environments that support the GNU autotools, config.h.in is converted into
      9 config.h by the "configure" script. In environments that use CMake,
     10 config-cmake.in is converted into config.h. If you are going to build PCRE2 "by
     11 hand" without using "configure" or CMake, you should copy the distributed
     12 config.h.generic to config.h, and edit the macro definitions to be the way you
     13 need them. You must then add -DHAVE_CONFIG_H to all of your compile commands,
     14 so that config.h is included at the start of every source.
     15 
     16 Alternatively, you can avoid editing by using -D on the compiler command line
     17 to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H,
     18 but if you do, default values will be taken from config.h for non-boolean
     19 macros that are not defined on the command line.
     20 
     21 Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be defined
     22 (conventionally to 1) for TRUE, and not defined at all for FALSE. All such
     23 macros are listed as a commented #undef in config.h.generic. Macros such as
     24 MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are
     25 surrounded by #ifndef/#endif lines so that the value can be overridden by -D.
     26 
     27 PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if
     28 HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make
     29 sure both macros are undefined; an emulation function will then be used. */
     30 
     31 /* By default, the \R escape sequence matches any Unicode line ending
     32    character or sequence of characters. If BSR_ANYCRLF is defined (to any
     33    value), this is changed so that backslash-R matches only CR, LF, or CRLF.
     34    The build-time default can be overridden by the user of PCRE2 at runtime.
     35    */
     36 #undef BSR_ANYCRLF
     37 
     38 /* If you are compiling for a system that uses EBCDIC instead of ASCII
     39    character codes, define this macro to any value. When EBCDIC is set, PCRE2
     40    assumes that all input strings are in EBCDIC. If you do not define this
     41    macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It
     42    is not possible to build a version of PCRE2 that supports both EBCDIC and
     43    UTF-8/16/32. */
     44 #undef EBCDIC
     45 
     46 /* In an EBCDIC environment, define this macro to any value to arrange for the
     47    NL character to be 0x25 instead of the default 0x15. NL plays the role that
     48    LF does in an ASCII/Unicode environment. */
     49 #undef EBCDIC_NL25
     50 
     51 /* Define to 1 if you have the `bcopy' function. */
     52 #undef HAVE_BCOPY
     53 
     54 /* Define to 1 if you have the <bzlib.h> header file. */
     55 #undef HAVE_BZLIB_H
     56 
     57 /* Define to 1 if you have the <dirent.h> header file. */
     58 #undef HAVE_DIRENT_H
     59 
     60 /* Define to 1 if you have the <dlfcn.h> header file. */
     61 #undef HAVE_DLFCN_H
     62 
     63 /* Define to 1 if you have the <editline/readline.h> header file. */
     64 #undef HAVE_EDITLINE_READLINE_H
     65 
     66 /* Define to 1 if you have the <edit/readline/readline.h> header file. */
     67 #undef HAVE_EDIT_READLINE_READLINE_H
     68 
     69 /* Define to 1 if you have the <inttypes.h> header file. */
     70 #undef HAVE_INTTYPES_H
     71 
     72 /* Define to 1 if you have the <limits.h> header file. */
     73 #undef HAVE_LIMITS_H
     74 
     75 /* Define to 1 if you have the `memmove' function. */
     76 #undef HAVE_MEMMOVE
     77 
     78 /* Define to 1 if you have the <memory.h> header file. */
     79 #undef HAVE_MEMORY_H
     80 
     81 /* Define if you have POSIX threads libraries and header files. */
     82 #undef HAVE_PTHREAD
     83 
     84 /* Have PTHREAD_PRIO_INHERIT. */
     85 #undef HAVE_PTHREAD_PRIO_INHERIT
     86 
     87 /* Define to 1 if you have the <readline/history.h> header file. */
     88 #undef HAVE_READLINE_HISTORY_H
     89 
     90 /* Define to 1 if you have the <readline/readline.h> header file. */
     91 #undef HAVE_READLINE_READLINE_H
     92 
     93 /* Define to 1 if you have the <stdint.h> header file. */
     94 #undef HAVE_STDINT_H
     95 
     96 /* Define to 1 if you have the <stdlib.h> header file. */
     97 #undef HAVE_STDLIB_H
     98 
     99 /* Define to 1 if you have the `strerror' function. */
    100 #undef HAVE_STRERROR
    101 
    102 /* Define to 1 if you have the <strings.h> header file. */
    103 #undef HAVE_STRINGS_H
    104 
    105 /* Define to 1 if you have the <string.h> header file. */
    106 #undef HAVE_STRING_H
    107 
    108 /* Define to 1 if you have the <sys/stat.h> header file. */
    109 #undef HAVE_SYS_STAT_H
    110 
    111 /* Define to 1 if you have the <sys/types.h> header file. */
    112 #undef HAVE_SYS_TYPES_H
    113 
    114 /* Define to 1 if you have the <sys/wait.h> header file. */
    115 #undef HAVE_SYS_WAIT_H
    116 
    117 /* Define to 1 if you have the <unistd.h> header file. */
    118 #undef HAVE_UNISTD_H
    119 
    120 /* Define to 1 if the compiler supports simple visibility declarations. */
    121 #undef HAVE_VISIBILITY
    122 
    123 /* Define to 1 if you have the <windows.h> header file. */
    124 #undef HAVE_WINDOWS_H
    125 
    126 /* Define to 1 if you have the <zlib.h> header file. */
    127 #undef HAVE_ZLIB_H
    128 
    129 /* PCRE2 uses recursive function calls to handle backtracking while matching.
    130    This can sometimes be a problem on systems that have stacks of limited
    131    size. Define HEAP_MATCH_RECURSE to any value to get a version that doesn't
    132    use recursion in the match() function; instead it creates its own stack by
    133    steam using memory from the heap. For more detail, see the comments and
    134    other stuff just above the match() function. */
    135 #undef HEAP_MATCH_RECURSE
    136 
    137 /* The value of LINK_SIZE determines the number of bytes used to store links
    138    as offsets within the compiled regex. The default is 2, which allows for
    139    compiled patterns up to 64K long. This covers the vast majority of cases.
    140    However, PCRE2 can also be compiled to use 3 or 4 bytes instead. This
    141    allows for longer patterns in extreme cases. */
    142 #undef LINK_SIZE
    143 
    144 /* Define to the sub-directory where libtool stores uninstalled libraries. */
    145 #undef LT_OBJDIR
    146 
    147 /* The value of MATCH_LIMIT determines the default number of times the
    148    internal match() function can be called during a single execution of
    149    pcre2_match(). There is a runtime interface for setting a different limit.
    150    The limit exists in order to catch runaway regular expressions that take
    151    for ever to determine that they do not match. The default is set very large
    152    so that it does not accidentally catch legitimate cases. */
    153 #undef MATCH_LIMIT
    154 
    155 /* The above limit applies to all calls of match(), whether or not they
    156    increase the recursion depth. In some environments it is desirable to limit
    157    the depth of recursive calls of match() more strictly, in order to restrict
    158    the maximum amount of stack (or heap, if HEAP_MATCH_RECURSE is defined)
    159    that is used. The value of MATCH_LIMIT_RECURSION applies only to recursive
    160    calls of match(). To have any useful effect, it must be less than the value
    161    of MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT. There
    162    is a runtime method for setting a different limit. */
    163 #undef MATCH_LIMIT_RECURSION
    164 
    165 /* This limit is parameterized just in case anybody ever wants to change it.
    166    Care must be taken if it is increased, because it guards against integer
    167    overflow caused by enormously large patterns. */
    168 #undef MAX_NAME_COUNT
    169 
    170 /* This limit is parameterized just in case anybody ever wants to change it.
    171    Care must be taken if it is increased, because it guards against integer
    172    overflow caused by enormously large patterns. */
    173 #undef MAX_NAME_SIZE
    174 
    175 /* Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns. */
    176 #undef NEVER_BACKSLASH_C
    177 
    178 /* The value of NEWLINE_DEFAULT determines the default newline character
    179    sequence. PCRE2 client programs can override this by selecting other values
    180    at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), and 5
    181    (ANYCRLF). */
    182 #undef NEWLINE_DEFAULT
    183 
    184 /* Name of package */
    185 #undef PACKAGE
    186 
    187 /* Define to the address where bug reports for this package should be sent. */
    188 #undef PACKAGE_BUGREPORT
    189 
    190 /* Define to the full name of this package. */
    191 #undef PACKAGE_NAME
    192 
    193 /* Define to the full name and version of this package. */
    194 #undef PACKAGE_STRING
    195 
    196 /* Define to the one symbol short name of this package. */
    197 #undef PACKAGE_TARNAME
    198 
    199 /* Define to the home page for this package. */
    200 #undef PACKAGE_URL
    201 
    202 /* Define to the version of this package. */
    203 #undef PACKAGE_VERSION
    204 
    205 /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
    206    parentheses (of any kind) in a pattern. This limits the amount of system
    207    stack that is used while compiling a pattern. */
    208 #undef PARENS_NEST_LIMIT
    209 
    210 /* The value of PCRE2GREP_BUFSIZE determines the size of buffer used by
    211    pcre2grep to hold parts of the file it is searching. This is also the
    212    minimum value. The actual amount of memory used by pcre2grep is three times
    213    this number, because it allows for the buffering of "before" and "after"
    214    lines. */
    215 #undef PCRE2GREP_BUFSIZE
    216 
    217 /* to make a symbol visible */
    218 #undef PCRE2POSIX_EXP_DECL
    219 
    220 /* to make a symbol visible */
    221 #undef PCRE2POSIX_EXP_DEFN
    222 
    223 /* Define to any value to include debugging code. */
    224 #undef PCRE2_DEBUG
    225 
    226 /* to make a symbol visible */
    227 #undef PCRE2_EXP_DECL
    228 
    229 
    230 /* If you are compiling for a system other than a Unix-like system or
    231    Win32, and it needs some magic to be inserted before the definition
    232    of a function that is exported by the library, define this macro to
    233    contain the relevant magic. If you do not define this macro, a suitable
    234     __declspec value is used for Windows systems; in other environments
    235    "extern" is used for a C compiler and "extern C" for a C++ compiler.
    236    This macro apears at the start of every exported function that is part
    237    of the external API. It does not appear on functions that are "external"
    238    in the C sense, but which are internal to the library. */
    239 #undef PCRE2_EXP_DEFN
    240 
    241 /* Define to any value if linking statically (TODO: make nice with Libtool) */
    242 #undef PCRE2_STATIC
    243 
    244 /* Define to necessary symbol if this constant uses a non-standard name on
    245    your system. */
    246 #undef PTHREAD_CREATE_JOINABLE
    247 
    248 /* Define to 1 if you have the ANSI C header files. */
    249 #undef STDC_HEADERS
    250 
    251 /* Define to any value to enable support for Just-In-Time compiling. */
    252 #undef SUPPORT_JIT
    253 
    254 /* Define to any value to allow pcre2grep to be linked with libbz2, so that it
    255    is able to handle .bz2 files. */
    256 #undef SUPPORT_LIBBZ2
    257 
    258 /* Define to any value to allow pcre2test to be linked with libedit. */
    259 #undef SUPPORT_LIBEDIT
    260 
    261 /* Define to any value to allow pcre2test to be linked with libreadline. */
    262 #undef SUPPORT_LIBREADLINE
    263 
    264 /* Define to any value to allow pcre2grep to be linked with libz, so that it
    265    is able to handle .gz files. */
    266 #undef SUPPORT_LIBZ
    267 
    268 /* Define to any value to enable callout script support in pcre2grep. */
    269 #undef SUPPORT_PCRE2GREP_CALLOUT
    270 
    271 /* Define to any value to enable JIT support in pcre2grep. */
    272 #undef SUPPORT_PCRE2GREP_JIT
    273 
    274 /* Define to any value to enable the 16 bit PCRE2 library. */
    275 #undef SUPPORT_PCRE2_16
    276 
    277 /* Define to any value to enable the 32 bit PCRE2 library. */
    278 #undef SUPPORT_PCRE2_32
    279 
    280 /* Define to any value to enable the 8 bit PCRE2 library. */
    281 #undef SUPPORT_PCRE2_8
    282 
    283 /* Define to any value to enable support for Unicode and UTF encoding. This
    284    will work even in an EBCDIC environment, but it is incompatible with the
    285    EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or*
    286    ASCII/Unicode, but not both at once. */
    287 #undef SUPPORT_UNICODE
    288 
    289 /* Define to any value for valgrind support to find invalid memory reads. */
    290 #undef SUPPORT_VALGRIND
    291 
    292 /* Version number of package */
    293 #undef VERSION
    294 
    295 /* Define to empty if `const' does not conform to ANSI C. */
    296 #undef const
    297 
    298 /* Define to the type of a signed integer type of width exactly 64 bits if
    299    such a type exists and the standard includes do not define it. */
    300 #undef int64_t
    301 
    302 /* Define to `unsigned int' if <sys/types.h> does not define. */
    303 #undef size_t
    304