libtool: Versioning

1 
1 7 Library interface versions
1 ****************************
1 
1 The most difficult issue introduced by shared libraries is that of
1 creating and resolving runtime dependencies.  Dependencies on programs
1 and libraries are often described in terms of a single name, such as
1 'sed'.  So, one may say "libtool depends on sed," and that is good
1 enough for most purposes.
1 
1    However, when an interface changes regularly, we need to be more
1 specific: "Gnus 5.1 requires Emacs 19.28 or above."  Here, the
1 description of an interface consists of a name, and a "version number."
1 
1    Even that sort of description is not accurate enough for some
1 purposes.  What if Emacs 20 changes enough to break Gnus 5.1?
1 
1    The same problem exists in shared libraries: we require a formal
1 version system to describe the sorts of dependencies that programs have
1 on shared libraries, so that the dynamic linker can guarantee that
1 programs are linked only against libraries that provide the interface
1 they require.
1 

Menu