Imported Upstream version 3.5.1
[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,             0, ITEM_V(base_dir, env_string, absolute_path)
24 cache_dir,            1, ITEM(cache_dir, env_string)
25 cache_dir_levels,     2, ITEM_V(cache_dir_levels, unsigned, dir_levels)
26 compiler,             3, ITEM(compiler, string)
27 compiler_check,       4, ITEM(compiler_check, string)
28 compression,          5, ITEM(compression, bool)
29 compression_level,    6, ITEM(compression_level, unsigned)
30 cpp_extension,        7, ITEM(cpp_extension, string)
31 debug,                8, ITEM(debug, bool)
32 direct_mode,          9, ITEM(direct_mode, bool)
33 disable,             10, ITEM(disable, bool)
34 extra_files_to_hash, 11, ITEM(extra_files_to_hash, env_string)
35 hard_link,           12, ITEM(hard_link, bool)
36 hash_dir,            13, ITEM(hash_dir, bool)
37 ignore_headers_in_manifest, 14, ITEM(ignore_headers_in_manifest, env_string)
38 keep_comments_cpp,   15, ITEM(keep_comments_cpp, bool)
39 limit_multiple,      16, ITEM(limit_multiple, double)
40 log_file,            17, ITEM(log_file, env_string)
41 max_files,           18, ITEM(max_files, unsigned)
42 max_size,            19, ITEM(max_size, size)
43 path,                20, ITEM(path, env_string)
44 pch_external_checksum, 21, ITEM(pch_external_checksum, bool)
45 prefix_command,      22, ITEM(prefix_command, env_string)
46 prefix_command_cpp,  23, ITEM(prefix_command_cpp, env_string)
47 read_only,           24, ITEM(read_only, bool)
48 read_only_direct,    25, ITEM(read_only_direct, bool)
49 recache,             26, ITEM(recache, bool)
50 run_second_cpp,      27, ITEM(run_second_cpp, bool)
51 sloppiness,          28, ITEM(sloppiness, sloppiness)
52 stats,               29, ITEM(stats, bool)
53 temporary_dir,       30, ITEM(temporary_dir, env_string)
54 umask,               31, ITEM(umask, umask)
55 unify,               32, ITEM(unify, bool)