CCACHE_NOSTATS then ccache will not update the statistics files on
each compile\&.
.IP
+.IP "\fBCCACHE_NOLINK\fP"
+If you set the environment variable
+CCACHE_NOLINK then ccache will not use hard links from the cache
+directory when creating the compiler output and will do a file copy
+instead\&. The main reason for setting this option is to avoid the
+update of the modification time on object files that are the result of
+the same compilation in a different directory\&.
+.IP
.IP "\fBCCACHE_NOUNIFY\fP"
If you set the environment variable
CCACHE_NOUNIFY then ccache will not use the C/C++ unifier when hashing
utime(stderr_file, NULL);
unlink(output_file);
- ret = link(hashname, output_file);
+ if (getenv("CCACHE_NOLINK")) {
+ ret = copy_file(hashname, output_file);
+ } else {
+ ret = link(hashname, output_file);
+ }
/* the hash file might have been deleted by some external process */
if (ret == -1 && errno == ENOENT) {
CCACHE_NOSTATS then ccache will not update the statistics files on
each compile.
+dit(bf(CCACHE_NOLINK)) If you set the environment variable
+CCACHE_NOLINK then ccache will not use hard links from the cache
+directory when creating the compiler output and will do a file copy
+instead. The main reason for setting this option is to avoid the
+update of the modification time on object files that are the result of
+the same compilation in a different directory.
+
dit(bf(CCACHE_NOUNIFY)) If you set the environment variable
CCACHE_NOUNIFY then ccache will not use the C/C++ unifier when hashing
the pre-processor output. The unifier is slower than a normal hash, so
<p><p></p><dt><strong><strong>CCACHE_NOSTATS</strong></strong><dd> If you set the environment variable
CCACHE_NOSTATS then ccache will not update the statistics files on
each compile.
+<p><p></p><dt><strong><strong>CCACHE_NOLINK</strong></strong><dd> If you set the environment variable
+CCACHE_NOLINK then ccache will not use hard links from the cache
+directory when creating the compiler output and will do a file copy
+instead. The main reason for setting this option is to avoid the
+update of the modification time on object files that are the result of
+the same compilation in a different directory.
<p><p></p><dt><strong><strong>CCACHE_NOUNIFY</strong></strong><dd> If you set the environment variable
CCACHE_NOUNIFY then ccache will not use the C/C++ unifier when hashing
the pre-processor output. The unifier is slower than a normal hash, so