GNU Libtool
DeveloperGNU Project[1]
Initial releaseJuly 9, 1997; 28 years ago (1997-07-09)
Stable release2.5.3 (September 25, 2024; 20 months ago (2024-09-25)[2]) [±]
Operating systemCross-platform
TypeLibrary
LicenseGPLv2
Websitewww.gnu.org/software/libtool/
Repository

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, allowing software authors to offer build support for their code across many diverse platforms such as Linux, BSD variants, Windows (via Cygwin), HP-UX, Solaris (including on SPARC processors), AIX, and IRIX.[5]

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". [6] 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). [6]

Use

edit

Libtool is used by Autoconf and Automake, two other portability tools in the GNU build system. It can also be used directly. [7]

Clones and derivatives

edit

Since GNU Libtool was released, other free software projects have created drop-in replacements under different software licenses.[8] slibtool is one such implementation.[9]

See also

edit
  • GNU Compiler Collection – Free and open-source compiler for various programming languages
  • pkg-config – Software development tool for querying library dependency information

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. ^ "Tested platforms". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2025-06-07.
  6. ^ a b Libtool Manual
  7. ^ "Writing Makefile rules for libtool". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
  8. ^ BSD-licensed libtool.
  9. ^ "Slibtool - Gentoo wiki". wiki.gentoo.org. Retrieved 2024-03-11.
edit

📚 Artikel Terkait di Wikipedia

GNU Autotools

manageably. Autotools consists of the GNU utilities Autoconf, Automake, and Libtool. Other related tools include GNU make, GNU gettext, pkg-config, and the

C (programming language)

FreeType GD Graphics Library GDK GEGL GGI GIO GLib glibc GLFW GNet GNU Libtool GNU portability library GNU Portable Threads GNU Readline GnuTLS GObject

Autoconf

files. Autoconf is part of the GNU Build System – along with Automake, Libtool, Autoheader and other tools. Autoconf is agnostic about the programming

Software versioning

"Library Interface Versioning in Solaris and Linux". "Libtool's versioning system". Libtool documentation. "Versioning Numbering Concepts – The Apache

Library (computing)

without having to change the program. Files with the extension .la are libtool archives; they are not usable by the system. The macOS system inherits

Balsa (email client)

Japanese fonts. It builds on top of these other open source packages: GNOME, libtool, libESMTP, aspell, and gmime. It also can optionally use libgtkhtml for

Canonical (company)

(2007–2009) Scott James Remnant, formerly a Debian and GNU maintainer of GNU Libtool and co-author of the Planet aggregator (2004–2011) Matt Zimmerman, formerly

CMake

while maintaining strengths of contemporary tools such as autoconf and libtool, and to align with state of the art build technology of the time: configure