[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libtool versioning

From: Ralf Wildenhues
Subject: Re: libtool versioning
Date: Mon, 3 May 2010 22:03:35 +0200
User-agent: Mutt/1.5.20 (2009-10-28)

* Jef Driesen wrote on Mon, May 03, 2010 at 08:24:09PM CEST:
> Yes, I have read the libtool manual, but it doesn't contain much
> info about the resulting filename. Most of the info is about the
> c:r:a scheme for input, not the output.

Yes, because the output file name is a per-system detail that you should
not have to care about.

> >>>#  1. Start with version information of `0:0:0' for each libtool library.
> >>>#  2. Update the version information only immediately before a public
> >>>#     release of your software. More frequent updates are unnecessary, and
> >>>#     only guarantee that the current interface number gets larger faster.
> >>>#  3. If the library source code has changed at all since the last update,
> >>>#     then increment revision (`c:r:a' becomes `c:r+1:a').
> >>>#  4. If any interfaces have been added, removed, or changed since the last
> >>>#     update, increment current, and set revision to 0.
> >>>#  5. If any interfaces have been added since the last public release, then
> >>>#     increment age.
> >>>#  6. If any interfaces have been removed since the last public release,
> >>>#     then set age to 0.
> >>
> >>Shouldn't step #6 included "changed" as well as "removed"? If you
> >>change the interface (for example modifying function parameters),
> >>backwards compatibility is broken too. But only "removed" is listed
> >>here.
> >
> >Well, it is listed in step 4 already.
> Sure, but if interfaces have been changed, but not removed, the
> algorithm stops at step #4,

Read the algorithm without any implicit stops in mind, and it will work.

Anyway, your point is good that this is hard to understand, and we've
addressed that in git master.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]