Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GNU Libtool
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Shared library creation tool from GNU}} {{more citations needed|date=November 2010}} {{infobox software | name = GNU Libtool | logo = [[File:Libtool.jpg|frameless]] | developer = [[GNU Project]]<ref>{{cite web|url=http://directory.fsf.org/wiki/GNU|title=GNU|accessdate=25 June 2012}}</ref> | released = {{Start date and age|1997|07|09}} | operating_system = [[Cross-platform]] | genre = [[Library (computing)|Library]] | license = [[GNU General Public License|GPLv2]] | website = {{URL|https://www.gnu.org/software/libtool/}} }} '''GNU Libtool''' is a [[software development tool]], part of the [[GNU build system]], consisting of a [[shell script]]<ref name="libtool is a shell script">{{cite book |author=<!--Staff writer(s); no by-line.--> |title=The GNU Libtool manual |url=https://www.gnu.org/software/libtool/manual/libtool.html#Postmortem |date=2015-02-15 |publisher=The GNU project |chapter=A postmortem analysis of other implementations |chapter-url=https://www.gnu.org/software/libtool/manual/html_node/Postmortem.html |accessdate=2021-02-02}}</ref> created to address the [[Software_portability#Effort_to_port_source_code|software portability problem]] when [[Compiler|compiling]] [[Shared_library#Shared_libraries|shared libraries]] from [[source code]]. It [[Abstraction_(computer_science)|hides]] the differences between [[Computing platform|computing platforms]] for the commands which compile shared libraries.<ref name="libtool: portability via abstraction">{{cite book |author=<!--Staff writer(s); no by-line.--> |title=The GNU Libtool manual |url=https://www.gnu.org/software/libtool/manual/libtool.html#Introduction |date=2015-02-15 |publisher=The GNU project |chapter=Introduction |chapter-url=https://www.gnu.org/software/libtool/manual/html_node/Introduction.html |accessdate=2021-02-02}}</ref> It provides a [[command-line interface]] that is identical across platforms and it executes the platform's [[Native_(computing)#Applications|native commands]]. == Rationale == Different [[operating system]]s handle [[shared library|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 library|static]] and [[dynamic library|dynamic]] [[library (computing)|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 (operating system)|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". <ref name="Libtool manual">[https://www.gnu.org/software/libtool/manual/libtool.html Libtool Manual]</ref> 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). <ref name="Libtool manual" /> == Use == Libtool is used by [[Autoconf]] and [[Automake]], two other portability tools in the GNU build system. It can also be used directly. <ref name="automake uses libtool">{{cite book |author=<!--Staff writer(s); no by-line.--> |title=The GNU Libtool manual |url=https://www.gnu.org/software/libtool/manual/libtool.html#Makefile-rules |date=2015-02-15 |publisher=The GNU project |chapter=Writing Makefile rules for libtool |chapter-url=https://www.gnu.org/software/libtool/manual/html_node/Makefile-rules.html |accessdate=2021-02-02}}</ref> == Clones and derivatives == Since GNU Libtool was released, other [[free software]] projects have created drop-in replacements under different [[software license]]s.<ref name="BSD-licensed libtool">[http://BXR.SU/OpenBSD/usr.bin/libtool/ BSD-licensed libtool].</ref> [https://git.foss21.org/slibtool slibtool] is one such implementation.<ref>{{Cite web |title=Slibtool - Gentoo wiki |url=https://wiki.gentoo.org/wiki/Slibtool |access-date=2024-03-11 |website=wiki.gentoo.org}}</ref> == See also == {{Portal|Free and open-source software}} * {{Annotated link|GNU Compiler Collection}} * {{Annotated link|pkg-config}} == References == {{reflist}} == External links == * {{official website}} * [http://sources.redhat.com/autobook/ Autobook homepage] {{Webarchive|url=https://web.archive.org/web/20101220095404/http://sources.redhat.com/autobook/ |date=2010-12-20 }} * [http://www.lrde.epita.fr/~adl/autotools.html Autotools Tutorial] * [http://metastatic.org/text/libtool.html Avoiding libtool minefields when cross-compiling] {{Webarchive|url=https://web.archive.org/web/20090328140823/http://metastatic.org/text/libtool.html |date=2009-03-28 }} * [https://autotools.info/ Autotools Mythbuster] {{GNU}} {{Portal bar|Computer programming|Technology|Science}} [[Category:Compiling tools]] [[Category:GNU Project software|Libtool]] [[Category:Free computer libraries]] [[Category:Cross-platform software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Annotated link
(
edit
)
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:GNU
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:More citations needed
(
edit
)
Template:Official website
(
edit
)
Template:Portal
(
edit
)
Template:Portal bar
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Webarchive
(
edit
)