qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] trace: add meson custom_target() depend_files for tracetool


From: Paolo Bonzini
Subject: Re: [PATCH] trace: add meson custom_target() depend_files for tracetool
Date: Mon, 25 Jan 2021 12:27:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

On 25/01/21 12:09, Stefan Hajnoczi wrote:
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 <stefanha@redhat.com>
---
  meson.build       | 28 +++++++++++++++++++++++++++-
  trace/meson.build | 21 ++++++++++++++-------
  2 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/meson.build b/meson.build
index 35a9eddf5c..3909d6b4c1 100644
--- a/meson.build
+++ b/meson.build
@@ -1626,6 +1626,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(),
@@ -2192,7 +2217,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


Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]