On Fri, 10 Jun 2011, Lasse Collin wrote:
I'm expecting Linux style or something close to it, because according to the operating systems specific docs that I have read, Linux-like versioning *is* the right thing on those operating systems (*BSDs and HP-UX). It would make sense that Libtool would try to emulate the native behavior. It is not nice that Libtool increments the shared library major version when there's no need to do that.
Libtool can emulate Linux in how it does the numbering but it is not able to change how an OS uses that numbering. There are also long-standing traditions associated with various OSs.
It's not clear to me if there is any operating system that requires incrementing the major version when a new symbol is added to the library while keeping backward compatibility (that is, when you do ++current, ++age, revision=0). In this situation, Libtool does increment the major version on several operating systems, but I wonder if it is possible that it has been a misunderstanding when someone read operating system specific docs long time ago.
While Linux users are used to always upgrading their libraries and applications every couple of years, the same is not true for "enterprise" commercial OSs. Due to this, it seem wise to increment current when a new interface is added. There is not much cost associated with doing things correctly (++current, ++age) for a well maintained library which does not lose/change interfaces. In this case, the older library supporting the same current-age may be deleted once the new library is installed.
The applications are really what care about the library versioning. The OS is just there to help with the selection process.
Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ _______________________________________________ https://lists.gnu.org/mailman/listinfo/libtool