1 | /* src/config.h. Generated from config.h.in by configure. */ |
2 | /* src/config.h.in. Generated from configure.ac by autoheader. */ |
3 | |
4 | /* PCRE2 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 PCRE2 "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_PCRE2_8 should either be |
22 | defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All |
23 | such macros are listed as a commented #undef in config.h.generic. Macros such |
24 | as 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 | PCRE2 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 PCRE2 at runtime. |
35 | */ |
36 | /* #undef BSR_ANYCRLF */ |
37 | |
38 | /* Define to any value to disable the use of the z and t modifiers in |
39 | formatting settings such as %zu or %td (this is rarely needed). */ |
40 | /* #undef DISABLE_PERCENT_ZT */ |
41 | |
42 | /* If you are compiling for a system that uses EBCDIC instead of ASCII |
43 | character codes, define this macro to any value. When EBCDIC is set, PCRE2 |
44 | assumes that all input strings are in EBCDIC. If you do not define this |
45 | macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It |
46 | is not possible to build a version of PCRE2 that supports both EBCDIC and |
47 | UTF-8/16/32. */ |
48 | /* #undef EBCDIC */ |
49 | |
50 | /* In an EBCDIC environment, define this macro to any value to arrange for the |
51 | NL character to be 0x25 instead of the default 0x15. NL plays the role that |
52 | LF does in an ASCII/Unicode environment. */ |
53 | /* #undef EBCDIC_NL25 */ |
54 | |
55 | /* Define this if your compiler supports __attribute__((uninitialized)) */ |
56 | /* #undef HAVE_ATTRIBUTE_UNINITIALIZED */ |
57 | |
58 | /* Define to 1 if you have the `bcopy' function. */ |
59 | /* #undef HAVE_BCOPY */ |
60 | |
61 | /* Define to 1 if you have the <bzlib.h> header file. */ |
62 | /* #undef HAVE_BZLIB_H */ |
63 | |
64 | /* Define to 1 if you have the <dirent.h> header file. */ |
65 | /* #undef HAVE_DIRENT_H */ |
66 | |
67 | /* Define to 1 if you have the <dlfcn.h> header file. */ |
68 | /* #undef HAVE_DLFCN_H */ |
69 | |
70 | /* Define to 1 if you have the <editline/readline.h> header file. */ |
71 | /* #undef HAVE_EDITLINE_READLINE_H */ |
72 | |
73 | /* Define to 1 if you have the <edit/readline/readline.h> header file. */ |
74 | /* #undef HAVE_EDIT_READLINE_READLINE_H */ |
75 | |
76 | /* Define to 1 if you have the <inttypes.h> header file. */ |
77 | /* #undef HAVE_INTTYPES_H */ |
78 | |
79 | /* Define to 1 if you have the <limits.h> header file. */ |
80 | /* #undef HAVE_LIMITS_H */ |
81 | |
82 | /* Define to 1 if you have the `memfd_create' function. */ |
83 | /* #undef HAVE_MEMFD_CREATE */ |
84 | |
85 | /* Define to 1 if you have the `memmove' function. */ |
86 | /* #undef HAVE_MEMMOVE */ |
87 | |
88 | /* Define to 1 if you have the <minix/config.h> header file. */ |
89 | /* #undef HAVE_MINIX_CONFIG_H */ |
90 | |
91 | /* Define to 1 if you have the `mkostemp' function. */ |
92 | /* #undef HAVE_MKOSTEMP */ |
93 | |
94 | /* Define if you have POSIX threads libraries and header files. */ |
95 | /* #undef HAVE_PTHREAD */ |
96 | |
97 | /* Have PTHREAD_PRIO_INHERIT. */ |
98 | /* #undef HAVE_PTHREAD_PRIO_INHERIT */ |
99 | |
100 | /* Define to 1 if you have the <readline.h> header file. */ |
101 | /* #undef HAVE_READLINE_H */ |
102 | |
103 | /* Define to 1 if you have the <readline/history.h> header file. */ |
104 | /* #undef HAVE_READLINE_HISTORY_H */ |
105 | |
106 | /* Define to 1 if you have the <readline/readline.h> header file. */ |
107 | /* #undef HAVE_READLINE_READLINE_H */ |
108 | |
109 | /* Define to 1 if you have the `realpath' function. */ |
110 | /* #undef HAVE_REALPATH */ |
111 | |
112 | /* Define to 1 if you have the `secure_getenv' function. */ |
113 | /* #undef HAVE_SECURE_GETENV */ |
114 | |
115 | /* Define to 1 if you have the <stdint.h> header file. */ |
116 | /* #undef HAVE_STDINT_H */ |
117 | |
118 | /* Define to 1 if you have the <stdio.h> header file. */ |
119 | /* #undef HAVE_STDIO_H */ |
120 | |
121 | /* Define to 1 if you have the <stdlib.h> header file. */ |
122 | /* #undef HAVE_STDLIB_H */ |
123 | |
124 | /* Define to 1 if you have the `strerror' function. */ |
125 | /* #undef HAVE_STRERROR */ |
126 | |
127 | /* Define to 1 if you have the <strings.h> header file. */ |
128 | /* #undef HAVE_STRINGS_H */ |
129 | |
130 | /* Define to 1 if you have the <string.h> header file. */ |
131 | /* #undef HAVE_STRING_H */ |
132 | |
133 | /* Define to 1 if you have the <sys/stat.h> header file. */ |
134 | /* #undef HAVE_SYS_STAT_H */ |
135 | |
136 | /* Define to 1 if you have the <sys/types.h> header file. */ |
137 | /* #undef HAVE_SYS_TYPES_H */ |
138 | |
139 | /* Define to 1 if you have the <sys/wait.h> header file. */ |
140 | /* #undef HAVE_SYS_WAIT_H */ |
141 | |
142 | /* Define to 1 if you have the <unistd.h> header file. */ |
143 | /* #undef HAVE_UNISTD_H */ |
144 | |
145 | /* Define to 1 if the compiler supports simple visibility declarations. */ |
146 | /* #undef HAVE_VISIBILITY */ |
147 | |
148 | /* Define to 1 if you have the <wchar.h> header file. */ |
149 | /* #undef HAVE_WCHAR_H */ |
150 | |
151 | /* Define to 1 if you have the <windows.h> header file. */ |
152 | /* #undef HAVE_WINDOWS_H */ |
153 | |
154 | /* Define to 1 if you have the <zlib.h> header file. */ |
155 | /* #undef HAVE_ZLIB_H */ |
156 | |
157 | /* This limits the amount of memory that may be used while matching a pattern. |
158 | It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply |
159 | to JIT matching. The value is in kibibytes (units of 1024 bytes). */ |
160 | #ifndef HEAP_LIMIT |
161 | #define HEAP_LIMIT 20000000 |
162 | #endif |
163 | |
164 | /* The value of LINK_SIZE determines the number of bytes used to store links |
165 | as offsets within the compiled regex. The default is 2, which allows for |
166 | compiled patterns up to 65535 code units long. This covers the vast |
167 | majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes |
168 | instead. This allows for longer patterns in extreme cases. */ |
169 | #ifndef LINK_SIZE |
170 | #define LINK_SIZE 2 |
171 | #endif |
172 | |
173 | /* Define to the sub-directory where libtool stores uninstalled libraries. */ |
174 | /* This is ignored unless you are using libtool. */ |
175 | #ifndef LT_OBJDIR |
176 | #define LT_OBJDIR ".libs/" |
177 | #endif |
178 | |
179 | /* The value of MATCH_LIMIT determines the default number of times the |
180 | pcre2_match() function can record a backtrack position during a single |
181 | matching attempt. The value is also used to limit a loop counter in |
182 | pcre2_dfa_match(). There is a runtime interface for setting a different |
183 | limit. The limit exists in order to catch runaway regular expressions that |
184 | take for ever to determine that they do not match. The default is set very |
185 | large so that it does not accidentally catch legitimate cases. */ |
186 | #ifndef MATCH_LIMIT |
187 | #define MATCH_LIMIT 10000000 |
188 | #endif |
189 | |
190 | /* The above limit applies to all backtracks, whether or not they are nested. |
191 | In some environments it is desirable to limit the nesting of backtracking |
192 | (that is, the depth of tree that is searched) more strictly, in order to |
193 | restrict the maximum amount of heap memory that is used. The value of |
194 | MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it |
195 | must be less than the value of MATCH_LIMIT. The default is to use the same |
196 | value as MATCH_LIMIT. There is a runtime method for setting a different |
197 | limit. In the case of pcre2_dfa_match(), this limit controls the depth of |
198 | the internal nested function calls that are used for pattern recursions, |
199 | lookarounds, and atomic groups. */ |
200 | #ifndef MATCH_LIMIT_DEPTH |
201 | #define MATCH_LIMIT_DEPTH MATCH_LIMIT |
202 | #endif |
203 | |
204 | /* This limit is parameterized just in case anybody ever wants to change it. |
205 | Care must be taken if it is increased, because it guards against integer |
206 | overflow caused by enormously large patterns. */ |
207 | #ifndef MAX_NAME_COUNT |
208 | #define MAX_NAME_COUNT 10000 |
209 | #endif |
210 | |
211 | /* This limit is parameterized just in case anybody ever wants to change it. |
212 | Care must be taken if it is increased, because it guards against integer |
213 | overflow caused by enormously large patterns. */ |
214 | #ifndef MAX_NAME_SIZE |
215 | #define MAX_NAME_SIZE 32 |
216 | #endif |
217 | |
218 | /* Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns. */ |
219 | /* #undef NEVER_BACKSLASH_C */ |
220 | |
221 | /* The value of NEWLINE_DEFAULT determines the default newline character |
222 | sequence. PCRE2 client programs can override this by selecting other values |
223 | at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5 |
224 | (ANYCRLF), and 6 (NUL). */ |
225 | #ifndef NEWLINE_DEFAULT |
226 | #define NEWLINE_DEFAULT 2 |
227 | #endif |
228 | |
229 | /* Name of package */ |
230 | #define PACKAGE "pcre2" |
231 | |
232 | /* Define to the address where bug reports for this package should be sent. */ |
233 | #define PACKAGE_BUGREPORT "" |
234 | |
235 | /* Define to the full name of this package. */ |
236 | #define PACKAGE_NAME "PCRE2" |
237 | |
238 | /* Define to the full name and version of this package. */ |
239 | #define PACKAGE_STRING "PCRE2 10.42" |
240 | |
241 | /* Define to the one symbol short name of this package. */ |
242 | #define PACKAGE_TARNAME "pcre2" |
243 | |
244 | /* Define to the home page for this package. */ |
245 | #define PACKAGE_URL "" |
246 | |
247 | /* Define to the version of this package. */ |
248 | #define PACKAGE_VERSION "10.42" |
249 | |
250 | /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested |
251 | parentheses (of any kind) in a pattern. This limits the amount of system |
252 | stack that is used while compiling a pattern. */ |
253 | #ifndef PARENS_NEST_LIMIT |
254 | #define PARENS_NEST_LIMIT 250 |
255 | #endif |
256 | |
257 | /* The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by |
258 | pcre2grep to hold parts of the file it is searching. The buffer will be |
259 | expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing |
260 | very long lines. The actual amount of memory used by pcre2grep is three |
261 | times this number, because it allows for the buffering of "before" and |
262 | "after" lines. */ |
263 | #ifndef PCRE2GREP_BUFSIZE |
264 | #define PCRE2GREP_BUFSIZE 20480 |
265 | #endif |
266 | |
267 | /* The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer |
268 | used by pcre2grep to hold parts of the file it is searching. The actual |
269 | amount of memory used by pcre2grep is three times this number, because it |
270 | allows for the buffering of "before" and "after" lines. */ |
271 | #ifndef PCRE2GREP_MAX_BUFSIZE |
272 | #define PCRE2GREP_MAX_BUFSIZE 1048576 |
273 | #endif |
274 | |
275 | /* Define to any value to include debugging code. */ |
276 | /* #undef PCRE2_DEBUG */ |
277 | |
278 | /* If you are compiling for a system other than a Unix-like system or |
279 | Win32, and it needs some magic to be inserted before the definition |
280 | of a function that is exported by the library, define this macro to |
281 | contain the relevant magic. If you do not define this macro, a suitable |
282 | __declspec value is used for Windows systems; in other environments |
283 | "extern" is used for a C compiler and "extern C" for a C++ compiler. |
284 | This macro apears at the start of every exported function that is part |
285 | of the external API. It does not appear on functions that are "external" |
286 | in the C sense, but which are internal to the library. */ |
287 | /* #undef PCRE2_EXP_DEFN */ |
288 | |
289 | /* Define to any value if linking statically (TODO: make nice with Libtool) */ |
290 | /* #undef PCRE2_STATIC */ |
291 | |
292 | /* Define to necessary symbol if this constant uses a non-standard name on |
293 | your system. */ |
294 | /* #undef PTHREAD_CREATE_JOINABLE */ |
295 | |
296 | /* Define to any non-zero number to enable support for SELinux compatible |
297 | executable memory allocator in JIT. Note that this will have no effect |
298 | unless SUPPORT_JIT is also defined. */ |
299 | /* #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR */ |
300 | |
301 | /* Define to 1 if all of the C90 standard headers exist (not just the ones |
302 | required in a freestanding environment). This macro is provided for |
303 | backward compatibility; new code need not use it. */ |
304 | /* #undef STDC_HEADERS */ |
305 | |
306 | /* Define to any value to enable support for Just-In-Time compiling. */ |
307 | /* #undef SUPPORT_JIT */ |
308 | |
309 | /* Define to any value to allow pcre2grep to be linked with libbz2, so that it |
310 | is able to handle .bz2 files. */ |
311 | /* #undef SUPPORT_LIBBZ2 */ |
312 | |
313 | /* Define to any value to allow pcre2test to be linked with libedit. */ |
314 | /* #undef SUPPORT_LIBEDIT */ |
315 | |
316 | /* Define to any value to allow pcre2test to be linked with libreadline. */ |
317 | /* #undef SUPPORT_LIBREADLINE */ |
318 | |
319 | /* Define to any value to allow pcre2grep to be linked with libz, so that it |
320 | is able to handle .gz files. */ |
321 | /* #undef SUPPORT_LIBZ */ |
322 | |
323 | /* Define to any value to enable callout script support in pcre2grep. */ |
324 | /* #undef SUPPORT_PCRE2GREP_CALLOUT */ |
325 | |
326 | /* Define to any value to enable fork support in pcre2grep callout scripts. |
327 | This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined. |
328 | */ |
329 | /* #undef SUPPORT_PCRE2GREP_CALLOUT_FORK */ |
330 | |
331 | /* Define to any value to enable JIT support in pcre2grep. Note that this will |
332 | have no effect unless SUPPORT_JIT is also defined. */ |
333 | /* #undef SUPPORT_PCRE2GREP_JIT */ |
334 | |
335 | /* Define to any value to enable the 16 bit PCRE2 library. */ |
336 | /* #undef SUPPORT_PCRE2_16 */ |
337 | |
338 | /* Define to any value to enable the 32 bit PCRE2 library. */ |
339 | /* #undef SUPPORT_PCRE2_32 */ |
340 | |
341 | /* Define to any value to enable the 8 bit PCRE2 library. */ |
342 | /* #undef SUPPORT_PCRE2_8 */ |
343 | |
344 | /* Define to any value to enable support for Unicode and UTF encoding. This |
345 | will work even in an EBCDIC environment, but it is incompatible with the |
346 | EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or* |
347 | ASCII/Unicode, but not both at once. */ |
348 | /* #undef SUPPORT_UNICODE */ |
349 | |
350 | /* Define to any value for valgrind support to find invalid memory reads. */ |
351 | /* #undef SUPPORT_VALGRIND */ |
352 | |
353 | /* Enable extensions on AIX 3, Interix. */ |
354 | #ifndef _ALL_SOURCE |
355 | # define _ALL_SOURCE 1 |
356 | #endif |
357 | /* Enable general extensions on macOS. */ |
358 | #ifndef _DARWIN_C_SOURCE |
359 | # define _DARWIN_C_SOURCE 1 |
360 | #endif |
361 | /* Enable general extensions on Solaris. */ |
362 | #ifndef __EXTENSIONS__ |
363 | # define __EXTENSIONS__ 1 |
364 | #endif |
365 | /* Enable GNU extensions on systems that have them. */ |
366 | #ifndef _GNU_SOURCE |
367 | # define _GNU_SOURCE 1 |
368 | #endif |
369 | /* Enable X/Open compliant socket functions that do not require linking |
370 | with -lxnet on HP-UX 11.11. */ |
371 | #ifndef _HPUX_ALT_XOPEN_SOCKET_API |
372 | # define _HPUX_ALT_XOPEN_SOCKET_API 1 |
373 | #endif |
374 | /* Identify the host operating system as Minix. |
375 | This macro does not affect the system headers' behavior. |
376 | A future release of Autoconf may stop defining this macro. */ |
377 | #ifndef _MINIX |
378 | /* # undef _MINIX */ |
379 | #endif |
380 | /* Enable general extensions on NetBSD. |
381 | Enable NetBSD compatibility extensions on Minix. */ |
382 | #ifndef _NETBSD_SOURCE |
383 | # define _NETBSD_SOURCE 1 |
384 | #endif |
385 | /* Enable OpenBSD compatibility extensions on NetBSD. |
386 | Oddly enough, this does nothing on OpenBSD. */ |
387 | #ifndef _OPENBSD_SOURCE |
388 | # define _OPENBSD_SOURCE 1 |
389 | #endif |
390 | /* Define to 1 if needed for POSIX-compatible behavior. */ |
391 | #ifndef _POSIX_SOURCE |
392 | /* # undef _POSIX_SOURCE */ |
393 | #endif |
394 | /* Define to 2 if needed for POSIX-compatible behavior. */ |
395 | #ifndef _POSIX_1_SOURCE |
396 | /* # undef _POSIX_1_SOURCE */ |
397 | #endif |
398 | /* Enable POSIX-compatible threading on Solaris. */ |
399 | #ifndef _POSIX_PTHREAD_SEMANTICS |
400 | # define _POSIX_PTHREAD_SEMANTICS 1 |
401 | #endif |
402 | /* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ |
403 | #ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ |
404 | # define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 |
405 | #endif |
406 | /* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ |
407 | #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ |
408 | # define __STDC_WANT_IEC_60559_BFP_EXT__ 1 |
409 | #endif |
410 | /* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ |
411 | #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ |
412 | # define __STDC_WANT_IEC_60559_DFP_EXT__ 1 |
413 | #endif |
414 | /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ |
415 | #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ |
416 | # define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 |
417 | #endif |
418 | /* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ |
419 | #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ |
420 | # define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 |
421 | #endif |
422 | /* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ |
423 | #ifndef __STDC_WANT_LIB_EXT2__ |
424 | # define __STDC_WANT_LIB_EXT2__ 1 |
425 | #endif |
426 | /* Enable extensions specified by ISO/IEC 24747:2009. */ |
427 | #ifndef __STDC_WANT_MATH_SPEC_FUNCS__ |
428 | # define __STDC_WANT_MATH_SPEC_FUNCS__ 1 |
429 | #endif |
430 | /* Enable extensions on HP NonStop. */ |
431 | #ifndef _TANDEM_SOURCE |
432 | # define _TANDEM_SOURCE 1 |
433 | #endif |
434 | /* Enable X/Open extensions. Define to 500 only if necessary |
435 | to make mbstate_t available. */ |
436 | #ifndef _XOPEN_SOURCE |
437 | /* # undef _XOPEN_SOURCE */ |
438 | #endif |
439 | |
440 | /* Version number of package */ |
441 | #define VERSION "10.42" |
442 | |
443 | /* Number of bits in a file offset, on hosts where this is settable. */ |
444 | /* #undef _FILE_OFFSET_BITS */ |
445 | |
446 | /* Define for large files, on AIX-style hosts. */ |
447 | /* #undef _LARGE_FILES */ |
448 | |
449 | /* Define to empty if `const' does not conform to ANSI C. */ |
450 | /* #undef const */ |
451 | |
452 | /* Define to the type of a signed integer type of width exactly 64 bits if |
453 | such a type exists and the standard includes do not define it. */ |
454 | /* #undef int64_t */ |
455 | |
456 | /* Define to `unsigned int' if <sys/types.h> does not define. */ |
457 | /* #undef size_t */ |
458 | |