GNU libiberty is a
software library
In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
with a collection of
subroutine
In computer programming, a function (also procedure, method, subroutine, routine, or subprogram) is a callable unit of software logic that has a well-defined interface and behavior and can be invoked multiple times.
Callable units provide a ...
s used by various
GNU
GNU ( ) is an extensive collection of free software (394 packages ), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popu ...
programs.
The library is now a decommissioned GNU package.
It was originally intended to be a sort of standard
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
library, thus enabling it to be linked (using the usual
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
library form) by just passing "-liberty" to the compiler. The contents consisted of a variety of useful functions. However, the development of standards for
C and
POSIX
The Portable Operating System Interface (POSIX; ) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines application programming interfaces (APIs), along with comm ...
took away some of the impetus for this, and libiberty came to be used primarily as a support library for the
GNU toolchain
The GNU toolchain is a broad collection of programming tools produced by the GNU Project. These tools form a toolchain (a suite of tools used in a serial manner) used for developing software applications and operating systems.
The GNU toolchain pl ...
. It still contains a minimal set of functions that are either GNU extensions or occasionally unimplemented parts of the standard.
Copies of libiberty are distributed with
gcc,
gdb, and the
binutils
The GNU Binary Utilities, or , is a collection of programming tools maintained by the GNU Project for working with executable code including assembly, linking and many other development operations.
The tools are originally from Cygnus Solut ...
. libiberty is not otherwise versioned or released separately.
One important piece of libiberty functionality is a
demangler for
C++ and
D, included so that it is available to both
binutils
The GNU Binary Utilities, or , is a collection of programming tools maintained by the GNU Project for working with executable code including assembly, linking and many other development operations.
The tools are originally from Cygnus Solut ...
and GDB.
The name is a
pun
A pun, also known as a paronomasia in the context of linguistics, is a form of word play that exploits multiple meanings of a term, or of similar-sounding words, for an intended humorous or rhetorical effect. These ambiguities can arise from t ...
or
word play
Word play or wordplay (also: play-on-words) is a literary technique and a form of wit in which words used become the main subject of the work, primarily for the purpose of intended effect or amusement. Examples of word play include puns, ph ...
on the word "
liberty
Liberty is the state of being free within society from oppressive restrictions imposed by authority on one's way of life, behavior, or political views. The concept of liberty can vary depending on perspective and context. In the Constitutional ...
". On
Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, library files are always named "lib" + the name of the library. But when they are linked to with a C compiler command (
cc
,
gcc
, etc.), the
command line
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
flag specifying the library is
-l
followed by the part of the library name after "lib". In libiberty's case it therefore becomes
-liberty
.
See also
*
Gnulib
Gnulib, also called the GNU portability library, is a collection of software subroutines which are designed to be usable on many operating systems. The goal of the project is to make it easy for free software authors to make their software run o ...
- the current GNU portability library
References
External links
GNU libiberty
GNU Project software
{{Compu-library-stub