| [Top] | [Contents] | [Index] | [ ? ] | 
This file documents GNU Libtool 1.5.22
Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
This file documents GNU Libtool, a script that allows package developers to provide generic shared library support. This edition documents version 1.5.22.
See section Reporting bugs, for information on how to report problems with libtool.
| 1. Introduction | What the heck is libtool? | |
| 2. The libtool paradigm | How libtool's view of libraries is different. | |
| 3. Using libtool | Example of using libtool to build libraries. | |
| 4. Invoking libtool | Running the libtoolscript. | |
| 5. Integrating libtool with your package | Using libtool in your own packages. | |
| 6. Library interface versions | Using library interface versions. | |
| 7. Tips for interface design | Tips for library interface design. | |
| 8. Inter-library dependencies | Libraries that depend on other libraries. | |
| 9. Dlopened modules | dlopening libtool-created libraries. | |
| 10. Using libltdl | Libtool's portable dlopenwrapper library. | |
| 11. Using libtool with other languages | Using libtool without a C compiler. | |
| 12. Troubleshooting | When libtool doesn't work as advertised. | |
| 13. Maintenance notes for libtool | Information used by the libtool maintainer. | |
| GNU Free Documentation License | License for this manual. | |
| Index | Full index. | |
| --- The Detailed Node Listing --- Introduction | ||
|---|---|---|
| 1.1 Motivation for writing libtool | Why does GNU need a libtool? | |
| 1.2 Implementation issues | The problems that need to be addressed. | |
| 1.3 Other implementations | How other people have solved these issues. | |
| 1.4 A postmortem analysis of other implementations | Learning from past difficulties. | |
| Using libtool | ||
| 3.1 Creating object files | Compiling object files for libraries. | |
| 3.2 Linking libraries | Creating libraries from object files. | |
| 3.3 Linking executables | Linking object files against libtool libraries. | |
| 3.4 Debugging executables | Running GDB on libtool-generated programs. | |
| 3.5 Installing libraries | Making libraries available to users. | |
| 3.6 Installing executables | Making programs available to users. | |
| 3.7 Linking static libraries | When shared libraries are not wanted. | |
| 
Invoking  | ||
| 4.1 Compile mode | Creating library object files. | |
| 4.2 Link mode | Generating executables and libraries. | |
| 4.3 Execute mode | Debugging libtool-generated programs. | |
| 4.4 Install mode | Making libraries and executables public. | |
| 4.5 Finish mode | Completing a library installation. | |
| 4.6 Uninstall mode | Removing installed executables and libraries. | |
| 4.7 Clean mode | Removing uninstalled executables and libraries. | |
| Integrating libtool with your package | ||
| 5.1 Writing `Makefile' rules for libtool | ||
| 5.2 Using Automake with libtool | Automatically supporting libtool. | |
| 5.3 Configuring libtool | Configuring libtool for a host system. | |
| 5.4 Including libtool in your package | What files to distribute with your package. | |
| 5.5 Static-only libraries | Sometimes shared libraries are just a pain. | |
| Configuring libtool | ||
| 5.3.1 The AC_PROG_LIBTOOLmacro | Configuring libtoolin `configure.in'. | |
| Including libtool in your package | ||
| 5.4.1 Invoking libtoolize | libtoolizecommand line options. | |
| 5.4.2 Autoconf `.o' macros | Autoconf macros that set object file names. | |
| Library interface versions | ||
| 6.1 What are library interfaces? | ||
| 6.2 Libtool's versioning system | ||
| 6.3 Updating library version information | Changing version information before releases. | |
| 6.4 Managing release information | Breaking binary compatibility for aesthetics. | |
| Tips for interface design | ||
| 7.1 Writing C header files | How to write portable include files. | |
| Dlopened modules | ||
| 9.1 Building modules to dlopen | Creating dlopenable objects and libraries. | |
| 9.2 Dlpreopening | Dlopening that works on static platforms. | |
| 9.3 Finding the correct name to dlopen | Choosing the right file to dlopen. | |
| 9.4 Unresolved dlopen issues | Unresolved problems that need your attention. | |
| Using libltdl | ||
| 10.1 How to use libltdl in your programs | ||
| 10.2 Creating modules that can be dlopened | ||
| 10.3 Using libtldl in a multi threaded environment | Registering callbacks for multi-thread safety. | |
| 10.4 Data associated with loaded modules | Associating data with loaded modules. | |
| 10.5 How to create and register new module loaders | Creating user defined module loaders. | |
| 10.6 How to distribute libltdl with your package | ||
| Using libtool with other languages | ||
| 11.1 Writing libraries for C++ | ||
| Troubleshooting | ||
| 12.1 The libtool test suite | Libtool's self-tests. | |
| 12.2 Reporting bugs | How to report problems with libtool. | |
| The libtool test suite | ||
| 12.1.1 Description of test suite | The contents of the test suite. | |
| 12.1.2 When tests fail | What to do when a test fails. | |
| Maintenance notes for libtool | ||
| 13.1 Porting libtool to new systems | How to port libtool to new systems. | |
| 13.2 Tested platforms | When libtool was last tested. | |
| 13.3 Platform quirks | Information about different library systems. | |
| 13.4 libtoolscript contents | Configuration information that libtool uses. | |
| 13.5 Cheap tricks | Making libtool maintainership easier. | |
| Porting libtool to new systems | ||
| 13.1.1 Information sources | Where to find relevant documentation | |
| 13.1.2 Porting inter-library dependencies support | Implementation details explained | |
| Platform quirks | ||
| 13.3.1 References | Finding more information. | |
| 13.3.2 Compilers | Creating object files from source files. | |
| 13.3.3 Reloadable objects | Binding object files together. | |
| 13.3.4 Multiple dependencies | Removing duplicate dependent libraries. | |
| 13.3.5 Archivers | Programs that create static archives. | |
| [Top] | [Contents] | [Index] | [ ? ] | 
 
  This document was generated by System Administrator on February, 19 2008 using texi2html 1.70.