GNU build system
From Wikipedia, the free encyclopedia
The GNU build system, also known as Autotools, is a suite of tools produced by the GNU project that assist in making packages portable to many UNIX-like systems. It is part of the GNU toolchain.
It comprises
Other related tools include
- GNU make
- GNU gettext
- pkg-config
- GNU Compiler Collection
The GNU build system is widely used in many free software and open source packages. While the tools comprising the GNU build system themselves are GPL-ed free software, there are no restrictions in using them in making non-free software portable.
The biggest advantage of GNU build system is that the build tools the software generates are entirely self-contained; software does not need anything else besides normal Unix tools, and libraries related to the software, to build. The tools generate shell script files that are rather portable and only depend on Make, C/C++ compiler, Bourne-compatible shell, and standard Unix tools. The biggest disadvantage is that the generated build code is very complex and often unreadable, though the user is not meant to modify it directly. To get the most out of the three tools, the programmer has to be familiar with all of the three tools and the various different command syntaxes they use.
Sometimes programs distributed in source code form do not contain a configure file. It is then intended that the users should generate it by themselves. It is done like this:
aclocal autoconf automake ./configure
[edit] References
- GNU Autoconf, Automake and Libtool, by Gary V. Vaughan, Ben Elliston, Tom Tromey, and Ian Lance Taylor. ISBN 1-57870-190-2
- available online at http://www.sourceware.org/autobook under the terms of the Open Publication License (with none of the options exercised).
[edit] See also
[edit] External links
- Using Automake and Autoconf with C++
- The Goat Book homepage (aka the Autobook)
- The GNU Coding Standards (especially the chapter on The Release Process).
- The pkg-config package
- An Autotools Tutorial for beginners.
History: GNU Manifesto • GNU Project • Free Software Foundation (FSF)
GNU licenses: GNU General Public License (GPL) • GNU Lesser General Public License (LGPL) • GNU Free Documentation License (FDL)
Software: GNU operating system • bash • GNU Compiler Collection • GNU Emacs • Ghostscript • other GNU packages and programs
Advocates and activists: Richard Stallman (RMS) • Robert J. Chassell • Prof. Masayuki Ida • Geoffery Knauth • Lawrence Lessig • Eben Moglen • Henri Poole • Peter Salus • Gerald Sussman • FSF's Past Directors • others
Software developers: Richard Stallman (RMS) • Jim Blandy • Ulrich Drepper • Brian Fox • Tom Lord • Roland McGrath • other programmers
Software documentors: Richard Stallman (RMS) • Robert J. Chassell • Roland McGrath • other documentors