[ccache] preprocessor mode
Yoav Alon
yoava333 at gmail.com
Thu May 12 19:24:02 UTC 2016
Hi ccache,
I'm trying to use ccache with preprocessor mode (direct_mode=false) and I'm
unable to get cache hits.
I have the following hierarchy:
main.c
includes1/a.h
includes2/a.h
main.c conatins:
#include <stdio.h>
#include <a.h>
int main() {
printf("%s\n", __A__);
}
includes1/a.h and includes2/a.h are identical and contain just:
#define __A__ "ccache"
My compilation command is:
ccache gcc -c main.c -o main.o -Iincludes1
ccache gcc -c main.c -o main.o -Iincludes2
And the result is two cache misses (and two new files in cache). And I
don't understand why.
this is my configuration:
(default) base_dir =
(default) cache_dir = /Users/yoavalon/.ccache
(default) cache_dir_levels = 2
(default) compiler =
(default) compiler_check = mtime
(default) compression = false
(default) compression_level = 6
(default) cpp_extension =
(/Users/yoavalon/.ccache/ccache.conf) direct_mode = false
(default) disable = false
(default) extra_files_to_hash =
(default) hard_link = false
(default) hash_dir = false
(/Users/yoavalon/.ccache/ccache.conf) log_file = /tmp/ccache_log
(default) max_files = 0
(/Users/yoavalon/.ccache/ccache.conf) max_size = 5.0G
(default) path =
(default) prefix_command =
(default) read_only = false
(default) read_only_direct = false
(default) recache = false
(default) run_second_cpp = false
(default) sloppiness =
(default) stats = true
(default) temporary_dir =
(default) umask =
(default) unify = false
The reason I'm seeking a cache hit when the include directory is changed is
that our CI system always increments the version on each build for each
dependency, thus changing the include directory for that build. reading the
documentation I thought preprocessor mode will help me but it doesn't seem
to work. Am i missing something?
Thanks
Yoav
More information about the ccache
mailing list