aboutsummaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2024-01-08 17:13:56 +0000
committerStefan Hajnoczi <stefanha@redhat.com>2024-03-12 14:52:07 -0400
commit2b608e16ca00017509fa2a211b7b49aacdedb760 (patch)
treec6b158ec6d95ccaf0f046e6928842ec9602aef8f /meson.build
parent081340d1ddfe27e80f653d707c278edf06a9a803 (diff)
meson: generate .stp files for tools too
The qemu-img, qemu-io, qemu-nbd, qemu-storage-daemon tools all have support for systemtap tracing built-in, so should be given corresponding .stp files to define their probes. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-id: 20240108171356.1037059-3-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build61
1 files changed, 40 insertions, 21 deletions
diff --git a/meson.build b/meson.build
index b8d40d7c0a..520f862d7b 100644
--- a/meson.build
+++ b/meson.build
@@ -3808,6 +3808,7 @@ if host_os == 'darwin'
entitlement = find_program('scripts/entitlement.sh')
endif
+traceable = []
emulators = {}
foreach target : target_dirs
config_target = config_target_mak[target]
@@ -3976,27 +3977,11 @@ foreach target : target_dirs
emulators += {exe['name']: emulator}
endif
- if stap.found()
- foreach stp: [
- {'ext': '.stp-build', 'fmt': 'stap', 'bin': meson.current_build_dir() / exe['name'], 'install': false},
- {'ext': '.stp', 'fmt': 'stap', 'bin': get_option('prefix') / get_option('bindir') / exe['name'], 'install': true},
- {'ext': '-simpletrace.stp', 'fmt': 'simpletrace-stap', 'bin': '', 'install': true},
- {'ext': '-log.stp', 'fmt': 'log-stap', 'bin': '', 'install': true},
- ]
- custom_target(exe['name'] + stp['ext'],
- input: trace_events_all,
- output: exe['name'] + stp['ext'],
- install: stp['install'],
- install_dir: get_option('datadir') / 'systemtap/tapset',
- command: [
- tracetool, '--group=all', '--format=' + stp['fmt'],
- '--binary=' + stp['bin'],
- '--probe-prefix=qemu.' + target_type + '.' + target_name,
- '@INPUT@', '@OUTPUT@'
- ],
- depend_files: tracetool_depends)
- endforeach
- endif
+ traceable += [{
+ 'exe': exe['name'],
+ 'probe-prefix': 'qemu.' + target_type + '.' + target_name,
+ }]
+
endforeach
endforeach
@@ -4031,6 +4016,14 @@ if have_tools
install: true)
subdir('storage-daemon')
+
+ foreach exe: [ 'qemu-img', 'qemu-io', 'qemu-nbd', 'qemu-storage-daemon']
+ traceable += [{
+ 'exe': exe,
+ 'probe-prefix': 'qemu.' + exe.substring(5).replace('-', '_')
+ }]
+ endforeach
+
subdir('contrib/rdmacm-mux')
subdir('contrib/elf2dmp')
@@ -4063,6 +4056,32 @@ if have_tools
endif
endif
+if stap.found()
+ foreach t: traceable
+ foreach stp: [
+ {'ext': '.stp-build', 'fmt': 'stap', 'bin': meson.current_build_dir() / t['exe'], 'install': false},
+ {'ext': '.stp', 'fmt': 'stap', 'bin': get_option('prefix') / get_option('bindir') / t['exe'], 'install': true},
+ {'ext': '-simpletrace.stp', 'fmt': 'simpletrace-stap', 'bin': '', 'install': true},
+ {'ext': '-log.stp', 'fmt': 'log-stap', 'bin': '', 'install': true},
+ ]
+ cmd = [
+ tracetool, '--group=all', '--format=' + stp['fmt'],
+ '--binary=' + stp['bin'],
+ '--probe-prefix=' + t['probe-prefix'],
+ '@INPUT@', '@OUTPUT@'
+ ]
+
+ custom_target(t['exe'] + stp['ext'],
+ input: trace_events_all,
+ output: t['exe'] + stp['ext'],
+ install: stp['install'],
+ install_dir: get_option('datadir') / 'systemtap/tapset',
+ command: cmd,
+ depend_files: tracetool_depends)
+ endforeach
+ endforeach
+endif
+
subdir('scripts')
subdir('tools')
subdir('pc-bios')