- Configure script
-
Developing a program to be run on a wide number of different computers is a complex task. A Configure script matches the libraries on the user's computer, with those required by the program, just before compiling it from its source code.
Obtaining software directly from the source code (a standard procedure on Unix computers) involves the following steps: configuring the makefile, compiling the code, and finally installing the executable in the appropriate place. A configure script accomplishes the first of these steps.
Contents
How to use them
Using configure scripts (hereafter
configure
) is an automated method of generating makefiles before compilation to tailor the software to the system on which the executable is to be compiled and run. Usingconfigure
is the first of three straightforward steps in creating an executable from its source code../configure make make install
One must type
./configure
(dot slash configure) rather thanconfigure
for the "dot slash" indicates the script is in the current directory ".". By default, for security reasons, unix operating systems do not search the current directory for executables so one must give the full path explicitly to avoid the following error:"bash: configure: command not found"[1]
Upon its completion,
configure
prints a report toconfig.log
. Running./configure --help
gives a list of command line arguments, for enabling or disabling additional features such as:./configure --libs="-lmpfr -lgmp" ./configure --prefix=/home/myname/apps
The first line includes the
mpfr
andgmp
libraries. The second line tells make to install the final version in/home/myname/apps
. Note that if you have a space character in your argument, you will need to enclose the text in quotation marks as shown on the first line. TheINSTALL
file contains instructions should the prescribed steps fail.Generating
configure
Software developers simplify the challenge of cross-platform software development by using GNU's Autotools.[2] 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 store the gathered information in
configure.in
orconfigure.ac
to be read byconfigure
during the installation phase.Dependency checking
In new development, library dependency checking has been done in great part using pkg-config via the m4 macro, PKG_CHECK_MODULES. Before pkg-config's gained popularity, separate m4 macros were created to locate files known to be included in the distribution of libraries depended upon.
See also
- A succinct introduction[3]
- A verbose introduction[4]
- Autoconf
- GNU build system
References
- ^ "Compiling Linux Software from Source Code". Control-Escape's Linux Help Engine. http://www.control-escape.com/linux/lx-swinstall-tar.html. Retrieved 20 November 2010.
- ^ "Autoconf - GNU Project - Free Software Foundation (FSF)". GNU Operator System. http://www.gnu.org/software/autoconf/. Retrieved 20 November 2010.
- ^ Neelakanth Nadgir (June 2001). "Introduction to GNU Build Tools". Oracle. http://developers.sun.com/solaris/articles/gnu.html. Retrieved 20 November 2010.
- ^ Taylor, Ian Lance. "The GNU configure and build system". airs.com. http://www.airs.com/ian/configure/. Retrieved 20 November 2010.
Categories:- Compiling tools
- Linux configuration utilities
- Unix programming tools
- Build automation
Wikimedia Foundation. 2010.