Mercurial > forge
changeset 3020:2b0d2eaaf671 octave-forge
Add compilation instructions for NetCDF and PCRE libraries
author | goffioul |
---|---|
date | Thu, 01 Feb 2007 14:26:29 +0000 |
parents | 05815d69dcd7 |
children | 03a4089c0e6a |
files | admin/Windows/msvc/libs/netcdf.txt admin/Windows/msvc/libs/pcre-7.0.diff admin/Windows/msvc/libs/pcre-7.0.txt |
diffstat | 3 files changed, 301 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/admin/Windows/msvc/libs/netcdf.txt Thu Feb 01 14:26:29 2007 +0000 @@ -0,0 +1,21 @@ +Package: NetCDF +Version: 3.6.1 +Home page: http://www.unidata.ucar.edu/software/netcdf/ +Download: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf.tar.gz +License: Free (BSD-like) + +Compilation: from Visual Studio environment + +Requirement: none + +1) Open src\win32\NET\netcdf.sln in Visual Studio + +2) Edit netcdf project properties and set the runtime library + to "Multi-threaded DLL" (which use the /MD compilation flag) + +3) Build netcdf project + +4) Install (copy manually): + . netcdf.dll into bin directory + . netcdf.lib into lib directory + . src\libsrc\netcdf.h into include directory
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/admin/Windows/msvc/libs/pcre-7.0.diff Thu Feb 01 14:26:29 2007 +0000 @@ -0,0 +1,262 @@ +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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/admin/Windows/msvc/libs/pcre-7.0.txt Thu Feb 01 14:26:29 2007 +0000 @@ -0,0 +1,18 @@ +Package: PCRE +Version: 7.0 +Home page: http://www.pcre.org/ +Download: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.0.tar.gz +License: BSD + +Compilation: from Windows command shell with VS environment + +Requirement: none + +1) Apply the patch + +2) nmake -f Makefile.vc + +3) Install (copy manually): + . pcre70.dll into bin directory + . pcre.lib into lib directory + . pcre.h and pcreposix.h into include directory