Go to the previous, next section.
The configure
script creates a file named `config.status'
which describes which configuration options were specified when the
package was last configured. This file is a shell script which,
if run, will recreate the same configuration.
You can give `config.status' the `--recheck' option to update
itself. This option is useful if you change configure
, so that
the results of some tests might be different from the previous run. The
`--recheck' option re-runs configure
with the same arguments
you used before, plus the `--no-create' option, which prevent
configure
from running `config.status' and creating
`Makefile' and other files, and the `--no-recursion' option,
which prevents configure
from running other configure
scripts in subdirectories. (This is so other `Makefile' rules can
run `config.status' when it changes; see section Automatic Remaking,
for an example).
`config.status' also accepts the options `--help', which
prints a summary of the options to `config.status', and
`--version', which prints the version of Autoconf used to create
the configure
script that generated `config.status'.
`config.status' checks several optional environment variables that can alter its behavior:
@evindex CONFIG_SHELL
The shell with which to run configure
for the `--recheck'
option. It must be Bourne-compatible. The default is `/bin/sh'.
@evindex CONFIG_STATUS
The file name to use for the shell script that records the
configuration. The default is `./config.status'. This variable is
useful when one package uses parts of another and the configure
scripts shouldn't be merged because they are maintained separately.
The following variables provide one way for separately distributed
packages to share the values computed by configure
. Doing so can
be useful if some of the packages need a superset of the features that
one of them, perhaps a common library, does. These variables allow a
`config.status' file to create files other than the ones that its
`configure.in' specifies, so it can be used for a different package.
@evindex CONFIG_FILES
The files in which to perform `@variable@' substitutions.
The default is the arguments given to AC_OUTPUT
in `configure.in'.
@evindex CONFIG_HEADERS
The files in which to substitute C #define
statements.
The default is the arguments given to AC_CONFIG_HEADER
; if that
macro was not called, `config.status' ignores this variable.
These variables also allow you to write `Makefile' rules that regenerate only some of the files. For example, in the dependencies given above (see section Automatic Remaking), `config.status' is run twice when `configure.in' has changed. If that bothers you, you can make each run only regenerate the files for that rule:
config.h: stamp-h stamp-h: config.h.in config.status CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status echo > stamp-h Makefile: Makefile.in config.status CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status
(If `configure.in' does not call AC_CONFIG_HEADER
, there is
no need to set CONFIG_HEADERS
in the make
rules.)
Go to the previous, next section.