Next: Cache Checkpointing, Previous: Cache Variable Names, Up: Caching Results [Contents][Index]
A cache file is a shell script that caches the results of configure
tests run on one system so they can be shared between configure scripts
and configure runs. It is not useful on other systems. If its contents
are invalid for some reason, the user may delete or edit it, or override
documented cache variables on the configure
command line.
By default, configure
uses no cache file,
to avoid problems caused by accidental
use of stale cache files.
To enable caching, configure
accepts --config-cache (or
-C) to cache results in the file config.cache.
Alternatively, --cache-file=file specifies that
file be the cache file. The cache file is created if it does not
exist already. When configure
calls configure
scripts in
subdirectories, it uses the --cache-file argument so that they
share the same cache. See Subdirectories, for information on
configuring subdirectories with the AC_CONFIG_SUBDIRS
macro.
config.status only pays attention to the cache file if it is
given the --recheck option, which makes it rerun
configure
.
It is wrong to try to distribute cache files for particular system types. There is too much room for error in doing that, and too much administrative overhead in maintaining them. For any features that can’t be guessed automatically, use the standard method of the canonical system type and linking files (see Manual Configuration).
The site initialization script can specify a site-wide cache file to
use, instead of the usual per-program cache. In this case, the cache
file gradually accumulates information whenever someone runs a new
configure
script. (Running configure
merges the new cache
results with the existing cache file.) This may cause problems,
however, if the system configuration (e.g., the installed libraries or
compilers) changes and the stale cache file is not deleted.
If configure
is interrupted at the right time when it updates
a cache file outside of the build directory where the configure
script is run, it may leave behind a temporary file named after the
cache file with digits following it. You may safely delete such a file.
Next: Cache Checkpointing, Previous: Cache Variable Names, Up: Caching Results [Contents][Index]