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