From 0572d6cd29d6434de166ce67a29fc8ff64777218 Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Mon, 25 Jan 2021 11:09:58 +0000 Subject: trace: add meson custom_target() depend_files for tracetool Re-generate tracetool output when the tracetool source code changes. Use the same approach as qapi_gen_depends and introduce a tracetool_depends files list so meson is aware of the dependencies. Signed-off-by: Stefan Hajnoczi Reviewed-by: Paolo Bonzini Message-id: 20210125110958.214017-1-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi --- meson.build | 28 +++++++++++++++++++++++++++- trace/meson.build | 21 ++++++++++++++------- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/meson.build b/meson.build index f00b7754fd..2d8b433ff0 100644 --- a/meson.build +++ b/meson.build @@ -1632,6 +1632,31 @@ tracetool = [ python, files('scripts/tracetool.py'), '--backend=' + config_host['TRACE_BACKENDS'] ] +tracetool_depends = files( + 'scripts/tracetool/backend/log.py', + 'scripts/tracetool/backend/__init__.py', + 'scripts/tracetool/backend/dtrace.py', + 'scripts/tracetool/backend/ftrace.py', + 'scripts/tracetool/backend/simple.py', + 'scripts/tracetool/backend/syslog.py', + 'scripts/tracetool/backend/ust.py', + 'scripts/tracetool/format/tcg_h.py', + 'scripts/tracetool/format/ust_events_c.py', + 'scripts/tracetool/format/ust_events_h.py', + 'scripts/tracetool/format/__init__.py', + 'scripts/tracetool/format/d.py', + 'scripts/tracetool/format/tcg_helper_c.py', + 'scripts/tracetool/format/simpletrace_stap.py', + 'scripts/tracetool/format/c.py', + 'scripts/tracetool/format/h.py', + 'scripts/tracetool/format/tcg_helper_h.py', + 'scripts/tracetool/format/log_stap.py', + 'scripts/tracetool/format/stap.py', + 'scripts/tracetool/format/tcg_helper_wrapper_h.py', + 'scripts/tracetool/__init__.py', + 'scripts/tracetool/transform.py', + 'scripts/tracetool/vcpu.py' +) qemu_version_cmd = [find_program('scripts/qemu-version.sh'), meson.current_source_dir(), @@ -2219,7 +2244,8 @@ foreach target : target_dirs '--target-type=' + target_type, '--probe-prefix=qemu.' + target_type + '.' + target_name, '@INPUT@', '@OUTPUT@' - ]) + ], + depend_files: tracetool_depends) endforeach endif endforeach diff --git a/trace/meson.build b/trace/meson.build index a0be8f9b0d..08f83a15c3 100644 --- a/trace/meson.build +++ b/trace/meson.build @@ -12,17 +12,20 @@ foreach dir : [ '.' ] + trace_events_subdirs trace_h = custom_target(fmt.format('trace', 'h'), output: fmt.format('trace', 'h'), input: trace_events_file, - command: [ tracetool, group, '--format=h', '@INPUT@', '@OUTPUT@' ]) + command: [ tracetool, group, '--format=h', '@INPUT@', '@OUTPUT@' ], + depend_files: tracetool_depends) genh += trace_h trace_c = custom_target(fmt.format('trace', 'c'), output: fmt.format('trace', 'c'), input: trace_events_file, - command: [ tracetool, group, '--format=c', '@INPUT@', '@OUTPUT@' ]) + command: [ tracetool, group, '--format=c', '@INPUT@', '@OUTPUT@' ], + depend_files: tracetool_depends) if 'CONFIG_TRACE_UST' in config_host trace_ust_h = custom_target(fmt.format('trace-ust', 'h'), output: fmt.format('trace-ust', 'h'), input: trace_events_file, - command: [ tracetool, group, '--format=ust-events-h', '@INPUT@', '@OUTPUT@' ]) + command: [ tracetool, group, '--format=ust-events-h', '@INPUT@', '@OUTPUT@' ], + depend_files: tracetool_depends) trace_ss.add(trace_ust_h, lttng, urcubp) genh += trace_ust_h endif @@ -31,7 +34,8 @@ foreach dir : [ '.' ] + trace_events_subdirs trace_dtrace = custom_target(fmt.format('trace-dtrace', 'dtrace'), output: fmt.format('trace-dtrace', 'dtrace'), input: trace_events_file, - command: [ tracetool, group, '--format=d', '@INPUT@', '@OUTPUT@' ]) + command: [ tracetool, group, '--format=d', '@INPUT@', '@OUTPUT@' ], + depend_files: tracetool_depends) trace_dtrace_h = custom_target(fmt.format('trace-dtrace', 'h'), output: fmt.format('trace-dtrace', 'h'), input: trace_dtrace, @@ -66,7 +70,8 @@ foreach d : [ gen = custom_target(d[0], output: d[0], input: meson.source_root() / 'trace-events', - command: [ tracetool, '--group=root', '--format=@0@'.format(d[1]), '@INPUT@', '@OUTPUT@' ]) + command: [ tracetool, '--group=root', '--format=@0@'.format(d[1]), '@INPUT@', '@OUTPUT@' ], + depend_files: tracetool_depends) specific_ss.add(when: 'CONFIG_TCG', if_true: gen) endforeach @@ -74,11 +79,13 @@ if 'CONFIG_TRACE_UST' in config_host trace_ust_all_h = custom_target('trace-ust-all.h', output: 'trace-ust-all.h', input: trace_events_files, - command: [ tracetool, '--group=all', '--format=ust-events-h', '@INPUT@', '@OUTPUT@' ]) + command: [ tracetool, '--group=all', '--format=ust-events-h', '@INPUT@', '@OUTPUT@' ], + depend_files: tracetool_depends) trace_ust_all_c = custom_target('trace-ust-all.c', output: 'trace-ust-all.c', input: trace_events_files, - command: [ tracetool, '--group=all', '--format=ust-events-c', '@INPUT@', '@OUTPUT@' ]) + command: [ tracetool, '--group=all', '--format=ust-events-c', '@INPUT@', '@OUTPUT@' ], + depend_files: tracetool_depends) trace_ss.add(trace_ust_all_h, trace_ust_all_c) genh += trace_ust_all_h endif -- cgit v1.2.3