diff --git a/AUTHORS b/AUTHORS index aa39051..14a1a19 100644 --- a/AUTHORS +++ b/AUTHORS @@ -8,7 +8,7 @@ Email domain: cam.ac.uk University of Cambridge Computing Service, Cambridge, England. -Copyright (c) 1997-2014 University of Cambridge +Copyright (c) 1997-2015 University of Cambridge All rights reserved @@ -19,7 +19,7 @@ Written by: Zoltan Herczeg Email local part: hzmester Emain domain: freemail.hu -Copyright(c) 2010-2014 Zoltan Herczeg +Copyright(c) 2010-2015 Zoltan Herczeg All rights reserved. @@ -30,7 +30,7 @@ Written by: Zoltan Herczeg Email local part: hzmester Emain domain: freemail.hu -Copyright(c) 2009-2014 Zoltan Herczeg +Copyright(c) 2009-2015 Zoltan Herczeg All rights reserved. #### diff --git a/ChangeLog b/ChangeLog index 40cc171..32a38fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,8 @@ Change Log for PCRE2 -------------------- -Version 10.00 19-December-2014 ------------------------------- +Version 10.00 05-January-2015 +----------------------------- Version 10.00 is the first release of PCRE2, a revised API for the PCRE library. Changes prior to 10.00 are logged in the ChangeLog file for the old diff --git a/LICENCE b/LICENCE index ae52181..c870c3d 100644 --- a/LICENCE +++ b/LICENCE @@ -24,7 +24,7 @@ Email domain: cam.ac.uk University of Cambridge Computing Service, Cambridge, England. -Copyright (c) 1997-2014 University of Cambridge +Copyright (c) 1997-2015 University of Cambridge All rights reserved. @@ -35,7 +35,7 @@ Written by: Zoltan Herczeg Email local part: hzmester Emain domain: freemail.hu -Copyright(c) 2010-2014 Zoltan Herczeg +Copyright(c) 2010-2015 Zoltan Herczeg All rights reserved. @@ -46,7 +46,7 @@ Written by: Zoltan Herczeg Email local part: hzmester Emain domain: freemail.hu -Copyright(c) 2009-2014 Zoltan Herczeg +Copyright(c) 2009-2015 Zoltan Herczeg All rights reserved. diff --git a/NEWS b/NEWS index 838e151..c3d4d91 100644 --- a/NEWS +++ b/NEWS @@ -1,8 +1,8 @@ News about PCRE2 releases ------------------------- -Version 10.00 19-December-2014 ------------------------------- +Version 10.00 05-January-2015 +----------------------------- Version 10.00 is the first release of PCRE2, a revised API for the PCRE library. Changes prior to 10.00 are logged in the ChangeLog file for the old diff --git a/NON-AUTOTOOLS-BUILD b/NON-AUTOTOOLS-BUILD index d5289a1..479c257 100644 --- a/NON-AUTOTOOLS-BUILD +++ b/NON-AUTOTOOLS-BUILD @@ -1,17 +1,14 @@ Building PCRE2 without using autotools -------------------------------------- -This document has been converted from the PCRE1 document, but is not yet -complete. I have removed a number of quite old sections about building in -various environments, as they applied only to PCRE1 and are probably out of -date. - +This document has been converted from the PCRE1 document. I have removed a +number of sections about building in various environments, as they applied only +to PCRE1 and are probably out of date. This document contains the following sections: General Generic instructions for the PCRE2 C library - Building for virtual Pascal Stack size in Windows environments Linking programs in Windows environments Calling conventions in Windows environments @@ -91,10 +88,11 @@ can skip ahead to the CMake section. The tables in src/pcre2_chartables.c are defaults. The caller of PCRE2 can specify alternative tables at run time. - (4) For an 8-bit library, compile the following source files, setting - -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also set -DHAVE_CONFIG_H - if you have set up src/config.h with your configuration, or else use other - -D settings to change the configuration as required. + (4) For an 8-bit library, compile the following source files from the src + directory, setting -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also + set -DHAVE_CONFIG_H if you have set up src/config.h with your + configuration, or else use other -D settings to change the configuration + as required. pcre2_auto_possess.c pcre2_chartables.c @@ -104,8 +102,6 @@ can skip ahead to the CMake section. pcre2_dfa_match.c pcre2_error.c pcre2_jit_compile.c - pcre2_jit_match.c - pcre2_jit_misc.c pcre2_maketables.c pcre2_match.c pcre2_match_data.c @@ -114,6 +110,7 @@ can skip ahead to the CMake section. pcre2_pattern_info.c pcre2_string_utils.c pcre2_study.c + pcre2_substitute.c pcre2_substring.c pcre2_tables.c pcre2_ucd.c @@ -125,11 +122,13 @@ can skip ahead to the CMake section. sought in the src directory under the current directory. Otherwise you run the risk of picking up a previously-installed file from somewhere else. - Note that you must compile pcre2_jit_xxx.c, even if you have not defined - SUPPORT_JIT in src/config.h, because when JIT support is not configured, - dummy functions are compiled. When JIT support IS configured, the JIT - sources #include other files from the sljit subdirectory, where there - should be 16 files, all of whose names begin with "sljit". + Note that you must compile pcre2_jit_compile.c, even if you have not + defined SUPPORT_JIT in src/config.h, because when JIT support is not + configured, dummy functions are compiled. When JIT support IS configured, + pcre2_compile.c #includes other files from the sljit subdirectory, where + there should be 16 files, all of whose names begin with "sljit". It also + #includes src/pcre2_jit_match.c and src/pcre2_jit_misc.c, so you should + not compile these yourself. (5) Now link all the compiled code into an object library in whichever form your system keeps such libraries. This is the basic PCRE2 C 8-bit library. @@ -141,13 +140,13 @@ can skip ahead to the CMake section. -DPCRE2_CODE_UNIT_WIDTH when you are compiling. (7) If you want to build the POSIX wrapper functions (which apply only to the - 8-bit library), ensure that you have the pcre2posix.h file and then - compile pcre2posix.c. Link the result (on its own) as the pcre2posix + 8-bit library), ensure that you have the src/pcre2posix.h file and then + compile src/pcre2posix.c. Link the result (on its own) as the pcre2posix library. (8) The pcre2test program can be linked with any combination of the 8-bit, 16-bit and 32-bit libraries (depending on what you selected in - src/config.h). Compile pcre2test.c; don't forget -DHAVE_CONFIG_H if + src/config.h). Compile src/pcre2test.c; don't forget -DHAVE_CONFIG_H if necessary, but do NOT define PCRE2_CODE_UNIT_WIDTH. Then link with the appropriate library/ies. If you compiled an 8-bit library, pcre2test also needs the pcre2posix wrapper library. @@ -173,22 +172,11 @@ can skip ahead to the CMake section. (10) If you have built PCRE2 with SUPPORT_JIT, the JIT features can be tested by running pcre2test with the -jit option. This is done automatically by the RunTest script. You might also like to build and run the freestanding - JIT test program, pcre2_jit_test.c. + JIT test program, src/pcre2_jit_test.c. -(11) If you want to use the pcre2grep command, compile and link pcre2grep.c; it - uses only the basic 8-bit PCRE2 library (it does not need the pcre2posix - library). - - -BUILDING FOR VIRTUAL PASCAL - -FIXME FOR PCRE2 - -A script for building PCRE2 using Borland's C++ compiler for use with VPASCAL -was contributed by Alexander Tokarev. Stefan Weber updated the script and added -additional files. The following files in the distribution are for building -PCRE2 for use with VP/Borland: makevp_c.txt, makevp_l.txt, makevp.bat, -pcre2gexp.pas. +(11) If you want to use the pcre2grep command, compile and link + src/pcre2grep.c; it uses only the basic 8-bit PCRE2 library (it does not + need the pcre2posix library). STACK SIZE IN WINDOWS ENVIRONMENTS @@ -347,13 +335,17 @@ cache can be deleted by selecting "File > Delete Cache". available for review in Testing\Temporary under your build dir. -TESTING WITH RUNTEST.BAT FIXME FIXME NOT YET TESTED/UPDATED FIXME +TESTING WITH RUNTEST.BAT IS NOT YET TESTED/UPDATED If configured with CMake, building the test project ("make check" or building ALL_TESTS in Visual Studio) creates (and runs) pcre2_test.bat (and depending on your configuration options, possibly other test programs) in the build directory. Pcre_test.bat runs RunTest.Bat with correct source and exe paths. +INCOMPLETE: Nobody has yet provided a RunTest.Bat for PCRE2 and I have no means +of doing so. These instructions are those for PCRE1, left here in the hope that +one day they will be usable. + For manual testing with RunTest.bat, provided the build dir is a subdirectory of the source directory: Open command shell window. Chdir to the location of your pcre2test.exe and pcre2grep.exe programs. Call RunTest.bat with @@ -398,5 +390,5 @@ There is also a mirror here: The site currently has ports for PCRE1 releases, but PCRE2 should follow in due course. -========================== -Last Updated: 03 November 2014 +============================= +Last Updated: 05 January 2015 diff --git a/README b/README index 4294c48..28d64f6 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ README file for PCRE2 (Perl-compatible regular expression library) ------------------------------------------------------------------ -PCRE2 is a re-implementation of the original PCRE library with an entirely new +PCRE2 is a re-working of the original PCRE library to provide an entirely new API. The latest release of PCRE2 is always available in three alternative formats from: @@ -39,8 +39,8 @@ The PCRE2 APIs PCRE2 is written in C, and it has its own API. There are three sets of functions, one for the 8-bit library, which processes strings of bytes, one for the 16-bit library, which processes strings of 16-bit values, and one for the -32-bit library, which processes strings of 32-bit values. As this is a new API, -there as yet no C++ wrappers. +32-bit library, which processes strings of 32-bit values. There are no C++ +wrappers. The distribution does contain a set of C wrapper functions for the 8-bit library that are based on the POSIX regular expression API (see the pcre2posix @@ -816,4 +816,4 @@ The distribution should contain the files listed below. Philip Hazel Email local part: ph10 Email domain: cam.ac.uk -Last updated: 24 November 2014 +Last updated: 05 January 2015 diff --git a/configure.ac b/configure.ac index e495c45..e4e7c4d 100644 --- a/configure.ac +++ b/configure.ac @@ -10,8 +10,8 @@ dnl be defined as -RC2, for example. For real releases, it should be empty. m4_define(pcre2_major, [10]) m4_define(pcre2_minor, [00]) -m4_define(pcre2_prerelease, [-RC2]) -m4_define(pcre2_date, [2014-12-19]) +m4_define(pcre2_prerelease, []) +m4_define(pcre2_date, [2014-01-05]) # NOTE: The CMakeLists.txt file searches for the above variables in the first # 50 lines of this file. Please update that if the variables above are moved. diff --git a/doc/html/NON-AUTOTOOLS-BUILD.txt b/doc/html/NON-AUTOTOOLS-BUILD.txt index d5289a1..479c257 100644 --- a/doc/html/NON-AUTOTOOLS-BUILD.txt +++ b/doc/html/NON-AUTOTOOLS-BUILD.txt @@ -1,17 +1,14 @@ Building PCRE2 without using autotools -------------------------------------- -This document has been converted from the PCRE1 document, but is not yet -complete. I have removed a number of quite old sections about building in -various environments, as they applied only to PCRE1 and are probably out of -date. - +This document has been converted from the PCRE1 document. I have removed a +number of sections about building in various environments, as they applied only +to PCRE1 and are probably out of date. This document contains the following sections: General Generic instructions for the PCRE2 C library - Building for virtual Pascal Stack size in Windows environments Linking programs in Windows environments Calling conventions in Windows environments @@ -91,10 +88,11 @@ can skip ahead to the CMake section. The tables in src/pcre2_chartables.c are defaults. The caller of PCRE2 can specify alternative tables at run time. - (4) For an 8-bit library, compile the following source files, setting - -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also set -DHAVE_CONFIG_H - if you have set up src/config.h with your configuration, or else use other - -D settings to change the configuration as required. + (4) For an 8-bit library, compile the following source files from the src + directory, setting -DPCRE2_CODE_UNIT_WIDTH=8 as a compiler option. Also + set -DHAVE_CONFIG_H if you have set up src/config.h with your + configuration, or else use other -D settings to change the configuration + as required. pcre2_auto_possess.c pcre2_chartables.c @@ -104,8 +102,6 @@ can skip ahead to the CMake section. pcre2_dfa_match.c pcre2_error.c pcre2_jit_compile.c - pcre2_jit_match.c - pcre2_jit_misc.c pcre2_maketables.c pcre2_match.c pcre2_match_data.c @@ -114,6 +110,7 @@ can skip ahead to the CMake section. pcre2_pattern_info.c pcre2_string_utils.c pcre2_study.c + pcre2_substitute.c pcre2_substring.c pcre2_tables.c pcre2_ucd.c @@ -125,11 +122,13 @@ can skip ahead to the CMake section. sought in the src directory under the current directory. Otherwise you run the risk of picking up a previously-installed file from somewhere else. - Note that you must compile pcre2_jit_xxx.c, even if you have not defined - SUPPORT_JIT in src/config.h, because when JIT support is not configured, - dummy functions are compiled. When JIT support IS configured, the JIT - sources #include other files from the sljit subdirectory, where there - should be 16 files, all of whose names begin with "sljit". + Note that you must compile pcre2_jit_compile.c, even if you have not + defined SUPPORT_JIT in src/config.h, because when JIT support is not + configured, dummy functions are compiled. When JIT support IS configured, + pcre2_compile.c #includes other files from the sljit subdirectory, where + there should be 16 files, all of whose names begin with "sljit". It also + #includes src/pcre2_jit_match.c and src/pcre2_jit_misc.c, so you should + not compile these yourself. (5) Now link all the compiled code into an object library in whichever form your system keeps such libraries. This is the basic PCRE2 C 8-bit library. @@ -141,13 +140,13 @@ can skip ahead to the CMake section. -DPCRE2_CODE_UNIT_WIDTH when you are compiling. (7) If you want to build the POSIX wrapper functions (which apply only to the - 8-bit library), ensure that you have the pcre2posix.h file and then - compile pcre2posix.c. Link the result (on its own) as the pcre2posix + 8-bit library), ensure that you have the src/pcre2posix.h file and then + compile src/pcre2posix.c. Link the result (on its own) as the pcre2posix library. (8) The pcre2test program can be linked with any combination of the 8-bit, 16-bit and 32-bit libraries (depending on what you selected in - src/config.h). Compile pcre2test.c; don't forget -DHAVE_CONFIG_H if + src/config.h). Compile src/pcre2test.c; don't forget -DHAVE_CONFIG_H if necessary, but do NOT define PCRE2_CODE_UNIT_WIDTH. Then link with the appropriate library/ies. If you compiled an 8-bit library, pcre2test also needs the pcre2posix wrapper library. @@ -173,22 +172,11 @@ can skip ahead to the CMake section. (10) If you have built PCRE2 with SUPPORT_JIT, the JIT features can be tested by running pcre2test with the -jit option. This is done automatically by the RunTest script. You might also like to build and run the freestanding - JIT test program, pcre2_jit_test.c. + JIT test program, src/pcre2_jit_test.c. -(11) If you want to use the pcre2grep command, compile and link pcre2grep.c; it - uses only the basic 8-bit PCRE2 library (it does not need the pcre2posix - library). - - -BUILDING FOR VIRTUAL PASCAL - -FIXME FOR PCRE2 - -A script for building PCRE2 using Borland's C++ compiler for use with VPASCAL -was contributed by Alexander Tokarev. Stefan Weber updated the script and added -additional files. The following files in the distribution are for building -PCRE2 for use with VP/Borland: makevp_c.txt, makevp_l.txt, makevp.bat, -pcre2gexp.pas. +(11) If you want to use the pcre2grep command, compile and link + src/pcre2grep.c; it uses only the basic 8-bit PCRE2 library (it does not + need the pcre2posix library). STACK SIZE IN WINDOWS ENVIRONMENTS @@ -347,13 +335,17 @@ cache can be deleted by selecting "File > Delete Cache". available for review in Testing\Temporary under your build dir. -TESTING WITH RUNTEST.BAT FIXME FIXME NOT YET TESTED/UPDATED FIXME +TESTING WITH RUNTEST.BAT IS NOT YET TESTED/UPDATED If configured with CMake, building the test project ("make check" or building ALL_TESTS in Visual Studio) creates (and runs) pcre2_test.bat (and depending on your configuration options, possibly other test programs) in the build directory. Pcre_test.bat runs RunTest.Bat with correct source and exe paths. +INCOMPLETE: Nobody has yet provided a RunTest.Bat for PCRE2 and I have no means +of doing so. These instructions are those for PCRE1, left here in the hope that +one day they will be usable. + For manual testing with RunTest.bat, provided the build dir is a subdirectory of the source directory: Open command shell window. Chdir to the location of your pcre2test.exe and pcre2grep.exe programs. Call RunTest.bat with @@ -398,5 +390,5 @@ There is also a mirror here: The site currently has ports for PCRE1 releases, but PCRE2 should follow in due course. -========================== -Last Updated: 03 November 2014 +============================= +Last Updated: 05 January 2015 diff --git a/doc/html/README.txt b/doc/html/README.txt index 4294c48..28d64f6 100644 --- a/doc/html/README.txt +++ b/doc/html/README.txt @@ -1,7 +1,7 @@ README file for PCRE2 (Perl-compatible regular expression library) ------------------------------------------------------------------ -PCRE2 is a re-implementation of the original PCRE library with an entirely new +PCRE2 is a re-working of the original PCRE library to provide an entirely new API. The latest release of PCRE2 is always available in three alternative formats from: @@ -39,8 +39,8 @@ The PCRE2 APIs PCRE2 is written in C, and it has its own API. There are three sets of functions, one for the 8-bit library, which processes strings of bytes, one for the 16-bit library, which processes strings of 16-bit values, and one for the -32-bit library, which processes strings of 32-bit values. As this is a new API, -there as yet no C++ wrappers. +32-bit library, which processes strings of 32-bit values. There are no C++ +wrappers. The distribution does contain a set of C wrapper functions for the 8-bit library that are based on the POSIX regular expression API (see the pcre2posix @@ -816,4 +816,4 @@ The distribution should contain the files listed below. Philip Hazel Email local part: ph10 Email domain: cam.ac.uk -Last updated: 24 November 2014 +Last updated: 05 January 2015 diff --git a/src/config.h.generic b/src/config.h.generic index 5fb75f1..8c5986b 100644 --- a/src/config.h.generic +++ b/src/config.h.generic @@ -140,8 +140,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define LINK_SIZE 2 #endif -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ /* This is ignored unless you are using libtool. */ #ifndef LT_OBJDIR #define LT_OBJDIR ".libs/" @@ -201,7 +200,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_NAME "PCRE2" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PCRE2 10.00-RC2" +#define PACKAGE_STRING "PCRE2 10.00" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre2" @@ -210,7 +209,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "10.00-RC2" +#define PACKAGE_VERSION "10.00" /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested parentheses (of any kind) in a pattern. This limits the amount of system @@ -288,7 +287,7 @@ sure both macros are undefined; an emulation function will then be used. */ /* #undef SUPPORT_VALGRIND */ /* Version number of package */ -#define VERSION "10.00-RC2" +#define VERSION "10.00" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ diff --git a/src/pcre2.h.generic b/src/pcre2.h.generic index 514cf63..fd06a1e 100644 --- a/src/pcre2.h.generic +++ b/src/pcre2.h.generic @@ -5,7 +5,7 @@ /* This is the public header file for the PCRE library, second API, to be #included by applications that call PCRE2 functions. - Copyright (c) 2014 University of Cambridge + Copyright (c) 2015 University of Cambridge ----------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without @@ -43,8 +43,8 @@ POSSIBILITY OF SUCH DAMAGE. #define PCRE2_MAJOR 10 #define PCRE2_MINOR 00 -#define PCRE2_PRERELEASE -RC2 -#define PCRE2_DATE 2014-12-19 +#define PCRE2_PRERELEASE +#define PCRE2_DATE 2014-01-05 /* When an application links to a PCRE DLL in Windows, the symbols that are imported have to be identified as such. When building PCRE2, the appropriate @@ -113,10 +113,11 @@ D is inspected during pcre2_dfa_match() execution #define PCRE2_NEVER_UTF 0x00001000u /* C */ #define PCRE2_NO_AUTO_CAPTURE 0x00002000u /* C */ #define PCRE2_NO_AUTO_POSSESS 0x00004000u /* C */ -#define PCRE2_NO_START_OPTIMIZE 0x00008000u /* J M D */ -#define PCRE2_UCP 0x00010000u /* C J M D */ -#define PCRE2_UNGREEDY 0x00020000u /* C */ -#define PCRE2_UTF 0x00040000u /* C J M D */ +#define PCRE2_NO_DOTSTAR_ANCHOR 0x00008000u /* C */ +#define PCRE2_NO_START_OPTIMIZE 0x00010000u /* J M D */ +#define PCRE2_UCP 0x00020000u /* C J M D */ +#define PCRE2_UNGREEDY 0x00040000u /* C */ +#define PCRE2_UTF 0x00080000u /* C J M D */ /* These are for pcre2_jit_compile(). */