GNU Libtool

Summary

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.

GNU Libtool
Developer(s)GNU Project[1]
Initial releaseJuly 9, 1997; 26 years ago (1997-07-09)
Stable release2.4.7 (March 24, 2022; 2 years ago (2022-03-24)[2]) [±]
Repository
  • git.savannah.gnu.org/cgit/libtool.git Edit this at Wikidata
Operating systemCross-platform
TypeLibrary
LicenseGPLv2
Websitewww.gnu.org/software/libtool/

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

  1. ^ "GNU". Retrieved 25 June 2012.
  2. ^ Gary V. Vaughan (24 March 2022). "GNU Libtool - News: libtool-2.4.7 released [stable]". GNU Libtool - News. savannah.gnu.org.
  3. ^ "A postmortem analysis of other implementations". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
  4. ^ "Introduction". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
  5. ^ a b Libtool Manual
  6. ^ "Writing Makefile rules for libtool". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
  7. ^ BSD-licensed libtool.
  8. ^ "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