1 | /* config.h. Generated from config.h.in by configure. */ |
2 | /* config.h.in. Generated from configure.ac by autoheader. */ |
3 | |
4 | /* PCRE 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 PCRE "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. |
14 | |
15 | Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE8 should either be defined |
16 | (conventionally to 1) for TRUE, and not defined at all for FALSE. All such |
17 | macros are listed as a commented #undef in config.h.generic. Macros such as |
18 | MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are |
19 | surrounded by #ifndef/#endif lines so that the value can be overridden by -D. |
20 | |
21 | PCRE uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if |
22 | HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make |
23 | sure both macros are undefined; an emulation function will then be used. */ |
24 | |
25 | /* By default, the \R escape sequence matches any Unicode line ending |
26 | character or sequence of characters. If BSR_ANYCRLF is defined (to any |
27 | value), this is changed so that backslash-R matches only CR, LF, or CRLF. |
28 | The build-time default can be overridden by the user of PCRE at runtime. */ |
29 | /* #undef BSR_ANYCRLF */ |
30 | |
31 | /* If you are compiling for a system that uses EBCDIC instead of ASCII |
32 | character codes, define this macro to any value. You must also edit the |
33 | NEWLINE macro below to set a suitable EBCDIC newline, commonly 21 (0x15). |
34 | On systems that can use "configure" or CMake to set EBCDIC, NEWLINE is |
35 | automatically adjusted. When EBCDIC is set, PCRE assumes that all input |
36 | strings are in EBCDIC. If you do not define this macro, PCRE will assume |
37 | input strings are ASCII or UTF-8/16/32 Unicode. It is not possible to build |
38 | a version of PCRE that supports both EBCDIC and UTF-8/16/32. */ |
39 | /* #undef EBCDIC */ |
40 | |
41 | /* In an EBCDIC environment, define this macro to any value to arrange for the |
42 | NL character to be 0x25 instead of the default 0x15. NL plays the role that |
43 | LF does in an ASCII/Unicode environment. The value must also be set in the |
44 | NEWLINE macro below. On systems that can use "configure" or CMake to set |
45 | EBCDIC_NL25, the adjustment of NEWLINE is automatic. */ |
46 | /* #undef EBCDIC_NL25 */ |
47 | |
48 | /* Define to 1 if you have the `bcopy' function. */ |
49 | /* #undef HAVE_BCOPY */ |
50 | |
51 | /* Define to 1 if you have the <bits/type_traits.h> header file. */ |
52 | /* #undef HAVE_BITS_TYPE_TRAITS_H */ |
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 | #ifndef HAVE_DIRENT_H |
59 | #define HAVE_DIRENT_H 0 |
60 | #endif |
61 | |
62 | /* Define to 1 if you have the <dlfcn.h> header file. */ |
63 | #ifndef HAVE_DLFCN_H |
64 | #define HAVE_DLFCN_H 0 |
65 | #endif |
66 | |
67 | /* Define to 1 if you have the <editline/readline.h> header file. */ |
68 | #ifndef HAVE_EDITLINE_READLINE_H |
69 | #define HAVE_EDITLINE_READLINE_H 0 |
70 | #endif |
71 | |
72 | /* Define to 1 if you have the <edit/readline/readline.h> header file. */ |
73 | #ifndef HAVE_EDIT_READLINE_READLINE_H |
74 | #define HAVE_EDIT_READLINE_READLINE_H 0 |
75 | #endif |
76 | |
77 | /* Define to 1 if you have the <inttypes.h> header file. */ |
78 | #ifndef HAVE_INTTYPES_H |
79 | #define HAVE_INTTYPES_H 0 |
80 | #endif |
81 | |
82 | /* Define to 1 if you have the <limits.h> header file. */ |
83 | /* #undef HAVE_LIMITS_H */ |
84 | #ifndef HAVE_LIMITS_H |
85 | #define HAVE_LIMITS_H 1 |
86 | #endif |
87 | |
88 | /* Define to 1 if the system has the type `long long'. */ |
89 | #ifndef HAVE_LONG_LONG |
90 | #define HAVE_LONG_LONG 0 |
91 | #endif |
92 | |
93 | /* Define to 1 if you have the `memmove' function. */ |
94 | #ifndef HAVE_MEMMOVE |
95 | #define HAVE_MEMMOVE 0 |
96 | #endif |
97 | |
98 | /* Define to 1 if you have the <memory.h> header file. */ |
99 | #ifndef HAVE_MEMORY_H |
100 | #define HAVE_MEMORY_H 1 |
101 | #endif |
102 | |
103 | /* Define if you have POSIX threads libraries and header files. */ |
104 | #ifndef HAVE_PTHREAD |
105 | #define HAVE_PTHREAD 0 |
106 | #endif |
107 | |
108 | /* Have PTHREAD_PRIO_INHERIT. */ |
109 | #ifndef HAVE_PTHREAD_PRIO_INHERIT |
110 | #define HAVE_PTHREAD_PRIO_INHERIT 0 |
111 | #endif |
112 | |
113 | /* Define to 1 if you have the <readline/history.h> header file. */ |
114 | #ifndef HAVE_READLINE_HISTORY_H |
115 | #define HAVE_READLINE_HISTORY_H 0 |
116 | #endif |
117 | |
118 | /* Define to 1 if you have the <readline/readline.h> header file. */ |
119 | #ifndef HAVE_READLINE_READLINE_H |
120 | #define HAVE_READLINE_READLINE_H 0 |
121 | #endif |
122 | |
123 | /* Define to 1 if you have the <stdint.h> header file. */ |
124 | #ifndef HAVE_STDINT_H |
125 | #define HAVE_STDINT_H 0 |
126 | #endif |
127 | |
128 | /* Define to 1 if you have the <stdlib.h> header file. */ |
129 | #ifndef HAVE_STDLIB_H |
130 | #define HAVE_STDLIB_H 1 |
131 | #endif |
132 | |
133 | /* Define to 1 if you have the `strerror' function. */ |
134 | #ifndef HAVE_STRERROR |
135 | #define HAVE_STRERROR 0 |
136 | #endif |
137 | |
138 | /* Define to 1 if you have the <string> header file. */ |
139 | #ifndef HAVE_STRING |
140 | #define HAVE_STRING 0 |
141 | #endif |
142 | |
143 | /* Define to 1 if you have the <strings.h> header file. */ |
144 | #ifndef HAVE_STRINGS_H |
145 | #define HAVE_STRINGS_H 0 |
146 | #endif |
147 | |
148 | /* Define to 1 if you have the <string.h> header file. */ |
149 | #ifndef HAVE_STRING_H |
150 | #define HAVE_STRING_H 1 |
151 | #endif |
152 | |
153 | /* Define to 1 if you have `strtoimax'. */ |
154 | #ifndef HAVE_STRTOIMAX |
155 | #define HAVE_STRTOIMAX 0 |
156 | #endif |
157 | |
158 | /* Define to 1 if you have `strtoll'. */ |
159 | #ifndef HAVE_STRTOLL |
160 | #define HAVE_STRTOLL 0 |
161 | #endif |
162 | |
163 | /* Define to 1 if you have `strtoq'. */ |
164 | #ifndef HAVE_STRTOQ |
165 | #define HAVE_STRTOQ 0 |
166 | #endif |
167 | |
168 | /* Define to 1 if you have the <sys/stat.h> header file. */ |
169 | #ifndef HAVE_SYS_STAT_H |
170 | #define HAVE_SYS_STAT_H 0 |
171 | #endif |
172 | |
173 | /* Define to 1 if you have the <sys/types.h> header file. */ |
174 | #ifndef HAVE_SYS_TYPES_H |
175 | #define HAVE_SYS_TYPES_H 0 |
176 | #endif |
177 | |
178 | /* Define to 1 if you have the <type_traits.h> header file. */ |
179 | /* #undef HAVE_TYPE_TRAITS_H */ |
180 | |
181 | /* Define to 1 if you have the <unistd.h> header file. */ |
182 | #ifndef HAVE_UNISTD_H |
183 | #define HAVE_UNISTD_H 0 |
184 | #endif |
185 | |
186 | /* Define to 1 if the system has the type `unsigned long long'. */ |
187 | #ifndef HAVE_UNSIGNED_LONG_LONG |
188 | #define HAVE_UNSIGNED_LONG_LONG 0 |
189 | #endif |
190 | |
191 | /* Define to 1 if the compiler supports simple visibility declarations. */ |
192 | /* #undef HAVE_VISIBILITY */ |
193 | |
194 | /* Define to 1 if you have the <windows.h> header file. */ |
195 | /* #undef HAVE_WINDOWS_H */ |
196 | |
197 | /* Define to 1 if you have the <zlib.h> header file. */ |
198 | /* #undef HAVE_ZLIB_H */ |
199 | |
200 | /* Define to 1 if you have `_strtoi64'. */ |
201 | /* #undef HAVE__STRTOI64 */ |
202 | |
203 | /* The value of LINK_SIZE determines the number of bytes used to store links |
204 | as offsets within the compiled regex. The default is 2, which allows for |
205 | compiled patterns up to 64K long. This covers the vast majority of cases. |
206 | However, PCRE can also be compiled to use 3 or 4 bytes instead. This allows |
207 | for longer patterns in extreme cases. */ |
208 | #ifndef LINK_SIZE |
209 | #define LINK_SIZE 2 |
210 | #endif |
211 | |
212 | /* Define to the sub-directory in which libtool stores uninstalled libraries. |
213 | */ |
214 | /* This is ignored unless you are using libtool. */ |
215 | #ifndef LT_OBJDIR |
216 | #define LT_OBJDIR ".libs/" |
217 | #endif |
218 | |
219 | /* The value of MATCH_LIMIT determines the default number of times the |
220 | internal match() function can be called during a single execution of |
221 | pcre_exec(). There is a runtime interface for setting a different limit. |
222 | The limit exists in order to catch runaway regular expressions that take |
223 | for ever to determine that they do not match. The default is set very large |
224 | so that it does not accidentally catch legitimate cases. */ |
225 | #ifndef MATCH_LIMIT |
226 | #define MATCH_LIMIT 10000000 |
227 | #endif |
228 | |
229 | /* The above limit applies to all calls of match(), whether or not they |
230 | increase the recursion depth. In some environments it is desirable to limit |
231 | the depth of recursive calls of match() more strictly, in order to restrict |
232 | the maximum amount of stack (or heap, if NO_RECURSE is defined) that is |
233 | used. The value of MATCH_LIMIT_RECURSION applies only to recursive calls of |
234 | match(). To have any useful effect, it must be less than the value of |
235 | MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT. There is |
236 | a runtime method for setting a different limit. */ |
237 | #ifndef MATCH_LIMIT_RECURSION |
238 | #define MATCH_LIMIT_RECURSION MATCH_LIMIT |
239 | #endif |
240 | |
241 | /* This limit is parameterized just in case anybody ever wants to change it. |
242 | Care must be taken if it is increased, because it guards against integer |
243 | overflow caused by enormously large patterns. */ |
244 | #ifndef MAX_NAME_COUNT |
245 | #define MAX_NAME_COUNT 30000 |
246 | #endif |
247 | |
248 | /* This limit is parameterized just in case anybody ever wants to change it. |
249 | Care must be taken if it is increased, because it guards against integer |
250 | overflow caused by enormously large patterns. */ |
251 | #ifndef MAX_NAME_SIZE |
252 | #define MAX_NAME_SIZE 32 |
253 | #endif |
254 | |
255 | /* The value of NEWLINE determines the default newline character sequence. |
256 | PCRE client programs can override this by selecting other values at run |
257 | time. In ASCII environments, the value can be 10 (LF), 13 (CR), or 3338 |
258 | (CRLF); in EBCDIC environments the value can be 21 or 37 (LF), 13 (CR), or |
259 | 3349 or 3365 (CRLF) because there are two alternative codepoints (0x15 and |
260 | 0x25) that are used as the NL line terminator that is equivalent to ASCII |
261 | LF. In both ASCII and EBCDIC environments the value can also be -1 (ANY), |
262 | or -2 (ANYCRLF). */ |
263 | #ifndef NEWLINE |
264 | #define NEWLINE 10 |
265 | #endif |
266 | |
267 | /* PCRE uses recursive function calls to handle backtracking while matching. |
268 | This can sometimes be a problem on systems that have stacks of limited |
269 | size. Define NO_RECURSE to any value to get a version that doesn't use |
270 | recursion in the match() function; instead it creates its own stack by |
271 | steam using pcre_recurse_malloc() to obtain memory from the heap. For more |
272 | detail, see the comments and other stuff just above the match() function. |
273 | */ |
274 | /* #undef NO_RECURSE */ |
275 | |
276 | /* Name of package */ |
277 | #define PACKAGE "pcre" |
278 | |
279 | /* Define to the address where bug reports for this package should be sent. */ |
280 | #define PACKAGE_BUGREPORT "" |
281 | |
282 | /* Define to the full name of this package. */ |
283 | #define PACKAGE_NAME "PCRE" |
284 | |
285 | /* Define to the full name and version of this package. */ |
286 | #define PACKAGE_STRING "PCRE 8.40" |
287 | |
288 | /* Define to the one symbol short name of this package. */ |
289 | #define PACKAGE_TARNAME "pcre" |
290 | |
291 | /* Define to the home page for this package. */ |
292 | #define PACKAGE_URL "" |
293 | |
294 | /* Define to the version of this package. */ |
295 | #define PACKAGE_VERSION "8.40" |
296 | |
297 | /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested |
298 | parentheses (of any kind) in a pattern. This limits the amount of system |
299 | stack that is used while compiling a pattern. */ |
300 | #ifndef PARENS_NEST_LIMIT |
301 | #define PARENS_NEST_LIMIT 250 |
302 | #endif |
303 | |
304 | /* The value of PCREGREP_BUFSIZE determines the size of buffer used by |
305 | pcregrep to hold parts of the file it is searching. This is also the |
306 | minimum value. The actual amount of memory used by pcregrep is three times |
307 | this number, because it allows for the buffering of "before" and "after" |
308 | lines. */ |
309 | #ifndef PCREGREP_BUFSIZE |
310 | #define PCREGREP_BUFSIZE 20480 |
311 | #endif |
312 | |
313 | /* If you are compiling for a system other than a Unix-like system or |
314 | Win32, and it needs some magic to be inserted before the definition |
315 | of a function that is exported by the library, define this macro to |
316 | contain the relevant magic. If you do not define this macro, a suitable |
317 | __declspec value is used for Windows systems; in other environments |
318 | "extern" is used for a C compiler and "extern C" for a C++ compiler. |
319 | This macro apears at the start of every exported function that is part |
320 | of the external API. It does not appear on functions that are "external" |
321 | in the C sense, but which are internal to the library. */ |
322 | /* #undef PCRE_EXP_DEFN */ |
323 | |
324 | /* Define to any value if linking statically (TODO: make nice with Libtool) */ |
325 | #ifndef PCRE_STATIC |
326 | #define PCRE_STATIC 1 |
327 | #endif |
328 | |
329 | /* When calling PCRE via the POSIX interface, additional working storage is |
330 | required for holding the pointers to capturing substrings because PCRE |
331 | requires three integers per substring, whereas the POSIX interface provides |
332 | only two. If the number of expected substrings is small, the wrapper |
333 | function uses space on the stack, because this is faster than using |
334 | malloc() for each call. The threshold above which the stack is no longer |
335 | used is defined by POSIX_MALLOC_THRESHOLD. */ |
336 | #ifndef POSIX_MALLOC_THRESHOLD |
337 | #define POSIX_MALLOC_THRESHOLD 10 |
338 | #endif |
339 | |
340 | /* Define to necessary symbol if this constant uses a non-standard name on |
341 | your system. */ |
342 | /* #undef PTHREAD_CREATE_JOINABLE */ |
343 | |
344 | /* Define to 1 if you have the ANSI C header files. */ |
345 | #ifndef STDC_HEADERS |
346 | #define 1 |
347 | #endif |
348 | |
349 | /* Define to any value to enable support for Just-In-Time compiling. */ |
350 | /* #undef SUPPORT_JIT */ |
351 | |
352 | /* Define to any value to allow pcregrep to be linked with libbz2, so that it |
353 | is able to handle .bz2 files. */ |
354 | /* #undef SUPPORT_LIBBZ2 */ |
355 | |
356 | /* Define to any value to allow pcretest to be linked with libedit. */ |
357 | /* #undef SUPPORT_LIBEDIT */ |
358 | |
359 | /* Define to any value to allow pcretest to be linked with libreadline. */ |
360 | /* #undef SUPPORT_LIBREADLINE */ |
361 | |
362 | /* Define to any value to allow pcregrep to be linked with libz, so that it is |
363 | able to handle .gz files. */ |
364 | /* #undef SUPPORT_LIBZ */ |
365 | |
366 | /* Define to any value to enable the 16 bit PCRE library. */ |
367 | /* #undef SUPPORT_PCRE16 */ |
368 | |
369 | /* Define to any value to enable the 32 bit PCRE library. */ |
370 | /* #undef SUPPORT_PCRE32 */ |
371 | |
372 | /* Define to any value to enable the 8 bit PCRE library. */ |
373 | #ifndef SUPPORT_PCRE8 |
374 | #define SUPPORT_PCRE8 |
375 | #endif |
376 | |
377 | /* Define to any value to enable JIT support in pcregrep. */ |
378 | /* #undef SUPPORT_PCREGREP_JIT */ |
379 | |
380 | /* Define to any value to enable support for Unicode properties. */ |
381 | #ifndef SUPPORT_UCP |
382 | #define SUPPORT_UCP |
383 | #endif |
384 | |
385 | /* Define to any value to enable support for the UTF-8/16/32 Unicode encoding. |
386 | This will work even in an EBCDIC environment, but it is incompatible with |
387 | the EBCDIC macro. That is, PCRE can support *either* EBCDIC code *or* |
388 | ASCII/UTF-8/16/32, but not both at once. */ |
389 | #ifndef SUPPORT_UTF8 |
390 | #define SUPPORT_UTF8 |
391 | #endif |
392 | |
393 | /* Define to any value for valgrind support to find invalid memory reads. */ |
394 | /* #undef SUPPORT_VALGRIND */ |
395 | |
396 | /* Version number of package */ |
397 | #define VERSION "8.40" |
398 | |
399 | /* Define to empty if `const' does not conform to ANSI C. */ |
400 | /* #undef const */ |
401 | |
402 | /* Define to the type of a signed integer type of width exactly 64 bits if |
403 | such a type exists and the standard includes do not define it. */ |
404 | /* #undef int64_t */ |
405 | |
406 | /* Define to `unsigned int' if <sys/types.h> does not define. */ |
407 | /* #undef size_t */ |
408 | |