Next Up Previous Contents
Next: 2.1.4 Autoreconf: why you don't need to know about aclocal
Up: 2.1 Overview of the Autotools
Previous: 2.1.2 Automake
[ID index][Keyword index]

2.1.3 Libtool

We are using unmodified Libtool. See libtool --version for the actual version.

Libtool contains the darkest magic of the autotools, so it is fortunate that we need barely concern ourselves with it. This is because all of the technicalities of calling libtool are handled for us by the makefile generated by automake.

The function of libtool is to build libraries. While this is generally straightforward for static libraries, usually involving little more than working out whether ranlib is necessary, doing the same thing for dynamic libraries is extremely platform dependent. Libtool consists of a large body of platform-dependent code, ported to a broad range of operating systems, which implements a single platform-independent interface.

For more details, see the libtool manual at <http://www.gnu.org/software/libtool/manual.html>.

Unfortunately, libtool's library magic introduces a minor complication when you wish to run a program under a debugger: plain gdb myprog won't work, and you must instead use libtool --mode=execute gdb myprog. See section `Debugging executables' of the libtool manual for discussion.


Next Up Previous Contents
Next: 2.1.4 Autoreconf: why you don't need to know about aclocal
Up: 2.1 Overview of the Autotools
Previous: 2.1.2 Automake
[ID index][Keyword index]
The Starlink Build System
Starlink System Note 78
Norman Gray, Peter W Draper, Mark B Taylor, Steven E Rankin
11 April 2005. Release snapshot: $Revision: 1.116 $. Last updated 28 May 2006