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