Jump to content

GNU Libtool

From Wikipedia, the free encyclopedia
GNU Libtool
Developer(s)GNU Project[1]
Initial releaseJuly 9, 1997; 27 years ago (1997-07-09)
Stable release2.5.3 (September 25, 2024; 30 days ago (2024-09-25)[2]) [±]
Repository
Operating systemCross-platform
TypeLibrary
LicenseGPLv2
Websitewww.gnu.org/software/libtool/

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]
  1. ^ "GNU". Retrieved 25 June 2012.
  2. ^ Ileana Dumitrescu (25 Sep 2024). "libtool-2.5.3 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.
[edit]