@@ -39,12 +39,15 @@ foreach dir : [ '.' ] + trace_events_subdirs
output: fmt.format('trace-dtrace', 'h'),
input: trace_dtrace,
command: [ 'dtrace', '-o', '@OUTPUT@', '-h', '-s', '@INPUT@' ])
- trace_dtrace_o = custom_target(fmt.format('trace-dtrace', 'o'),
- output: fmt.format('trace-dtrace', 'o'),
- input: trace_dtrace,
- command: [ 'dtrace', '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ])
+ trace_ss.add(trace_dtrace_h)
+ if host_machine.system() != 'darwin'
+ trace_dtrace_o = custom_target(fmt.format('trace-dtrace', 'o'),
+ output: fmt.format('trace-dtrace', 'o'),
+ input: trace_dtrace,
+ command: [ 'dtrace', '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ])
+ trace_ss.add(trace_dtrace_o)
+ endif
- trace_ss.add(trace_dtrace_h, trace_dtrace_o)
genh += trace_dtrace_h
endif
endforeach
dtrace on macOS uses unresolved symbols with a special prefix to define probes [1], only headers should be generated for USDT (dtrace(1)). But it doesn't support backwards compatible no-op -G flag [2] and implicit build rules fail. 1. https://markmail.org/message/6grq2ygr5nwdwsnb 2. https://markmail.org/message/5xrxt2w5m42nojkz Cc: Daniel P. Berrangé <berrange@redhat.com> Cc: Cameron Esfahani <dirty@apple.com> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com> --- trace/meson.build | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) This is an update of the previous patch that is no longer valid due to conversion of the build system to meson: https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg02493.html