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