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:
configure
for the `--recheck'
option. It must be Bourne-compatible. The default is `/bin/sh'.
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.
AC_OUTPUT
in `configure.in'.
#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.)