]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Improve documentation of hashed information
authorJoel Rosdahl <joel@rosdahl.net>
Thu, 11 Nov 2010 20:14:40 +0000 (21:14 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Thu, 11 Nov 2010 20:14:40 +0000 (21:14 +0100)
MANUAL.txt

index e220a3c71d9ec14ddabd163156dda61173243239..0a67b9f1d59f3aca572d6dc45abaaa962ad62563 100644 (file)
@@ -454,15 +454,27 @@ The direct mode is generally faster since running the preprocessor has some
 overhead.
 
 
+Common hashed information
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For both modes, the following information is included in the hash:
+
+* the extension used by the compiler for a file with preprocessor output
+  (normally *.i* for C code and *.ii* for C++ code)
+* the compiler's size and modification time (or other compiler-specific
+  information specified by *CCACHE_COMPILERCHECK*)
+* the name of the compiler
+* the current directory (if *CCACHE_HASHDIR* is set)
+* contents of files specified by *CCACHE_EXTRAFILES* (if any)
+
+
 The direct mode
 ~~~~~~~~~~~~~~~
 
-In the direct mode, the hash is formed of:
+In the direct mode, the hash is formed of the common information and:
 
 * 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
 cache. The manifest contains:
@@ -499,14 +511,12 @@ The direct mode will be disabled if any of the following holds:
 The preprocessor mode
 ~~~~~~~~~~~~~~~~~~~~~
 
-In the preprocessor mode, the hash is formed of:
+In the preprocessor mode, the hash is formed of the common information and:
 
 * 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 *CCACHE_COMPILERCHECK*
-  says something else)
 * any standard error output generated by the preprocessor
 
 Based on the hash, the cached compilation result can be looked up directly in