|
C.5 configure
The purpose of the preceding processes was to create the input files
necessary for configure to run correctly. You would ship your
project with the generated script and the files in columns,
other input and processes (except `config.cache'), but
configure is designed to be run by the person installing your
package. Naturally, you will run it too while you develop your project,
but the files it produces are specific to your development machine, and
are not shipped with your package -- the person installing it later will
run configure and generate output files specific to
their own machine.
Running the configure script on the build host executes the
various tests originally specified by the `configure.in' file, and
then creates another script, `config.status'. This new script
generates the `config.h' header file from `config.h.in', and
`Makefile's from the named `Makefile.in's. Once
`config.status' has been created, it can be executed by itself to
regenerate files without rerunning all the tests. Additionally, if
`AC_PROG_LIBTOOL' was used, then ltconfig is used to
generate a libtool script.
| user input files other input processes output files
================ =========== ========= ============
.---------,
config.site - - ->| |
config.cache - - ->|configure| - - -> config.cache
| +-,
`-+-------' |
| |----> config.status
config.h.in ------->|config- |----> config.h
Makefile.in ------->| .status|----> Makefile
| |----> stamp-h
| +--,
.-+ | |
| `------+--' |
ltmain.sh ------->|ltconfig|-------> libtool
| | |
`-+------' |
|config.guess|
| config.sub |
`------------'
|
|