Shared library support for GNU
This file documents GNU Libtool, a script that allows package
developers to provide generic shared library support. This edition
documents version 1.4.2.
Reporting bugs, for information on how to report problems
* Introduction What the heck is libtool?
* Libtool paradigm How libtool's view of libraries is different.
* Using libtool Example of using libtool to build libraries.
* Invoking libtool Running the `libtool' script.
* Integrating libtool Using libtool in your own packages.
* Versioning Using library interface versions.
* Library tips Tips for library interface design.
* Inter-library dependencies Libraries that depend on other libraries.
* Dlopened modules `dlopen'ing libtool-created libraries.
* Using libltdl Libtool's portable `dlopen' wrapper library.
* Other languages Using libtool without a C compiler.
* Troubleshooting When libtool doesn't work as advertised.
* Maintaining Information used by the libtool maintainer.
* GNU Free Documentation License License for this manual.
* Index Full index.
* Motivation Why does GNU need a libtool?
* Issues The problems that need to be addressed.
* Other implementations How other people have solved these issues.
* Postmortem Learning from past difficulties.
* Creating object files Compiling object files for libraries.
* Linking libraries Creating libraries from object files.
* Linking executables Linking object files against libtool libraries.
* Debugging executables Running GDB on libtool-generated programs.
* Installing libraries Making libraries available to users.
* Installing executables Making programs available to users.
* Static libraries When shared libraries are not wanted.
* Compile mode Creating library object files.
* Link mode Generating executables and libraries.
* Execute mode Debugging libtool-generated programs.
* Install mode Making libraries and executables public.
* Finish mode Completing a library installation.
* Uninstall mode Removing installed executables and libraries.
* Clean mode Removing uninstalled executables and libraries.
Integrating libtool with your package
* Makefile rules Writing `Makefile' rules for libtool.
* Using Automake Automatically supporting libtool.
* Configuring Configuring libtool for a host system.
* Distributing What files to distribute with your package.
* Static-only libraries Sometimes shared libraries are just a pain.
* AC_PROG_LIBTOOL Configuring `libtool' in `configure.in'.
Including libtool in your package
* Invoking libtoolize `libtoolize' command line options.
* Autoconf .o macros Autoconf macros that set object file names.
Library interface versions
* 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.
Tips for interface design
* C header files How to write portable include files.
* Building modules Creating dlopenable objects and libraries.
* Dlpreopening Dlopening that works on static platforms.
* Finding the dlname Choosing the right file to `dlopen'.
* Dlopen issues Unresolved problems that need your attention.
* Libltdl interface How to use libltdl in your programs.
* Modules for libltdl Creating modules that can be `dlopen'ed.
* Thread Saftey in libltdl Registering callbacks for multi-thread safety.
* User defined module data Associating data with loaded modules.
* Module loaders for libltdl Creating user defined module loaders.
* Distributing libltdl How to distribute libltdl with your package.
Using libtool with other languages
* C++ libraries
* Libtool test suite Libtool's self-tests.
* Reporting bugs How to report problems with libtool.
The libtool test suite
* Test descriptions The contents of the test suite.
* When tests fail What to do when a test fails.
Maintenance notes for libtool
* New ports How to port libtool to new systems.
* Tested platforms When libtool was last tested.
* Platform quirks Information about different library systems.
* libtool script contents Configuration information that libtool uses.
* Cheap tricks Making libtool maintainership easier.
Porting libtool to new systems
* Information sources Where to find relevant documentation
* Porting inter-library dependencies Implementation details explained
* References Finding more information.
* Compilers Creating object files from source files.
* Reloadable objects Binding object files together.
* Multiple dependencies Removing duplicate dependant libraries.
* Archivers Programs that create static archives.
automatically generated byinfo2html