61 |
This section contains a checklist of things that I consult before building a |
This section contains a checklist of things that I consult before building a |
62 |
distribution for a new release. |
distribution for a new release. |
63 |
|
|
64 |
. Ensure that the version number and version date are correct in configure.ac. |
. Ensure that the version number and version date are correct in configure.ac, |
65 |
|
ChangeLog, and NEWS. |
66 |
|
|
67 |
. Run ./autogen.sh to ensure everything is up-to-date. |
. Run ./autogen.sh to ensure everything is up-to-date. |
68 |
|
|
73 |
the PCRE test output, apart from the version identification at the top. The |
the PCRE test output, apart from the version identification at the top. The |
74 |
other tests are not Perl-compatible (they use various special PCRE options). |
other tests are not Perl-compatible (they use various special PCRE options). |
75 |
|
|
|
. Test on a number of different operating systems. In particular, at the moment |
|
|
I can test on Solaris, using Sun's cc compiler (as a change from gcc). Adding |
|
|
-xarch=v9 to the cc options does a 64-bit test, but it also needs -S 64 for |
|
|
pcretest to increase the stack size for test 2. I also test on FreeBSD and |
|
|
Linux (where I develop). |
|
|
|
|
76 |
. Test with valgrind by running "RunTest valgrind". There is also "RunGrepTest |
. Test with valgrind by running "RunTest valgrind". There is also "RunGrepTest |
77 |
valgrind", though that takes quite a long time. |
valgrind", though that takes quite a long time. |
78 |
|
|
79 |
. It can also useful to test with Electric Fence, though the fact that it |
. It may also useful to test with Electric Fence, though the fact that it |
80 |
grumbles for missing free() calls can be a nuisance. (A missing free() in |
grumbles for missing free() calls can be a nuisance. (A missing free() in |
81 |
pcretest is hardly a big problem.) To build with EF, use: |
pcretest is hardly a big problem.) To build with EF, use: |
82 |
|
|
90 |
because there have been problems with lookbehinds that looked too far. |
because there have been problems with lookbehinds that looked too far. |
91 |
|
|
92 |
. Test with the emulated memmove() function by undefining HAVE_MEMMOVE and |
. Test with the emulated memmove() function by undefining HAVE_MEMMOVE and |
93 |
HAVE_BCOPY in config.h. |
HAVE_BCOPY in config.h. You may see a number of "pcre_memmove defined but not |
94 |
|
used" warnings for the modules in which there is no call to memmove(). These |
95 |
|
can be ignored. |
96 |
|
|
97 |
. Documentation: check AUTHORS, COPYING, ChangeLog (check date), INSTALL, |
. Documentation: check AUTHORS, COPYING, ChangeLog (check date), INSTALL, |
98 |
LICENCE, NEWS (check date), NON-UNIX-USE, and README. Many of these won't |
LICENCE, NEWS (check date), NON-UNIX-USE, and README. Many of these won't |
101 |
. Man pages: Check all man pages for \ not followed by e or f or " because |
. Man pages: Check all man pages for \ not followed by e or f or " because |
102 |
that indicates a markup error. |
that indicates a markup error. |
103 |
|
|
104 |
|
. When the release is built, test it on a number of different operating |
105 |
|
systems if possible, and using different compilers as well. For example, |
106 |
|
on Solaris it is helpful to test using Sun's cc compiler as a change from |
107 |
|
gcc. Adding -xarch=v9 to the cc options does a 64-bit test, but it also |
108 |
|
needs -S 64 for pcretest to increase the stack size for test 2. |
109 |
|
|
110 |
|
|
111 |
Making a PCRE release |
Making a PCRE release |
112 |
--------------------- |
--------------------- |
113 |
|
|
114 |
Run PrepareRelease and commit the files that it changes (by removing trailing |
Run PrepareRelease and commit the files that it changes (by removing trailing |
115 |
spaces). Then run "make dist" to create the tarballs and the zipball. |
spaces). Then run "make distcheck" to create the tarballs and the zipball. |
116 |
|
|
117 |
Don't forget to update Freshmeat when the new release is out, and to tell |
Don't forget to update Freshmeat when the new release is out, and to tell |
118 |
webmaster@pcre.org and the mailing list. |
webmaster@pcre.org and the mailing list. |
254 |
|
|
255 |
. Someone suggested --disable-callout to save code space when callouts are |
. Someone suggested --disable-callout to save code space when callouts are |
256 |
never wanted. This seems rather marginal. |
never wanted. This seems rather marginal. |
257 |
|
|
258 |
|
. Work needs doing so that the pcregrep tests work better with different |
259 |
|
linebreak settings. Currently, some tests don't work when the input files |
260 |
|
do not have \n line endings. |
261 |
|
|
262 |
|
. If the fr_FR locale isn't available for testing, try "french" instead, |
263 |
|
because this may be available on Windows. It means modifying the test data, |
264 |
|
however. |
265 |
|
|
266 |
Philip Hazel |
Philip Hazel |
267 |
Email local part: ph10 |
Email local part: ph10 |
268 |
Email domain: cam.ac.uk |
Email domain: cam.ac.uk |
269 |
Last updated: 20 March 2007 |
Last updated: 24 April 2007 |