/[pcre]/code/trunk/maint/README
ViewVC logotype

Diff of /code/trunk/maint/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 874 by ph10, Sat Jan 14 17:03:15 2012 UTC revision 981 by ph10, Mon Jun 18 18:22:51 2012 UTC
# Line 101  distribution for a new release. Line 101  distribution for a new release.
101    
102  . 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.
103    
104    . Update the library version numbers in configure.ac according to the rules
105      given below.
106    
107  . If new build options have been added, ensure that they are added to the CMake  . If new build options have been added, ensure that they are added to the CMake
108    files as well as to the autoconf files. The relevant files are CMakeLists.txt    files as well as to the autoconf files. The relevant files are CMakeLists.txt
109    and config-cmake.h.in. After making a release tarball, test it out with CMake    and config-cmake.h.in. After making a release tarball, test it out with CMake
# Line 126  distribution for a new release. Line 129  distribution for a new release.
129    modules in which there is no call to memmove(). These can be ignored.    modules in which there is no call to memmove(). These can be ignored.
130    
131  . Documentation: check AUTHORS, COPYING, ChangeLog (check version and date),  . Documentation: check AUTHORS, COPYING, ChangeLog (check version and date),
132    INSTALL, LICENCE, NEWS (check version and date), NON-UNIX-USE, and README.    INSTALL, LICENCE, NEWS (check version and date), NON-AUTOTOOLS-BUILD, and
133    Many of these won't need changing, but over the long term things do change.    README. Many of these won't need changing, but over the long term things do
134      change.
135    
136  . I used to test new releases myself on a number of different operating  . I used to test new releases myself on a number of different operating
137    systems, using different compilers as well. For example, on Solaris it is    systems, using different compilers as well. For example, on Solaris it is
# Line 136  distribution for a new release. Line 140  distribution for a new release.
140    pcretest to increase the stack size for test 2. Since I retired I can no    pcretest to increase the stack size for test 2. Since I retired I can no
141    longer do this, but instead I rely on putting out release candidates for    longer do this, but instead I rely on putting out release candidates for
142    folks on the pcre-dev list to test.    folks on the pcre-dev list to test.
143    
144    
145    Updating version info for libtool
146    =================================
147    
148    This set of rules for updating library version information came from a web page
149    whose URL I have forgotten. The version information consists of three parts:
150    (current, revision, age).
151    
152    1. Start with version information of 0:0:0 for each libtool library.
153    
154    2. Update the version information only immediately before a public release of
155       your software. More frequent updates are unnecessary, and only guarantee
156       that the current interface number gets larger faster.
157    
158    3. If the library source code has changed at all since the last update, then
159       increment revision; c:r:a becomes c:r+1:a.
160    
161    4. If any interfaces have been added, removed, or changed since the last
162       update, increment current, and set revision to 0.
163    
164    5. If any interfaces have been added since the last public release, then
165       increment age.
166    
167    6. If any interfaces have been removed or changed since the last public
168       release, then set age to 0.
169    
170    The following explanation may help in understanding the above rules a bit
171    better. Consider that there are three possible kinds of reaction from users to
172    changes in a shared library:
173    
174    1. Programs using the previous version may use the new version as a drop-in
175       replacement, and programs using the new version can also work with the
176       previous one. In other words, no recompiling nor relinking is needed. In
177       this case, increment revision only, don't touch current or age.
178    
179    2. Programs using the previous version may use the new version as a drop-in
180       replacement, but programs using the new version may use APIs not present in
181       the previous one. In other words, a program linking against the new version
182       may fail if linked against the old version at run time. In this case, set
183       revision to 0, increment current and age.
184    
185    3. Programs may need to be changed, recompiled, relinked in order to use the
186       new version. Increment current, set revision and age to 0.
187    
188    
189  Making a PCRE release  Making a PCRE release
# Line 310  others are relatively new. Line 358  others are relatively new.
358  Philip Hazel  Philip Hazel
359  Email local part: ph10  Email local part: ph10
360  Email domain: cam.ac.uk  Email domain: cam.ac.uk
361  Last updated: 14 January 2012  Last updated: 18 June 2012

Legend:
Removed from v.874  
changed lines
  Added in v.981

  ViewVC Help
Powered by ViewVC 1.1.5