From: Joel Rosdahl Date: Thu, 11 Nov 2010 20:14:40 +0000 (+0100) Subject: Improve documentation of hashed information X-Git-Tag: v3.1.2~8 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=18979c420f956397d3d2b9c381cd16881a2d7db8;p=thirdparty%2Fccache.git Improve documentation of hashed information --- diff --git a/MANUAL.txt b/MANUAL.txt index e220a3c71..0a67b9f1d 100644 --- a/MANUAL.txt +++ b/MANUAL.txt @@ -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