# pcreconfig.h

    00001 /* On Unix systems config.in is converted by configure into config.h. PCRE is
    00002 written in Standard C, but there are a few non-standard things it can cope
    00003 with, allowing it to run on SunOS4 and other "close to standard" systems.
    00004
    00005 On a non-Unix system you should just copy this file into config.h, and set up
    00006 the macros the way you need them. You should normally change the definitions of
    00007 HAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way autoconf
    00008 works, these cannot be made the defaults. If your system has bcopy() and not
    00009 memmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. If your
    00010 system has neither bcopy() nor memmove(), leave them both as 0; an emulation
    00011 function will be used. */
    00012
    00013 /* CEGUI::String uses utf8, so allow regex support for this. */
    00014 #define SUPPORT_UTF8 1
    00015
    00016 /* If you are compiling for a system that uses EBCDIC instead of ASCII
    00017 character codes, define this macro as 1. On systems that can use "configure",
    00018 this can be done via --enable-ebcdic. */
    00019
    00020 #ifndef EBCDIC
    00021 #define EBCDIC 0
    00022 #endif
    00023
    00024 /* If you are compiling for a system that needs some magic to be inserted
    00025 before the definition of an exported function, define this macro to contain the
    00026 relevant magic. It apears at the start of every exported function. */
    00027
    00028 #define EXPORT
    00029
    00030 /* Define to empty if the "const" keyword does not work. */
    00031
    00032 #undef const
    00033
    00034 /* Define to "unsigned" if <stddef.h> doesn't define size_t. */
    00035
    00036 #undef size_t
    00037
    00038 /* The following two definitions are mainly for the benefit of SunOS4, which
    00039 doesn't have the strerror() or memmove() functions that should be present in
    00040 all Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should
    00041 normally be defined with the value 1 for other systems, but unfortunately we
    00042 can't make this the default because "configure" files generated by autoconf
    00043 will only change 0 to 1; they won't change 1 to 0 if the functions are not
    00044 found. */
    00045
    00046 #define HAVE_STRERROR 1
    00047 #define HAVE_MEMMOVE  1
    00048
    00049 /* There are some non-Unix systems that don't even have bcopy(). If this macro
    00050 is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of
    00051 HAVE_BCOPY is not relevant. */
    00052
    00053 #define HAVE_BCOPY    0
    00054
    00055 /* The value of NEWLINE determines the newline character. The default is to
    00056 leave it up to the compiler, but some sites want to force a particular value.
    00057 On Unix systems, "configure" can be used to override this default. */
    00058
    00059 #ifndef NEWLINE
    00060 #define NEWLINE '\n'
    00061 #endif
    00062
    00063 /* The value of LINK_SIZE determines the number of bytes used to store
    00064 links as offsets within the compiled regex. The default is 2, which allows for
    00065 compiled patterns up to 64K long. This covers the vast majority of cases.
    00066 However, PCRE can also be compiled to use 3 or 4 bytes instead. This allows for
    00067 longer patterns in extreme cases. On Unix systems, "configure" can be used to
    00068 override this default. */
    00069
    00070 #ifndef LINK_SIZE
    00071 #define LINK_SIZE   2
    00072 #endif
    00073
    00074 /* The value of MATCH_LIMIT determines the default number of times the match()
    00075 function can be called during a single execution of pcre_exec(). (There is a
    00076 runtime method of setting a different limit.) The limit exists in order to
    00077 catch runaway regular expressions that take for ever to determine that they do
    00078 not match. The default is set very large so that it does not accidentally catch
    00079 legitimate cases. On Unix systems, "configure" can be used to override this
    00080 default default. */
    00081
    00082 #ifndef MATCH_LIMIT
    00083 #define MATCH_LIMIT 10000000
    00084 #endif
    00085
    00086 /* When calling PCRE via the POSIX interface, additional working storage is
    00087 required for holding the pointers to capturing substrings because PCRE requires
    00088 three integers per substring, whereas the POSIX interface provides only two. If
    00089 the number of expected substrings is small, the wrapper function uses space on
    00090 the stack, because this is faster than using malloc() for each call. The
    00091 threshold above which the stack is no longer use is defined by POSIX_MALLOC_
    00092 THRESHOLD. On Unix systems, "configure" can be used to override this default.
    00093 */
    00094
    00095 #ifndef POSIX_MALLOC_THRESHOLD
    00096 #define POSIX_MALLOC_THRESHOLD 10
    00097 #endif
    00098
    00099 /* PCRE uses recursive function calls to handle backtracking while matching.
    00100 This can sometimes be a problem on systems that have stacks of limited size.
    00101 Define NO_RECURSE to get a version that doesn't use recursion in the match()
    00102 function; instead it creates its own stack by steam using pcre_recurse_malloc
    00103 to get memory. For more detail, see comments and other stuff just above the
    00104 match() function. On Unix systems, "configure" can be used to set this in the
    00105 Makefile (use --disable-stack-for-recursion). */
    00106
    00107 /* #define NO_RECURSE */
    00108
    00109 /* End */