(automake-1.16.info)Libtool Libraries


Next: Conditional Libtool Libraries Prev: Libtool Concept Up: A Shared Library
Enter node , (file) or (file)node

8.3.2 Building Libtool Libraries
--------------------------------

Automake uses libtool to build libraries declared with the ‘LTLIBRARIES’
primary.  Each ‘_LTLIBRARIES’ variable is a list of libtool libraries to
build.  For instance, to create a libtool library named ‘libgettext.la’,
and install it in ‘libdir’, write:

     lib_LTLIBRARIES = libgettext.la
     libgettext_la_SOURCES = gettext.c gettext.h ...

   Automake predefines the variable ‘pkglibdir’, so you can use
‘pkglib_LTLIBRARIES’ to install libraries in ‘$(libdir)/@PACKAGE@/’.

   If ‘gettext.h’ is a public header file that needs to be installed in
order for people to use the library, it should be declared using a
‘_HEADERS’ variable, not in ‘libgettext_la_SOURCES’.  Headers listed in
the latter should be internal headers that are not part of the public
interface.

     lib_LTLIBRARIES = libgettext.la
     libgettext_la_SOURCES = gettext.c ...
     include_HEADERS = gettext.h ...

   A package can build and install such a library along with other
programs that use it.  This dependency should be specified using
‘LDADD’.  The following example builds a program named ‘hello’ that is
linked with ‘libgettext.la’.

     lib_LTLIBRARIES = libgettext.la
     libgettext_la_SOURCES = gettext.c ...

     bin_PROGRAMS = hello
     hello_SOURCES = hello.c ...
     hello_LDADD = libgettext.la

Whether ‘hello’ is statically or dynamically linked with ‘libgettext.la’
is not yet known: this will depend on the configuration of libtool and
the capabilities of the host.


automatically generated by info2www version 1.2.2.9