* README: Some notes about libtool release numbers.

This commit is contained in:
Gary V. Vaughan 2000-01-14 23:40:20 +00:00
parent e196a092e6
commit 4d84ee0176
2 changed files with 54 additions and 0 deletions

View File

@ -1,5 +1,7 @@
2000-01-14 Gary V. Vaughan <gary@oranda.demon.co.uk>
* README: Some notes about libtool release numbers.
* mdemo/README: Explain the deliberate incompleteness of the
Windows port.
* mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL.

52
README
View File

@ -65,3 +65,55 @@ libtool to a new platform, please send electronic mail to the libtool
mailing list <libtool@gnu.org> or bug reports to <bug-libtool@gnu.org>.
Don't forget to mention the version of libtool that you are currently
using (by typing `libtool --version').
People have complained that they find the version numbering scheme
under which libtool is released confusing... it works like this:
<major-number>.<minor-number>
Releases with a <major-number> less than 1 were not yet feature
complete. If libtool ever undergoes a major rewrite or substantial
restructuring, the <major-number> will be incremented again. In the
mean time, whenever we make a stable release it will have its
<minor-number> incremented with respect to the previous stable
release.
So that alpha releases can be distinguished from stable releases,
we append a letter to them, starting with `a' and continuing
alphabetically:
<major-number>.<minor-number><alpha>
Since alpha releases are start with the code of a previous stable
release, the <major-number> and <minor-number> are the same as the
stable release they started with. So release `1.3a' is the first
alpha release after stable release `1.3', and so on.
To complicate matters slightly we always increment the letter in the
repository before *and* after making a release tarball. This means
that "odd" letters (a,c,e,g...) only exist in the repository, and
"even" letters are used instantaneously for an alpha release. For
example, you can tell that libtool-1.3c is an alpha release that is a
snapshot of the repository taken between official alpha releases
1.3b and 1.3d. Since the odd lettered alpha release number potentially
cover many states of the tree, we somtimes qualify such releases by
adding the cvs version of the ChangeLog:
$ libtool --version
ltmain.sh (GNU libtool) 1.3c (1.666 2000/01/14 13:50:21)
Finally, if we need to make a patch release to fix bugs in a stable
release, and the development on the trunk has made the tree unstable,
we use a third number, so:
<major-number>.<minor-number>.<patch number>
$ libtool --version
ltconfig (GNU libtool) 1.3.4 (1.385.2.196 1999/12/07 21:47:57)
There might be several patch releases to the last stable release,
and all happening concurrently with alpha releases. For example,
libtool-1.3.4 and libtool-1.3b might be available at the same time:
`1.3.4' is the fourth patch release after stable release `1.3';
`1.3b' is the first alpha release after stable release `1.3'.