(libtool.info)Top
Next: Introduction Prev: (dir) Up: (dir)
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.5.26.
Note: Reporting bugs, for information on how to report problems
with libtool.
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.
Introduction
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.
Using libtool
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.
Invoking `libtool'
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.
Configuring libtool
AC_PROG_LIBTOOL- Configuring `libtool' in `configure.in'.
Configure notes- Platform-specific notes for configuration.
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.
Dlopened modules
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.
Using libltdl
Libltdl interface- How to use libltdl in your programs.
Modules for libltdl- Creating modules that can be `dlopen'ed.
Thread Safety 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- Writing libraries for C++
Tags- Tags
Troubleshooting
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
Platform quirks
References- Finding more information.
Compilers- Creating object files from source files.
Reloadable objects- Binding object files together.
Multiple dependencies- Removing duplicate dependent libraries.
Archivers- Programs that create static archives.
automatically generated by info2www