]>
Commit | Line | Data |
---|---|---|
aadac5b3 | 1 | |
0e1309d0 MAL |
2 | specific_ss.add(files('control-target.c')) |
3 | ||
a81df1b6 | 4 | trace_events_files = [] |
d051d0e1 | 5 | dtrace = find_program('dtrace', required: 'CONFIG_TRACE_DTRACE' in config_host) |
a81df1b6 | 6 | foreach dir : [ '.' ] + trace_events_subdirs |
654d6b04 | 7 | trace_events_file = meson.project_source_root() / dir / 'trace-events' |
a81df1b6 PB |
8 | trace_events_files += [ trace_events_file ] |
9 | group_name = dir == '.' ? 'root' : dir.underscorify() | |
10 | group = '--group=' + group_name | |
11 | fmt = '@0@-' + group_name + '.@1@' | |
12 | ||
13 | trace_h = custom_target(fmt.format('trace', 'h'), | |
14 | output: fmt.format('trace', 'h'), | |
15 | input: trace_events_file, | |
0572d6cd SH |
16 | command: [ tracetool, group, '--format=h', '@INPUT@', '@OUTPUT@' ], |
17 | depend_files: tracetool_depends) | |
a81df1b6 PB |
18 | genh += trace_h |
19 | trace_c = custom_target(fmt.format('trace', 'c'), | |
20 | output: fmt.format('trace', 'c'), | |
21 | input: trace_events_file, | |
0572d6cd SH |
22 | command: [ tracetool, group, '--format=c', '@INPUT@', '@OUTPUT@' ], |
23 | depend_files: tracetool_depends) | |
a81df1b6 PB |
24 | if 'CONFIG_TRACE_UST' in config_host |
25 | trace_ust_h = custom_target(fmt.format('trace-ust', 'h'), | |
26 | output: fmt.format('trace-ust', 'h'), | |
27 | input: trace_events_file, | |
0572d6cd SH |
28 | command: [ tracetool, group, '--format=ust-events-h', '@INPUT@', '@OUTPUT@' ], |
29 | depend_files: tracetool_depends) | |
bbe47ed2 | 30 | trace_ss.add(trace_ust_h, lttng) |
a81df1b6 PB |
31 | genh += trace_ust_h |
32 | endif | |
33 | trace_ss.add(trace_h, trace_c) | |
34 | if 'CONFIG_TRACE_DTRACE' in config_host | |
35 | trace_dtrace = custom_target(fmt.format('trace-dtrace', 'dtrace'), | |
36 | output: fmt.format('trace-dtrace', 'dtrace'), | |
37 | input: trace_events_file, | |
0572d6cd SH |
38 | command: [ tracetool, group, '--format=d', '@INPUT@', '@OUTPUT@' ], |
39 | depend_files: tracetool_depends) | |
a81df1b6 PB |
40 | trace_dtrace_h = custom_target(fmt.format('trace-dtrace', 'h'), |
41 | output: fmt.format('trace-dtrace', 'h'), | |
42 | input: trace_dtrace, | |
d051d0e1 | 43 | command: [ dtrace, '-DSTAP_SDT_V2', '-o', '@OUTPUT@', '-h', '-s', '@INPUT@' ]) |
568ac779 RB |
44 | trace_ss.add(trace_dtrace_h) |
45 | if host_machine.system() != 'darwin' | |
46 | trace_dtrace_o = custom_target(fmt.format('trace-dtrace', 'o'), | |
47 | output: fmt.format('trace-dtrace', 'o'), | |
48 | input: trace_dtrace, | |
d051d0e1 | 49 | command: [ dtrace, '-DSTAP_SDT_V2', '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ]) |
568ac779 RB |
50 | trace_ss.add(trace_dtrace_o) |
51 | endif | |
a81df1b6 | 52 | |
a81df1b6 PB |
53 | genh += trace_dtrace_h |
54 | endif | |
55 | endforeach | |
56 | ||
10e1d263 MAL |
57 | trace_events_all = custom_target('trace-events-all', |
58 | output: 'trace-events-all', | |
59 | input: trace_events_files, | |
60 | command: [ 'cat', '@INPUT@' ], | |
61 | capture: true, | |
62 | install: true, | |
ab4c0996 | 63 | install_dir: qemu_datadir) |
a81df1b6 | 64 | |
71c782f5 MAL |
65 | foreach d : [ |
66 | ['generated-tcg-tracers.h', 'tcg-h'], | |
67 | ['generated-helpers.c', 'tcg-helper-c'], | |
68 | ['generated-helpers.h', 'tcg-helper-h'], | |
69 | ['generated-helpers-wrappers.h', 'tcg-helper-wrapper-h'], | |
70 | ] | |
0e1309d0 | 71 | gen = custom_target(d[0], |
71c782f5 | 72 | output: d[0], |
654d6b04 | 73 | input: meson.project_source_root() / 'trace-events', |
0572d6cd SH |
74 | command: [ tracetool, '--group=root', '--format=@0@'.format(d[1]), '@INPUT@', '@OUTPUT@' ], |
75 | depend_files: tracetool_depends) | |
e921f1a7 | 76 | specific_ss.add(when: 'CONFIG_TCG', if_true: gen) |
71c782f5 MAL |
77 | endforeach |
78 | ||
a81df1b6 PB |
79 | if 'CONFIG_TRACE_UST' in config_host |
80 | trace_ust_all_h = custom_target('trace-ust-all.h', | |
81 | output: 'trace-ust-all.h', | |
82 | input: trace_events_files, | |
0572d6cd SH |
83 | command: [ tracetool, '--group=all', '--format=ust-events-h', '@INPUT@', '@OUTPUT@' ], |
84 | depend_files: tracetool_depends) | |
a81df1b6 PB |
85 | trace_ust_all_c = custom_target('trace-ust-all.c', |
86 | output: 'trace-ust-all.c', | |
87 | input: trace_events_files, | |
0572d6cd SH |
88 | command: [ tracetool, '--group=all', '--format=ust-events-c', '@INPUT@', '@OUTPUT@' ], |
89 | depend_files: tracetool_depends) | |
a81df1b6 PB |
90 | trace_ss.add(trace_ust_all_h, trace_ust_all_c) |
91 | genh += trace_ust_all_h | |
92 | endif | |
93 | ||
94 | trace_ss.add(when: 'CONFIG_TRACE_SIMPLE', if_true: files('simple.c')) | |
95 | trace_ss.add(when: 'CONFIG_TRACE_FTRACE', if_true: files('ftrace.c')) | |
96 | trace_ss.add(files('control.c')) | |
97 | trace_ss.add(files('qmp.c')) |