libtool
[Top][All Lists]
Advanced

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

Re: libtool versioning and ABI


From: Joseph Garvin
Subject: Re: libtool versioning and ABI
Date: Wed, 5 Aug 2009 17:02:18 -0500

On Wed, Aug 5, 2009 at 4:46 PM, Bruce Korb <address@hidden> wrote:
On Wed, Aug 5, 2009 at 2:32 PM, Joseph Garvin<address@hidden> wrote:
> I read a description of libtool's versioning here:
>
> http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
>
> What's confusing to me is that this way of handling versioning doesn't seem
> to pay attention to ABI. It mentions bumping numbers for interface changes
> (API) but not for changing size of data structures, editing the contents of
> inline functions, etc.

Those surely sound like rule 4 to me:
> If any interfaces have been added, removed, or changed since
> the last update, increment current, and set revision to 0.

changing structures or funtional interfaces (inline functions),
surely is an interface change.

From an OOP standpoint private members are hidden implementation details, and aren't usually considered to be part of the 'interface' (public members and member functions) to a class, thus my confusion. Different community, different parlance.

... But that still doesn't make sense. If I only add (don't remove functions or change existing signatures) to my interfaces, I still bump the current number according to that rule. But adding to an interface doesn't necessarily break ABI. So if current-bumps indicate ABI changes, I'm telling people ABI has broken when it actually hasn't. I don't understand.

reply via email to

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