libtool
libtool
script contentsNext: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This file documents GNU Libtool, a script that allows package developers to provide generic shared library support. This edition documents version 2.4.7-dirty.
See Reporting bugs, for information on how to report problems with GNU 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. | |
• Other languages | Using libtool without a C compiler. | |
• 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.
| |
• Trace interface | Libtool’s trace interface. | |
• FAQ | Frequently Asked Questions | |
• Troubleshooting | When libtool doesn’t work as advertised. | |
• Maintaining | Information used by the libtool maintainer. | |
• GNU Free Documentation License | License for this manual. | |
• Combined Index | Full index. | |
— The Detailed Node Listing — 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. | |
Linking executables | ||
• Wrapper executables | Wrapper executables for some platforms. | |
Invoking | ||
• 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 | ||
• Autoconf macros | Autoconf macros exported by libtool. | |
• 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 | ||
• LT_INIT | Configuring libtool in configure.ac.
| |
• Configure notes | Platform-specific notes for configuration. | |
Including libtool in your package | ||
• Invoking libtoolize | libtoolize command line options.
| |
• Autoconf and LTLIBOBJS | Autoconf automates LTLIBOBJS generation. | |
Using libtool with other languages | ||
• C++ libraries | Writing libraries for C++ | |
• Tags | Tags | |
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. | |
• Linking with dlopened modules | Using dlopenable modules in libraries. | |
• 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. | |
Frequently Asked Questions about libtool | ||
• Stripped link flags | Dropped flags when creating a library | |
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 old 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. | |
• Cross compiling | Issues that arise when cross compiling. | |
• File name conversion | Converting file names between platforms. | |
• Windows DLLs | Windows header defines. | |
File name conversion | ||
• File Name Conversion Failure | What happens when file name conversion fails | |
• Native MinGW File Name Conversion | MSYS file name conversion idiosyncrasies | |
• Cygwin/Windows File Name Conversion | Using cygpath to convert Cygwin file names
| |
• Unix/Windows File Name Conversion | Using Wine to convert Unix paths | |
• LT_CYGPATH | Invoking cygpath from other environments
| |
• Cygwin to MinGW Cross | Other notes concerning MinGW cross | |
Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]