From: Joel Rosdahl Date: Wed, 7 Nov 2012 19:25:58 +0000 (+0100) Subject: Update documentation about the direct mode default to match reality X-Git-Tag: v3.2~76 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3f0569b34a609cc5c6507e4e37bd3c14aa28037d;p=thirdparty%2Fccache.git Update documentation about the direct mode default to match reality --- diff --git a/MANUAL.txt b/MANUAL.txt index 05b786416..3a4afdeb3 100644 --- a/MANUAL.txt +++ b/MANUAL.txt @@ -332,7 +332,7 @@ WRAPPERS>>. *direct_mode* (*CCACHE_DIRECT*) [boolean]:: - If true, the direct mode will be used. The default is false. See + If true, the direct mode will be used. The default is true. See <<_the_direct_mode,THE DIRECT MODE>>. *disable* (*CCACHE_DISABLE*) [boolean]:: @@ -553,13 +553,12 @@ There is a catch with the direct mode: header files that were used by the compiler are recorded, but header files that were *not* used, but would have been used if they existed, are not. So, when ccache checks if a result can be taken from the cache, it currently can't check if the existence of a new header -file should invalidate the result. This is why the direct mode is off by -default. In practice, the direct mode is safe to use in the absolute majority -of cases. +file should invalidate the result. In practice, the direct mode is safe to use +in the absolute majority of cases. The direct mode will be disabled if any of the following holds: -* the configuration setting *direct_mode* is false (which is the default) +* the configuration setting *direct_mode* is false * a modification time of one of the include files is too new (needed to avoid a race condition) * the unifier is enabled (the configuration setting *unify* is true) @@ -730,6 +729,8 @@ Bugs the preprocessor. A workaround of this problem is to set *extra_files_to_hash* to the path of the included file. +* The direct mode fails to pick up new header files in some rare scenarios. See + <<_the_direct_mode,THE DIRECT MODE>> above. Troubleshooting