(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