Configure script (computing)
From Wikipedia, the free encyclopedia
The introduction to this article provides insufficient context for those unfamiliar with the subject. Please help improve the article with a good introductory style. |
This article does not cite any references or sources. (March 2007) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
Configure scripts are an automated method of modifying source code before compilation in order to produced code tailored to the the system on which a binary executable is to be compiled and run. Configure scripts are typically run immediately before compilation on the machine on which the software is to be used.
Configure scripts are generated by the Autotools suite of build management tools. These scripts query the system on which they run for environment settings, platform architecture, and the existence and location of required build and runtime dependencies. They then use the gathered information to process and fill out templates, customarily ending in .in
. After successful completion, it is common for configure scripts to print a report to the developer invoking them.
Because of the platform independence and broad developer experience with the configure script interface, many popular pieces of free software and proprietary software use this system during their system detection and makefile generation phase. After configure scripts have been created, building software that makes use of them is as simple as
./configure && make && make install
[edit] Free software that uses configure
[edit] Proprietary software that uses configure
(These are difficult to cite due to the nature of proprietary software.)
[edit] Dependency checking
In new development, library dependency checking has been done in great part using pkg-config via the m4 macro, PKG_CHECK_MODULES. Prior to pkg-config's popularity, separate m4 macros were created to locate files known to be included in the distribution of libraries depended upon.