bug-libtool
[Top][All Lists]
Advanced

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

Re: {SPAM 03.3} Re: library versioning problem


From: Lucien GENTIS
Subject: Re: {SPAM 03.3} Re: library versioning problem
Date: Thu, 29 Mar 2007 16:48:55 +0200
User-agent: Thunderbird 1.5.0.10 (Windows/20070221)

Gary V. Vaughan a écrit :
Hi Lucien,

Please keep the relevant lists in the Cc: list for the benefit of other
users experiencing the same problem.

On 26 Mar 2007, at 12:47, address@hidden wrote:
Quoting "Gary V. Vaughan" <address@hidden>:
On 25 Mar 2007, at 16:50, Lucien GENTIS wrote:
That means:
CURRENT is replaced by CURRENT - AGE      (69 - 38 = 31)
REVISION is replaced by AGE
AGE is replaced by REVISION

http://www.gnu.org/software/libtool/manual.html#Libtool-versioning

First thanks for your answer

No problem.

I've already red this doc, but it doesn't explain why current, revision and age number are changed

Sure it does.

You are confusing the *library* version with the *interface* version. C:R:A allows a developer to describe the interface version and compatibility details
for their library.  The soname and filename of the eventual library is an
implementation detail that depends how *library* versions work on the
particular OS you build on -- and will be different on Linux vs Windows vs
AIX vs HPUX etc

Cheers,
    Gary
--  ())_.              Email me: address@hidden
  ( '/           Read my blog: http://blog.azazil.net
  / )=         ...and my book: http://sources.redhat.com/autobook
`(_~)_ Join my AGLOCO Network: http://www.agloco.com/r/BBBS7912




So under Linux, if Major=C-A, Minor=A, Micro=R, say I develope a library starting with 0.0.0:
According paragraph 6.3 of http://www.gnu.org/software/libtool/manual.html,
Interfaces and library versions progress as follow:

C    R       A                            Major,Minor,Micro   Action
-------------------------------------------------------------------------------------------------------- 0 0 0 0 0 0 Initial version 1 0 1 0 1 0 Adding an interface 2 0 2 0 2 0 Adding another interface 2 1 2 0 2 1 Modifying code only 2 2 2 0 2 2 Modifying code only 3 0 3 0 3 0 Adding another interface 3 1 3 0 3 1 Modifying code only 4 0 3 1 3 0 Changing an interface 5 0 3 2 3 0 Changing another interface 6 0 0 6 0 0 Removing an interface

OK for first 7 lines

but Changing an interface modifies library version from 0.3.1 to 1.3.0
and removing an interface modifies library version from 2.3.0 to 6.0.0

Aren't library versions increasing a little too fast ?

Lucien

--
Lucien GENTIS
IUFM de Lorraine
Centre de Ressources Informatiques
5, Rue Paul Richard
C.O. 3 - MAXEVILLE
54528 LAXOU-CEDEX

Tél. 03 83 17 68 41
Email : address@hidden





reply via email to

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