1 2/* On Unix systems config.in is converted by configure into config.h. PCRE is 3written in Standard C, but there are a few non-standard things it can cope 4with, allowing it to run on SunOS4 and other "close to standard" systems. 5 6On a non-Unix system you should just copy this file into config.h, and set up 7the macros the way you need them. You should normally change the definitions of 8HAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way autoconf 9works, these cannot be made the defaults. If your system has bcopy() and not 10memmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. If your 11system has neither bcopy() nor memmove(), leave them both as 0; an emulation 12function will be used. */ 13 14/* If you are compiling for a system that uses EBCDIC instead of ASCII 15character codes, define this macro as 1. On systems that can use "configure", 16this 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 23before the definition of an exported function, define this macro to contain the 24relevant magic. It apears at the start of every exported function. */ 25 26#define 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 37doesn't have the strerror() or memmove() functions that should be present in 38all Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should 39normally be defined with the value 1 for other systems, but unfortunately we 40can't make this the default because "configure" files generated by autoconf 41will only change 0 to 1; they won't change 1 to 0 if the functions are not 42found. */ 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 48is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of 49HAVE_BCOPY is not relevant. */ 50 51#define HAVE_BCOPY 0 52 53/* The value of NEWLINE determines the newline character. The default is to 54leave it up to the compiler, but some sites want to force a particular value. 55On 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 62links as offsets within the compiled regex. The default is 2, which allows for 63compiled patterns up to 64K long. This covers the vast majority of cases. 64However, PCRE can also be compiled to use 3 or 4 bytes instead. This allows for 65longer patterns in extreme cases. On Unix systems, "configure" can be used to 66override 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() 73function can be called during a single execution of pcre_exec(). (There is a 74runtime method of setting a different limit.) The limit exists in order to 75catch runaway regular expressions that take for ever to determine that they do 76not match. The default is set very large so that it does not accidentally catch 77legitimate cases. On Unix systems, "configure" can be used to override this 78default 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 85required for holding the pointers to capturing substrings because PCRE requires 86three integers per substring, whereas the POSIX interface provides only two. If 87the number of expected substrings is small, the wrapper function uses space on 88the stack, because this is faster than using malloc() for each call. The 89threshold above which the stack is no longer use is defined by POSIX_MALLOC_ 90THRESHOLD. 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. 98This can sometimes be a problem on systems that have stacks of limited size. 99Define NO_RECURSE to get a version that doesn't use recursion in the match() 100function; instead it creates its own stack by steam using pcre_recurse_malloc 101to get memory. For more detail, see comments and other stuff just above the 102match() function. On Unix systems, "configure" can be used to set this in the 103Makefile (use --disable-stack-for-recursion). */ 104 105/* #define NO_RECURSE */ 106 107/* End */ 108