From 67800ba810f3b7d346677cb94c591b404ab95da8 Mon Sep 17 00:00:00 2001 From: "Philip.Hazel" Date: Thu, 26 Feb 2015 17:36:29 +0000 Subject: [PATCH] Final file tidies for 10.10-RC2. --- CMakeLists.txt | 4 ++-- ChangeLog | 10 +++++----- NEWS | 5 +++-- configure.ac | 2 +- doc/html/NON-AUTOTOOLS-BUILD.txt | 28 ++++++++++++---------------- src/config.h.generic | 6 +++--- src/pcre2.h.generic | 4 ++-- src/pcre2test.c | 10 +++++----- 8 files changed, 33 insertions(+), 36 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9759869..81e2fec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -394,7 +394,7 @@ SET(PCRE2_SOURCES src/pcre2_newline.c src/pcre2_ord2utf.c src/pcre2_pattern_info.c - src/pcre2_serialize.c + src/pcre2_serialize.c src/pcre2_string_utils.c src/pcre2_study.c src/pcre2_substitute.c @@ -566,7 +566,7 @@ IF(PCRE2_BUILD_TESTS) # exes in Debug location tested by the RunTest shell script # via "make test" - + IF(PCRE2_BUILD_PCRE2GREP) GET_TARGET_PROPERTY(PCRE2GREP_EXE pcre2grep DEBUG_LOCATION) ENDIF(PCRE2_BUILD_PCRE2GREP) diff --git a/ChangeLog b/ChangeLog index 8fa7647..89fc7a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -82,19 +82,19 @@ ovector too small to capture the group. 16. Improved error message in pcre2test when setting the stack size (-S) fails. -17. Fixed two bugs in CMakeLists.txt: (1) Some lines had got lost in the -transfer from PCRE1, meaning that CMake configuration failed if "build tests" -was selected. (2) The file src/pcre2_serialize.c had not been added to the list +17. Fixed two bugs in CMakeLists.txt: (1) Some lines had got lost in the +transfer from PCRE1, meaning that CMake configuration failed if "build tests" +was selected. (2) The file src/pcre2_serialize.c had not been added to the list of PCRE2 sources, which caused a failure to build pcre2test. -18. Fixed typo in pcre2_serialize.c (DECL instead of DEFN) that causes problems +18. Fixed typo in pcre2_serialize.c (DECL instead of DEFN) that causes problems only on Windows. 19. Use binary input when reading back saved serialized patterns in pcre2test. 20. Added RunTest.bat for running the tests under Windows. -21. "make distclean" was not removing config.h, a file that is created for use +21. "make distclean" was not removing config.h, a file that is created for use with CMake. diff --git a/NEWS b/NEWS index 3478bf4..94a2810 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,7 @@ News about PCRE2 releases ------------------------- -Version 10.10 20-February-2015 +Version 10.10 26-February-2015 ------------------------------ 1. Serialization and de-serialization functions have been added to the API, @@ -11,7 +11,8 @@ restoration must be done in the same environment that was used for compilation. 2. The (*NO_JIT) feature has been added; this makes it possible for a pattern creator to specify that JIT is not to be used. -3. A number of bugs have been fixed. +3. A number of bugs have been fixed. In particular, bugs that caused building +on Windows using CMake have been mended. Version 10.00 05-January-2015 diff --git a/configure.ac b/configure.ac index ab6b8f1..522974e 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ dnl be defined as -RC2, for example. For real releases, it should be empty. m4_define(pcre2_major, [10]) m4_define(pcre2_minor, [10]) m4_define(pcre2_prerelease, [-RC2]) -m4_define(pcre2_date, [2015-02-20]) +m4_define(pcre2_date, [2015-02-26]) # 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 fcc6ce2..2c2162e 100644 --- a/doc/html/NON-AUTOTOOLS-BUILD.txt +++ b/doc/html/NON-AUTOTOOLS-BUILD.txt @@ -20,10 +20,6 @@ This document contains the following sections: GENERAL -I (Philip Hazel) have no experience of Windows or VMS sytems and how their -libraries work. The items in the PCRE2 distribution and Makefile that relate to -anything other than Linux systems are untested by me. - The basic PCRE2 library consists entirely of code written in Standard C, and so should compile successfully on any system that has a Standard C compiler and library. @@ -186,9 +182,12 @@ The default processor stack size of 1Mb in some Windows environments is too small for matching patterns that need much recursion. In particular, test 2 may fail because of this. Normally, running out of stack causes a crash, but there have been cases where the test program has just died silently. See your linker -documentation for how to increase stack size if you experience problems. The -Linux default of 8Mb is a reasonable choice for the stack, though even that can -be too small for some pattern/subject combinations. +documentation for how to increase stack size if you experience problems. If you +are using CMake (see "BUILDING PCRE2 ON WINDOWS WITH CMAKE" below) and the gcc +compiler, you can increase the stack size for pcre2test and pcre2grep by +setting the CMAKE_EXE_LINKER_FLAGS variable to "-Wl,--stack,8388608" (for +example). The Linux default of 8Mb is a reasonable choice for the stack, though +even that can be too small for some pattern/subject combinations. PCRE2 has a compile configuration option to disable the use of stack for recursion so that heap is used instead. However, pattern matching is @@ -330,22 +329,19 @@ cache can be deleted by selecting "File > Delete Cache". 12. If during configuration with cmake-gui you've elected to build the test programs, you can execute them by building the test project. E.g., for - MinGW: "make check"; for Visual Studio build the RUN_TESTS project. The + MinGW: "make test"; for Visual Studio build the RUN_TESTS project. The most recent build configuration is targeted by the tests. A summary of test results is presented. Complete test output is subsequently available for review in Testing\Temporary under your build dir. -TESTING WITH RUNTEST.BAT IS NOT YET TESTED/UPDATED +TESTING WITH RUNTEST.BAT -If configured with CMake, building the test project ("make check" or building +If configured with CMake, building the test project ("make test" 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. +directory. The pcre2_test.bat script runs RunTest.bat with correct source and +exe paths. 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 @@ -392,4 +388,4 @@ The site currently has ports for PCRE1 releases, but PCRE2 should follow in due course. ============================= -Last Updated: 19 January 2015 +Last Updated: 25 February 2015 diff --git a/src/config.h.generic b/src/config.h.generic index 7d08ca5..cd7b2fd 100644 --- a/src/config.h.generic +++ b/src/config.h.generic @@ -200,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.10-RC1" +#define PACKAGE_STRING "PCRE2 10.10-RC2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre2" @@ -209,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.10-RC1" +#define PACKAGE_VERSION "10.10-RC2" /* 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 @@ -287,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.10-RC1" +#define VERSION "10.10-RC2" /* 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 0620ed9..f38413d 100644 --- a/src/pcre2.h.generic +++ b/src/pcre2.h.generic @@ -43,8 +43,8 @@ POSSIBILITY OF SUCH DAMAGE. #define PCRE2_MAJOR 10 #define PCRE2_MINOR 10 -#define PCRE2_PRERELEASE -RC1 -#define PCRE2_DATE 2015-02-20 +#define PCRE2_PRERELEASE -RC2 +#define PCRE2_DATE 2015-02-26 /* 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 diff --git a/src/pcre2test.c b/src/pcre2test.c index e0f0a54..85f80ca 100644 --- a/src/pcre2test.c +++ b/src/pcre2test.c @@ -102,7 +102,7 @@ environments, so it was added for release 5.0 to both the input and output. (It makes no difference on Unix-like systems.) Later I was told that it is wrong for the input on Windows. I've now abstracted the modes into macros that are set here, to make it easier to fiddle with them, and removed "b" from the input -mode under Windows. The BINARY versions are used when saving/restoring compiled +mode under Windows. The BINARY versions are used when saving/restoring compiled patterns. */ #if defined(_WIN32) || defined(WIN32) @@ -6466,16 +6466,16 @@ while (argc > 1 && argv[op][0] == '-' && argv[op][1] != 0) rlim.rlim_cur = stack_size * 1024 * 1024; if (rlim.rlim_cur > rlim.rlim_max) { - fprintf(stderr, + fprintf(stderr, "pcre2test: requested stack size %luM is greater than hard limit %lu\n", - (unsigned long int)stack_size, + (unsigned long int)stack_size, (unsigned long int)(rlim.rlim_max)); exit(1); - } + } rc = setrlimit(RLIMIT_STACK, &rlim); if (rc != 0) { - fprintf(stderr, "pcre2test: setting stack size %luM failed: %s\n", + fprintf(stderr, "pcre2test: setting stack size %luM failed: %s\n", (unsigned long int)stack_size, strerror(errno)); exit(1); }