DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(libtool14.info.gz) Versioning

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

Menu

 
* Interfaces                  What are library interfaces?
* Libtool versioning          Libtool's versioning system.
* Updating version info       Changing version information before releases.
* Release numbers             Breaking binary compatibility for aesthetics.
 
Info Catalog (libtool14.info.gz) Integrating libtool (libtool14.info.gz) Top (libtool14.info.gz) Library tips
automatically generated byinfo2html