]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Improve documentation about the direct mode
authorJoel Rosdahl <joel@rosdahl.net>
Tue, 27 Apr 2010 20:23:42 +0000 (22:23 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Tue, 27 Apr 2010 20:23:42 +0000 (22:23 +0200)
ccache.txt

index bb2a445835933677948d56d52156b9cfccd07628..f6cd53158d66b34a34f435e6364bfb58ffdbd70d 100644 (file)
@@ -372,12 +372,22 @@ In the direct mode, the hash is formed of:
   says something else)
 
 Based on the hash, a data structure called ``manifest'' is looked up in the
-cache. The manifest contains paths to include files (previously read by the
-preprocessor), their hash sums and references to associated files produced by
-the compiler. The current contents of the include files are then hashed and
-compared to the information in the manifest. If there is a match, ccache knows
-the result of the compilation. If there is no match (or if the direct mode is
-disabled), ccache falls back to the preprocessor mode.
+cache. The manifest contains:
+
+* references to cached compilation results (object file, dependency file, etc)
+  that were produced by previous compilations that matched the hash
+* paths to the include files that were read at the time the compilation results
+  were stored in the cache
+* hash sums of the include files at the time the compilation results were
+  stored in the cache
+
+The current contents of the include files are then hashed and compared to the
+information in the manifest. If there is a match, ccache knows the result of
+the compilation. If there is no match, ccache falls back to running the
+preprocessor. The output from the preprocessor is parsed to find the include
+files that were read. The paths and hash sums of those include files are then
+stored in the manifest along with information about the produced compilation
+result.
 
 The direct mode will be disabled if any of the following holds:
 
@@ -404,6 +414,9 @@ In the preprocessor mode, the hash is formed of:
   *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
+the cache.
+
 
 COMPILING IN DIFFERENT DIRECTORIES
 ----------------------------------