The configure script creates a file named config.status, which actually configures, instantiates, the template files. It also records the configuration options that were specified when the package was last configured in case reconfiguring is needed.
Synopsis:
./config.status [option]... [tag]...
It configures each tag; if none are specified, all the templates
are instantiated. A tag refers to a file or other tag associated
with a configuration action, as specified by an AC_CONFIG_
ITEMS
macro (see Configuration Actions). The files must be specified
without their dependencies, as in
./config.status foobar
not
./config.status foobar:foo.in:bar.in
The supported options are:
args=`build-dir/config.status --config` eval src-dir/configure "$args" CFLAGS=-g --srcdir=src-dir
Note that it may be necessary to override a --srcdir setting
that was saved in the configuration, if the arguments are used in a
different build directory.
This option and the following ones 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 options allow a config.status file to create files other than the ones that its configure.ac specifies, so it can be used for a different package, or for extracting a subset of values. For example,
echo '@CC@' | ./config.status --file=-
provides the value of @CC@
on standard output.
config.status checks several optional environment variables that can alter its behavior:
The shell with which to run configure. It must be Bourne-compatible, and the absolute name of the shell should be passed. The default is a shell that supports
LINENO
if available, and /bin/sh otherwise.
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.
You can use ./config.status in your makefiles. For example, in the dependencies given above (see Automatic Remaking), config.status is run twice when configure.ac 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.status config.h echo > stamp-h Makefile: Makefile.in config.status ./config.status Makefile
The calling convention of config.status has changed; see Obsolete config.status Use, for details.