On Wed, Aug 5, 2009 at 4:46 PM, Bruce Korb <bk...@gnu.org> wrote: > On Wed, Aug 5, 2009 at 2:32 PM, Joseph Garvin<joseph.h.gar...@gmail.com> > 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.
_______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool