manpagez: man pages & more
info autoconf
Home | html | info | man

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.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.