1 | /* On Unix systems config.in is converted by configure into config.h. PCRE is
|
---|
2 | written in Standard C, but there are a few non-standard things it can cope
|
---|
3 | with, allowing it to run on SunOS4 and other "close to standard" systems.
|
---|
4 |
|
---|
5 | On a non-Unix system you should just copy this file into config.h, and set up
|
---|
6 | the macros the way you need them. You should normally change the definitions of
|
---|
7 | HAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way autoconf
|
---|
8 | works, these cannot be made the defaults. If your system has bcopy() and not
|
---|
9 | memmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. If your
|
---|
10 | system has neither bcopy() nor memmove(), leave them both as 0; an emulation
|
---|
11 | function will be used. */
|
---|
12 |
|
---|
13 | /* If you are compiling for a system that uses EBCDIC instead of ASCII
|
---|
14 | character codes, define this macro as 1. On systems that can use "configure",
|
---|
15 | this can be done via --enable-ebcdic. */
|
---|
16 |
|
---|
17 | #define EBCDIC 0
|
---|
18 |
|
---|
19 | /* If you are compiling for a system that needs some magic to be inserted
|
---|
20 | before the definition of an exported function, define this macro to contain the
|
---|
21 | relevant magic. It apears at the start of every exported function. */
|
---|
22 |
|
---|
23 | #define EXPORT
|
---|
24 |
|
---|
25 | /* Define to empty if the "const" keyword does not work. */
|
---|
26 |
|
---|
27 | #undef const
|
---|
28 |
|
---|
29 | /* Define to "unsigned" if <stddef.h> doesn't define size_t. */
|
---|
30 |
|
---|
31 | #undef size_t
|
---|
32 |
|
---|
33 | /* The following two definitions are mainly for the benefit of SunOS4, which
|
---|
34 | doesn't have the strerror() or memmove() functions that should be present in
|
---|
35 | all Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should
|
---|
36 | normally be defined with the value 1 for other systems, but unfortunately we
|
---|
37 | can't make this the default because "configure" files generated by autoconf
|
---|
38 | will only change 0 to 1; they won't change 1 to 0 if the functions are not
|
---|
39 | found. */
|
---|
40 |
|
---|
41 | #define HAVE_STRERROR 1
|
---|
42 | #define HAVE_MEMMOVE 1
|
---|
43 |
|
---|
44 | /* There are some non-Unix systems that don't even have bcopy(). If this macro
|
---|
45 | is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of
|
---|
46 | HAVE_BCOPY is not relevant. */
|
---|
47 |
|
---|
48 | #define HAVE_BCOPY 1
|
---|
49 |
|
---|
50 | /* The value of NEWLINE determines the newline character. The default is to
|
---|
51 | leave it up to the compiler, but some sites want to force a particular value.
|
---|
52 | On Unix systems, "configure" can be used to override this default. */
|
---|
53 |
|
---|
54 | #define NEWLINE '\n'
|
---|
55 |
|
---|
56 | /* The value of LINK_SIZE determines the number of bytes used to store
|
---|
57 | links as offsets within the compiled regex. The default is 2, which allows for
|
---|
58 | compiled patterns up to 64K long. This covers the vast majority of cases.
|
---|
59 | However, PCRE can also be compiled to use 3 or 4 bytes instead. This allows for
|
---|
60 | longer patterns in extreme cases. On Unix systems, "configure" can be used to
|
---|
61 | override this default. */
|
---|
62 |
|
---|
63 | #define LINK_SIZE 2
|
---|
64 |
|
---|
65 | /* The value of MATCH_LIMIT determines the default number of times the match()
|
---|
66 | function can be called during a single execution of pcre_exec(). (There is a
|
---|
67 | runtime method of setting a different limit.) The limit exists in order to
|
---|
68 | catch runaway regular expressions that take for ever to determine that they do
|
---|
69 | not match. The default is set very large so that it does not accidentally catch
|
---|
70 | legitimate cases. On Unix systems, "configure" can be used to override this
|
---|
71 | default default. */
|
---|
72 |
|
---|
73 | #define MATCH_LIMIT 10000000
|
---|
74 |
|
---|
75 | /* When calling PCRE via the POSIX interface, additional working storage is
|
---|
76 | required for holding the pointers to capturing substrings because PCRE requires
|
---|
77 | three integers per substring, whereas the POSIX interface provides only two. If
|
---|
78 | the number of expected substrings is small, the wrapper function uses space on
|
---|
79 | the stack, because this is faster than using malloc() for each call. The
|
---|
80 | threshold above which the stack is no longer use is defined by POSIX_MALLOC_
|
---|
81 | THRESHOLD. On Unix systems, "configure" can be used to override this default.
|
---|
82 | */
|
---|
83 |
|
---|
84 | #define POSIX_MALLOC_THRESHOLD 10
|
---|
85 |
|
---|
86 | /* PCRE uses recursive function calls to handle backtracking while matching.
|
---|
87 | This can sometimes be a problem on systems that have stacks of limited size.
|
---|
88 | Define NO_RECURSE to get a version that doesn't use recursion in the match()
|
---|
89 | function; instead it creates its own stack by steam using pcre_recurse_malloc
|
---|
90 | to get memory. For more detail, see comments and other stuff just above the
|
---|
91 | match() function. On Unix systems, "configure" can be used to set this in the
|
---|
92 | Makefile (use --disable-stack-for-recursion). */
|
---|
93 |
|
---|
94 | #define NO_RECURSE
|
---|
95 |
|
---|
96 | /* End */
|
---|
97 |
|
---|
98 | #define SUPPORT_UCP 1
|
---|
99 | #define SUPPORT_UTF8 1
|
---|