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...")
 
(Links)
(2 intermediate revisions by one user not shown)
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]], and [[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 these purposes. However, if the included components find a local copy of Autotools, they may decide to use parts of it (with consequences that could be good or bad).
  
 
== Files ==
 
== Files ==
Line 22: Line 22:
 
  config.h.in
 
  config.h.in
 
  config.guess
 
  config.guess
 +
config.log
 +
config.status
 
  config.sub
 
  config.sub
 
  configure
 
  configure
 
  configure.ac
 
  configure.ac
 +
configure.in
 
  COPYING
 
  COPYING
 
  COPYING.LESSER
 
  COPYING.LESSER
Line 31: Line 34:
 
  INSTALL
 
  INSTALL
 
  install-sh
 
  install-sh
 +
libtool
 
  libtool.m4
 
  libtool.m4
 
  ltmain.sh
 
  ltmain.sh
Line 39: Line 43:
 
  NEWS
 
  NEWS
 
  README
 
  README
 +
stamp-h
 +
stamp-h.in
 
  TODO
 
  TODO
  
Line 56: Line 62:
 
** [[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 ===
Line 62: Line 69:
 
* [http://www.airs.com/blog/archives/95 The GNU Configure and Build System (Ian Lance Taylor blog post)]
 
* [http://www.airs.com/blog/archives/95 The GNU Configure and Build System (Ian Lance Taylor blog post)]
 
* [https://web.archive.org/web/20100729154037/http://varnish-cache.org/docs/phk/autocrap Did you call them ''autocrap'' tools?] (from archive.org)
 
* [https://web.archive.org/web/20100729154037/http://varnish-cache.org/docs/phk/autocrap Did you call them ''autocrap'' tools?] (from archive.org)
 +
* [http://voices.canonical.com/jussi.pakkanen/2011/09/13/autotools/ Why GNU Autotools is not my favorite build system]
 
* [https://blog.flameeyes.eu/2016/02/yes-we-still-needs-autotools Yes we still needs autotools]
 
* [https://blog.flameeyes.eu/2016/02/yes-we-still-needs-autotools Yes we still needs autotools]
  
 
[[Category:Archiving]]
 
[[Category:Archiving]]
 
[[Category:Source code]]
 
[[Category:Source code]]

Revision as of 12:27, 1 December 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, and 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 these purposes. However, if the included components find a local copy of Autotools, they may decide to use parts of it (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.log
config.status
config.sub
configure
configure.ac
configure.in
COPYING
COPYING.LESSER
COPYING.LIB
depcomp
INSTALL
install-sh
libtool
libtool.m4
ltmain.sh
lt*.m4
Makefile.am
Makefile.in
missing
NEWS
README
stamp-h
stamp-h.in
TODO

Related formats

Links

Commentary and criticism

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox