[XForms] Trying to get a handle on libtool's versioning system

Angus Leeming angus.leeming at btopenworld.com
Thu May 6 12:55:46 EDT 2004


As usual, I'm less than sure of myself ;-)

When xforms 1.0 was released, the libtool versioning was set to 
'1:0:0', a flag of the form 'current:revision:age' where 'age' must 
be less than or equal to the 'current' interface number.

>From the libtool manual:

Here are a set of rules to help you update your library version 
information:

   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.

My take on this:
* We're approaching a public release, so it's time to update the 
version info. (Rule 2.)
* The source code has changed since the last update. (Rule 3.)
	 r==1  --> '1:1:0'
* Rule 4 applies. Interfaces have been added.
	c==2, r==0 --> '2:0:0'
* Rule 5 applies. Interfaces hace been added.
	a==1 --> '2:0:1'
* Rule 6 does not apply. No interfaces have been removed.

Conclusion, the libtool version info is '2:0:1'.

Does this look correct?
Angus




More information about the Xforms mailing list