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