File: autoconf.info, Node: Cache Files, Next: Cache Checkpointing, Prev: Cache Variable Names, Up: Caching Results 7.4.2 Cache Files ----------------- 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. *Note 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 (*note 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.