Mercurial > forge
view admin/Windows/msvc/libs/pcre-7.0.diff @ 3020:2b0d2eaaf671 octave-forge
Add compilation instructions for NetCDF and PCRE libraries
author | goffioul |
---|---|
date | Thu, 01 Feb 2007 14:26:29 +0000 |
parents | |
children |
line wrap: on
line source
diff -urN pcre-7.0/Makefile.vc pcre-7.0-mod/Makefile.vc --- pcre-7.0/Makefile.vc 1970-01-01 01:00:00.000000000 +0100 +++ pcre-7.0-mod/Makefile.vc 2007-02-01 15:22:18.354698800 +0100 @@ -0,0 +1,76 @@ +TARGET = pcre70.dll +IMPLIB = pcre.lib + +CFLAGS = -O2 -MD -D_WIN32 -DDLL_EXPORT -DSUPPORT_UTF8 -DSUPPORT_UCP + +CP = copy /y +RM = del /q + +SOURCES = \ + pcre_chartables.c \ + pcre_compile.c \ + pcre_config.c \ + pcre_dfa_exec.c \ + pcre_exec.c \ + pcre_fullinfo.c \ + pcre_get.c \ + pcre_globals.c \ + pcre_info.c \ + pcre_maketables.c \ + pcre_newline.c \ + pcre_ord2utf8.c \ + pcre_refcount.c \ + pcre_study.c \ + pcre_tables.c \ + pcre_try_flipped.c \ + pcre_ucp_searchfuncs.c \ + pcre_valid_utf8.c \ + pcre_version.c \ + pcre_xclass.c \ + pcreposix.c + +OBJECTS = $(SOURCES:.c=.obj) pcre.res + +all: config.h $(TARGET) + +config.h: config.h.vc + -$(RM) $@ + $(CP) config.h.vc $@ + +$(TARGET): $(OBJECTS) + link -DLL -OUT:$@ -IMPLIB:$(IMPLIB) $(OBJECTS) + mt -outputresource:$@ -manifest $@.manifest + +pcre.res: pcre.rc + rc -fo $@ pcre.rc + +pcre_chartables.c: dftables.exe + dftables.exe $@ + +dftables.exe: config.h dftables.c + cl -DSUPPORT_UTF8 -DSUPPORT_UCP dftables.c + +pcretest.exe: pcretest.c $(TARGET) + cl -O2 -F0x1000000 -MD /Fe$@ pcretest.c pcre.lib + mt -outputresource:$@ -manifest $@.manifest + +test: pcretest.exe + RunTest.bat + -fc testdata\testoutput1 testout\testoutput1 + -fc testdata\testoutput2 testout\testoutput2 + -fc testdata\testoutput3 testout\testoutput3 + -fc testdata\testoutput4 testout\testoutput4 + -fc testdata\testoutput5 testout\testoutput5 + -fc testdata\testoutput6 testout\testoutput6 + -fc testdata\testoutput7 testout\testoutput7 + -fc testdata\testoutput8 testout\testoutput8 + -fc testdata\testoutput9 testout\testoutput9 + +clean: + -$(RM) *.obj pcre.res + -$(RM) $(TARGET)* $(IMPLIB) + -$(RM) *.pdb *.exp + -$(RM) dftables.exe + -$(RM) pcre_chartables.c config.h + -rmdir /S /Q testout + -$(RM) pcretest.exe* diff -urN pcre-7.0/config.h.vc pcre-7.0-mod/config.h.vc --- pcre-7.0/config.h.vc 1970-01-01 01:00:00.000000000 +0100 +++ pcre-7.0-mod/config.h.vc 2007-02-01 14:02:01.211979200 +0100 @@ -0,0 +1,143 @@ + +/* On Unix-like systems config.in is converted by "configure" into config.h. +Some other environments also support the use of "configure". PCRE is written in +Standard C, but there are a few non-standard things it can cope with, allowing +it to run on SunOS4 and other "close to standard" systems. + +On a non-Unix-like system you should just copy this file into config.h, and set +up the macros the way you need them. You should normally change the definitions +of HAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way +autoconf works, these cannot be made the defaults. If your system has bcopy() +and not memmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. +If your system has neither bcopy() nor memmove(), leave them both as 0; an +emulation function will be used. */ + +/* If you are compiling for a system that uses EBCDIC instead of ASCII +character codes, define this macro as 1. On systems that can use "configure", +this can be done via --enable-ebcdic. */ + +#ifndef EBCDIC +#define EBCDIC 0 +#endif + +/* If you are compiling for a system other than a Unix-like system or Win32, +and it needs some magic to be inserted before the definition of a function that +is exported by the library, define this macro to contain the relevant magic. If +you do not define this macro, it defaults to "extern" for a C compiler and +"extern C" for a C++ compiler on non-Win32 systems. This macro apears at the +start of every exported function that is part of the external API. It does not +appear on functions that are "external" in the C sense, but which are internal +to the library. */ + +/* #define PCRE_DATA_SCOPE */ + +/* Define the following macro to empty if the "const" keyword does not work. */ + +#undef const + +/* Define the following macro to "unsigned" if <stddef.h> does not define +size_t. */ + +#undef size_t + +/* The following two definitions are mainly for the benefit of SunOS4, which +does not have the strerror() or memmove() functions that should be present in +all Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should +normally be defined with the value 1 for other systems, but unfortunately we +cannot make this the default because "configure" files generated by autoconf +will only change 0 to 1; they won't change 1 to 0 if the functions are not +found. */ + +#define HAVE_STRERROR 1 +#define HAVE_MEMMOVE 1 + +/* There are some non-Unix-like systems that don't even have bcopy(). If this +macro is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of +HAVE_BCOPY is not relevant. */ + +#define HAVE_BCOPY 0 + +/* The value of NEWLINE determines the newline character. The default is to +leave it up to the compiler, but some sites want to force a particular value. +On Unix-like systems, "configure" can be used to override this default. */ + +#ifndef NEWLINE +#define NEWLINE '\n' +#endif + +/* The value of LINK_SIZE determines the number of bytes used to store links as +offsets within the compiled regex. The default is 2, which allows for compiled +patterns up to 64K long. This covers the vast majority of cases. However, PCRE +can also be compiled to use 3 or 4 bytes instead. This allows for longer +patterns in extreme cases. On systems that support it, "configure" can be used +to override this default. */ + +#ifndef LINK_SIZE +#define LINK_SIZE 2 +#endif + +/* When calling PCRE via the POSIX interface, additional working storage is +required for holding the pointers to capturing substrings because PCRE requires +three integers per substring, whereas the POSIX interface provides only two. If +the number of expected substrings is small, the wrapper function uses space on +the stack, because this is faster than using malloc() for each call. The +threshold above which the stack is no longer used is defined by POSIX_MALLOC_ +THRESHOLD. On systems that support it, "configure" can be used to override this +default. */ + +#ifndef POSIX_MALLOC_THRESHOLD +#define POSIX_MALLOC_THRESHOLD 10 +#endif + +/* PCRE uses recursive function calls to handle backtracking while matching. +This can sometimes be a problem on systems that have stacks of limited size. +Define NO_RECURSE to get a version that doesn't use recursion in the match() +function; instead it creates its own stack by steam using pcre_recurse_malloc() +to obtain memory from the heap. For more detail, see the comments and other +stuff just above the match() function. On systems that support it, "configure" +can be used to set this in the Makefile (use --disable-stack-for-recursion). */ + +/* #define NO_RECURSE */ + +/* The value of MATCH_LIMIT determines the default number of times the internal +match() function can be called during a single execution of pcre_exec(). There +is a runtime interface for setting a different limit. The limit exists in order +to catch runaway regular expressions that take for ever to determine that they +do not match. The default is set very large so that it does not accidentally +catch legitimate cases. On systems that support it, "configure" can be used to +override this default default. */ + +#ifndef MATCH_LIMIT +#define MATCH_LIMIT 10000000 +#endif + +/* The above limit applies to all calls of match(), whether or not they +increase the recursion depth. In some environments it is desirable to limit the +depth of recursive calls of match() more strictly, in order to restrict the +maximum amount of stack (or heap, if NO_RECURSE is defined) that is used. The +value of MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To +have any useful effect, it must be less than the value of MATCH_LIMIT. There is +a runtime method for setting a different limit. On systems that support it, +"configure" can be used to override this default default. */ + +#ifndef MATCH_LIMIT_RECURSION +#define MATCH_LIMIT_RECURSION MATCH_LIMIT +#endif + +/* These three limits are parameterized just in case anybody ever wants to +change them. Care must be taken if they are increased, because they guard +against integer overflow caused by enormously large patterns. */ + +#ifndef MAX_NAME_SIZE +#define MAX_NAME_SIZE 32 +#endif + +#ifndef MAX_NAME_COUNT +#define MAX_NAME_COUNT 10000 +#endif + +#ifndef MAX_DUPLENGTH +#define MAX_DUPLENGTH 30000 +#endif + +/* End */ diff -urN pcre-7.0/pcre.rc pcre-7.0-mod/pcre.rc --- pcre-7.0/pcre.rc 1970-01-01 01:00:00.000000000 +0100 +++ pcre-7.0-mod/pcre.rc 2007-02-01 14:06:51.780058000 +0100 @@ -0,0 +1,31 @@ +#define WINDOWS_LEAN_AND_MEAN +#include <windows.h> + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 7, 0, 0, 0 +PRODUCTVERSION 7, 0, 0, 0 +FILEFLAGSMASK 0x3fL +FILEFLAGS 0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_APP +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Philip Hazel <ph10@cam.ac.uk>\0" + VALUE "FileDescription", "Perl Compatible Regular Expression Library\0" + VALUE "FileVersion", "7.0\0" + VALUE "InternalName", "Pcre\0" + VALUE "LegalCopyright", "Copyright 1997-2006 University of Cambridge\0" + VALUE "OriginalFilename", "pcre70.dll\0" + VALUE "ProductName", "Pcre\0" + VALUE "ProductVersion", "7.0\0" + END + END +END