Autotools
(Created page with "{{FormatInfo |formattype=electronic |subcat=Development |extensions={{ext|ac}}, {{ext|am}}, {{ext|in}}, others |released=~1991 }} '''Autotools''' (or '''GNU Autotools'''; also...") |
m (→Commentary and criticism: Linkrot) |
||
(3 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'', | + | '''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]]. | + | 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) | ||
+ | * [https://web.archive.org/web/20190605023533/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]] |
Latest revision as of 07:43, 21 December 2019
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 |
[edit] 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).
[edit] 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
[edit] Related formats
[edit] Links
- Autoconf
- Automake
- GNU Libtool
- Wikipedia: GNU Build System
- Autotools Mythbuster
- GNU Autoconf, Automake, and Libtool