ccache has two ways of doing the detection:
-* The *direct mode* (hashes the source code and include files directly)
-* The *prepreprocessor mode* (hashes output from the preprocessor)
+* the *direct mode* (hashes the source code and include files directly)
+* the *prepreprocessor mode* (hashes output from the preprocessor)
THE DIRECT MODE
~~~~~~~~~~~~~~~
-In the direct mode, a hash is formed of:
+In the direct mode, the hash is formed of:
-* The input source file
-* The command line options
-* The real compiler's size and modification time (unless *CCACHE_COMPILERCHECK*
+* the input source file
+* the command line options
+* the real compiler's size and modification time (unless *CCACHE_COMPILERCHECK*
says something else)
Based on the hash, a data structure called ``manifest'' is looked up in the
The direct mode will be disabled if any of the following holds:
-* The environment variable CCACHE_NODIRECT is set
-* A modification time of one of the include files is too new (needed to avoid a
+* the environment variable CCACHE_NODIRECT is set
+* a modification time of one of the include files is too new (needed to avoid a
race condition)
-* The unifier is enabled (the environment variable *CCACHE_UNIFY* is set)
-* A compiler option unsupported by the direct mode is used
+* the unifier is enabled (the environment variable *CCACHE_UNIFY* is set)
+* a compiler option unsupported by the direct mode is used
THE PREPROCESSOR MODE
~~~~~~~~~~~~~~~~~~~~~
-In the preprocessor mode, a hash is formed of:
+In the preprocessor mode, the hash is formed of:
-* The preprocessor output from running the compiler with *-E*
-* The command line options except options that affect include files (*-I*,
+* the preprocessor output from running the compiler with *-E*
+* the command line options except options that affect include files (*-I*,
*-include*, *-D*, etc; the theory is that these options will change the
preprocessor output if they have any effect at all)
-* The real compiler's size and modification time (unless
+* the real compiler's size and modification time (unless
*CCACHE_COMPILERCHECK* says something else)
* Any stderr output generated by the preprocessor
----------------
Credits, mailing list information, bug reporting instructions, source code,
-etc, can be found on ccache's web site:
-
-http://ccache.samba.org
+etc, can be found on ccache's web site: <http://ccache.samba.org>.
AUTHOR
------
ccache was originally written by Andrew Tridgell and is currently maintained by
-Joel Rosdahl. See http://ccache.samba.org/credits.html for a list of
+Joel Rosdahl. See <http://ccache.samba.org/credits.html> for a list of
contributors.