Next: , Up: Shared libraries   [Contents][Index]

7.3.1 The Libtool Concept

Libtool abstracts shared and static libraries into a unified concept henceforth called libtool libraries. Libtool libraries are files using the .la suffix, and can designate a static library, a shared library, or maybe both. Libtool provides for the exact nature of a library to be determined when ./configure is run: not all platforms support all kinds of libraries, and users can explicitly select which libraries should be built. (The package’s maintainers can tune the default, see The AC_PROG_LIBTOOL macro in The Libtool Manual.)

Libtool is also used during compilation, because object files for shared and static libraries must be compiled differently. Object files built by libtool are called libtool objects: these are files using the .lo suffix. Libtool libraries are built from these libtool objects.

Before we discuss how to use libtool with Automake in detail, it should be noted that the libtool manual also has a section about how to use Automake with libtool (see Using Automake with Libtool in The Libtool Manual).