Imported Upstream version 3.7
[platform/upstream/ccache.git] / src / confitems.gperf
1 %language=ANSI-C
2 %enum
3 %struct-type
4 %readonly-tables
5 %define hash-function-name confitems_hash
6 %define lookup-function-name confitems_get
7 %define initializer-suffix ,0,0,NULL,NULL,NULL
8 %{
9 #include "confitems.h"
10 #include "conf.h"
11
12 #undef bool
13 #define ITEM_ENTRY(name, type, verify_fn) \
14         offsetof(struct conf, name), confitem_parse_ ## type, \
15         confitem_format_ ## type, verify_fn
16 #define ITEM(name, type) \
17         ITEM_ENTRY(name, type, NULL)
18 #define ITEM_V(name, type, verification) \
19         ITEM_ENTRY(name, type, confitem_verify_ ## verification)
20 %}
21 struct conf_item;
22 %%
23 base_dir,                   ITEM_V(base_dir, env_string, absolute_path)
24 cache_dir,                  ITEM(cache_dir, env_string)
25 cache_dir_levels,           ITEM_V(cache_dir_levels, unsigned, dir_levels)
26 compiler,                   ITEM(compiler, string)
27 compiler_check,             ITEM(compiler_check, string)
28 compression,                ITEM(compression, bool)
29 compression_level,          ITEM(compression_level, unsigned)
30 cpp_extension,              ITEM(cpp_extension, string)
31 debug,                      ITEM(debug, bool)
32 depend_mode,                ITEM(depend_mode, bool)
33 direct_mode,                ITEM(direct_mode, bool)
34 disable,                    ITEM(disable, bool)
35 extra_files_to_hash,        ITEM(extra_files_to_hash, env_string)
36 hard_link,                  ITEM(hard_link, bool)
37 hash_dir,                   ITEM(hash_dir, bool)
38 ignore_headers_in_manifest, ITEM(ignore_headers_in_manifest, env_string)
39 keep_comments_cpp,          ITEM(keep_comments_cpp, bool)
40 limit_multiple,             ITEM(limit_multiple, double)
41 log_file,                   ITEM(log_file, env_string)
42 max_files,                  ITEM(max_files, unsigned)
43 max_size,                   ITEM(max_size, size)
44 path,                       ITEM(path, env_string)
45 pch_external_checksum,      ITEM(pch_external_checksum, bool)
46 prefix_command,             ITEM(prefix_command, env_string)
47 prefix_command_cpp,         ITEM(prefix_command_cpp, env_string)
48 read_only,                  ITEM(read_only, bool)
49 read_only_direct,           ITEM(read_only_direct, bool)
50 recache,                    ITEM(recache, bool)
51 run_second_cpp,             ITEM(run_second_cpp, bool)
52 sloppiness,                 ITEM(sloppiness, sloppiness)
53 stats,                      ITEM(stats, bool)
54 temporary_dir,              ITEM(temporary_dir, env_string)
55 umask,                      ITEM(umask, umask)
56 unify,                      ITEM(unify, bool)