Autotools

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Created page with "{{FormatInfo |formattype=electronic |subcat=Development |extensions={{ext|ac}}, {{ext|am}}, {{ext|in}}, others |released=~1991 }} '''Autotools''' (or '''GNU Autotools'''; also...")
 
Line 5: Line 5:
 
|released=~1991
 
|released=~1991
 
}}
 
}}
'''Autotools''' (or '''GNU Autotools'''; also called the '''GNU Build System''') is a collective name for ''autoconf'', ''automake'', and ''libtool'', which together constitute a toolkit used to help create source packages, and compile and install such packages, on a wide variety of Unix-like computer systems.
+
'''Autotools''' (or '''GNU Autotools'''; also called the '''GNU Build System''') is a collective name for ''autoconf'', ''automake'', and ''libtool''. Together, they constitute a toolkit used to help create source packages, and compile and install such packages, on a wide variety of Unix-like computer systems.
  
 
Autotools is sometimes considered to include additional utilities beyond the "big three" listed above, such as ''pkg-config'' or ''gettext''.
 
Autotools is sometimes considered to include additional utilities beyond the "big three" listed above, such as ''pkg-config'' or ''gettext''.
Line 12: Line 12:
  
 
== Discussion ==
 
== Discussion ==
Autotools uses [[Bourne shell script|shell scripting]], [[Makefile|make]], [[M4]], [[Perl]]. Most of the Autotools components necessary to build a particular software package from source will be included in that source package; though if the included scripts find a local copy of Autotools, they may decide to use parts of it instead (with consequences that could be good or bad).
+
Autotools uses [[Bourne shell script|shell scripting]], [[Makefile|make]], [[M4]], [[Perl]]. Each source package is expected to include the Autotools components necessary to compile and install it, so Autotool does not have to be installed locally in order to use it for those purposes. However, if the included components find a local copy of Autotools, they may decide to use parts of it instead (with consequences that could be good or bad).
  
 
== Files ==
 
== Files ==
Line 56: Line 56:
 
** [[Wikipedia: GNU Libtool]]
 
** [[Wikipedia: GNU Libtool]]
 
* [https://autotools.io/index.html Autotools Mythbuster]
 
* [https://autotools.io/index.html Autotools Mythbuster]
 +
* [https://www.sourceware.org/autobook/ GNU Autoconf, Automake, and Libtool]
  
 
=== Commentary and criticism ===
 
=== Commentary and criticism ===

Revision as of 16:38, 19 March 2016

File Format
Name Autotools
Ontology
Extension(s) .ac, .am, .in, others
Released ~1991

Autotools (or GNU Autotools; also called the GNU Build System) is a collective name for autoconf, automake, and libtool. Together, they constitute a toolkit used to help create source packages, and compile and install such packages, on a wide variety of Unix-like computer systems.

Autotools is sometimes considered to include additional utilities beyond the "big three" listed above, such as pkg-config or gettext.

Autotools is frequently criticized for being overly complicated and messy. But its flexibility and portability have proven difficult to replicate, so unfortunately there is often no better option available.

Contents

Discussion

Autotools uses shell scripting, make, M4, Perl. Each source package is expected to include the Autotools components necessary to compile and install it, so Autotool does not have to be installed locally in order to use it for those purposes. However, if the included components find a local copy of Autotools, they may decide to use parts of it instead (with consequences that could be good or bad).

Files

Characteristic filenames used by Autotools include the following:

aclocal.m4
AUTHORS
ChangeLog
compile
config.h.in
config.guess
config.sub
configure
configure.ac
COPYING
COPYING.LESSER
COPYING.LIB
depcomp
INSTALL
install-sh
libtool.m4
ltmain.sh
lt*.m4
Makefile.am
Makefile.in
missing
NEWS
README
TODO

Related formats

Links

Commentary and criticism

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox