GNU Libtool
This article needs additional citations for verification. (November 2010) |
Developer(s) | GNU Project[1] |
---|---|
Initial release | July 9, 1997 |
Stable release | 2.5.3 (September 25, 2024[2]) [±] |
Repository | |
Operating system | Cross-platform |
Type | Library |
License | GPLv2 |
Website | www |
In computer programming, GNU Libtool is a software development tool, part of the GNU build system, consisting of a shell script[3] created to address the software portability problem when compiling shared libraries from source code. It hides the differences between computing platforms for the commands which compile shared libraries.[4] It provides a command-line interface that is identical across platforms and it executes the platform's native commands.
Rationale
[edit]Different operating systems handle shared libraries differently. Some platforms do not use shared libraries at all. It can be difficult to make a software program portable: the C compiler differs from system to system; certain library functions are missing on some systems; header files may have different names.
Libtool helps manage the creation of static and dynamic libraries on various Unix-like operating systems. Libtool accomplishes this by abstracting the library-creation process, hiding differences between various systems (e.g. Linux systems vs. Solaris).
GNU Libtool is designed to simplify the process of compiling a computer program on a new system, by "encapsulating both the platform-specific dependencies, and the user interface, in a single script". [5] When porting a program to a new system, Libtool is designed so the porter need not read low-level documentation for the shared libraries to be built, rather just run a configure script (or equivalent). [5]
Use
[edit]Libtool is used by Autoconf and Automake, two other portability tools in the GNU build system. It can also be used directly. [6]
Clones and derivatives
[edit]Since GNU Libtool was released, other free software projects have created drop-in replacements under different software licenses.[7] slibtool is one such implementation.[8]
See also
[edit]References
[edit]- ^ "GNU". Retrieved 25 June 2012.
- ^ Ileana Dumitrescu (25 Sep 2024). "libtool-2.5.3 released [stable]". GNU Libtool - News. savannah.gnu.org.
- ^ "A postmortem analysis of other implementations". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
- ^ "Introduction". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
- ^ a b Libtool Manual
- ^ "Writing Makefile rules for libtool". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
- ^ BSD-licensed libtool.
- ^ "Slibtool - Gentoo wiki". wiki.gentoo.org. Retrieved 2024-03-11.
External links
[edit]- Official website
- Autobook homepage Archived 2010-12-20 at the Wayback Machine
- Autotools Tutorial
- Avoiding libtool minefields when cross-compiling Archived 2009-03-28 at the Wayback Machine
- Autotools Mythbuster