- Autoconf
Infobox_Software
name = Autoconf
developer = The GNU Project
latest_release_version = 2.62
latest_release_date =April 8 ,2008
operating_system =Cross-platform
genre =Programming tool
license = GPL
website = [http://www.gnu.org/software/autoconf/]Autoconf is a tool for producing
shell script s that automatically configure softwaresource code packages to adapt to many kinds ofUNIX-like systems. The configuration scripts produced by Autoconf are independent of it when they are run.Together with
Automake andLibtool , Autoconf forms theGNU build system .Autoconf makes use of
GNU m4 to transform a user-written 'configure.ac' (formerly, and on older projects, called 'configure.in') file to a portable shell script called 'configure'. The 'configure' script runs non-interactively, and generates customized headers andmakefile s derived from pre-written templates. You could say that Autoconf compiles the M4 program in 'configure.ac' into a shell script.Autoconf was begun in the summer of 1991 by David Mackenzie to support his work at the
Free Software Foundation . In the subsequent years it grew to include enhancements from a variety of authors and became the most widely used build configuration system for writing portable free or open source software.Approach
Autoconf is similar to the
Metaconfig package used byPerl . Theimake system formerly used by theX Window System (up to X11R6.9) is closely related, but has a different philosophy.The Autoconf approach to portability is to test for
feature s, not forversion s. For example, the native C compiler on SunOS 4 did not support ISO C. However, it is possible for the user or administrator to have installed an ISO C compliant compiler. A pure version-based approach would not detect the presence of the ISO C compiler, but a feature testing approach would be able to discover the ISO C compiler the user had installed. The rationale of this approach is to gain the following advantages:* the configure script can get reasonable results on newer or unknown systems
* it allows administrators to customize their machines and have the configure script take advantage of the customizations
* there is no need to keep track of minute details of versions, patch numbers, etc., to figure out whether a particular feature is supported or notee also
*
GNU build system
*pkg-config Detecting package dependencies
*CMake Alternative build systemExternal links
* [http://www.gnu.org/software/autoconf/ GNU Autoconf home page]
* [http://www.gnu.org/software/ac-archive/ GNU Autoconf macro archive]
* [http://sources.redhat.com/autobook/ "The Goat Book" homepage (aka the Autobook)]
*Tutorial " [http://www.amath.washington.edu/~lf/tutorials/autoconf/ Learning Autoconf and Automake] " byEleftherios Gkioulekas
* [http://autotoolset.sourceforge.net/tutorial.html "Learning the GNU development tools" @sourceforge]
*Murray Cumming (ofgtkmm fame) produced these succinct Autotool info pages: [http://www.openismus.com/documents/linux/automake/automake.shtml *one] [http://www.openismus.com/documents/linux/using_libraries/using_libraries.shtml *two] .
* [http://autotoolset.sourceforge.net/ Autotoolset home page]
*The " [http://www.lrde.epita.fr/~adl/autotools.html Autotools Tutorial] " byAlexandre Duret-Lutz introduces Autoconf,Automake ,Libtool , andGettext .
Wikimedia Foundation. 2010.