v2 / vlib / v / builder / dump_lists.v
37 lines · 31 sloc · 792 bytes · 71e8a3f82ba6bfdca6a163fcc2136c85c0c8c451
Raw
1module builder
2
3import os
4
5pub fn (b &Builder) dump_c_options(all_args []string) {
6 dump_list(b.pref.dump_c_flags, all_args)
7}
8
9pub fn (b &Builder) dump_modules(mods []string) {
10 dump_list(b.pref.dump_modules, mods)
11}
12
13pub fn (b &Builder) dump_files(files []string) {
14 dump_list(b.pref.dump_files, files)
15}
16
17fn dump_list(file_path string, list []string) {
18 if file_path != '' {
19 content := list.filter(it != '').join('\n') + '\n'
20 if file_path == '-' {
21 print(content)
22 } else {
23 os.write_file(file_path, content) or { panic(err) }
24 }
25 }
26}
27
28pub fn (b &Builder) dump_defines() {
29 mut res := []string{}
30 for k, v in b.checker.ct_system_defines {
31 res << 'system,${k},${v}'
32 }
33 for k, v in b.checker.ct_user_defines {
34 res << 'user,${k},${v}'
35 }
36 dump_list(b.pref.dump_defines, res)
37}
38