* [PATCH] trace: add meson custom_target() depend_files for tracetool
@ 2021-01-25 11:09 Stefan Hajnoczi
2021-01-25 11:27 ` Paolo Bonzini
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Stefan Hajnoczi @ 2021-01-25 11:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi, Paolo Bonzini
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
--
2.29.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] trace: add meson custom_target() depend_files for tracetool
2021-01-25 11:09 [PATCH] trace: add meson custom_target() depend_files for tracetool Stefan Hajnoczi
@ 2021-01-25 11:27 ` Paolo Bonzini
2021-01-25 16:20 ` Stefan Hajnoczi
2021-01-25 16:40 ` Philippe Mathieu-Daudé
2 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2021-01-25 11:27 UTC (permalink / raw)
To: Stefan Hajnoczi, qemu-devel; +Cc: Peter Maydell
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>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] trace: add meson custom_target() depend_files for tracetool
2021-01-25 11:09 [PATCH] trace: add meson custom_target() depend_files for tracetool Stefan Hajnoczi
2021-01-25 11:27 ` Paolo Bonzini
@ 2021-01-25 16:20 ` Stefan Hajnoczi
2021-01-25 16:40 ` Philippe Mathieu-Daudé
2 siblings, 0 replies; 6+ messages in thread
From: Stefan Hajnoczi @ 2021-01-25 16:20 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Paolo Bonzini
[-- Attachment #1: Type: text/plain, Size: 689 bytes --]
On Mon, Jan 25, 2021 at 11:09:58AM +0000, 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(-)
(Additional comments welcome, I can drop this patch from my queue
changes are requested.)
Thanks, applied to my tracing tree:
https://gitlab.com/stefanha/qemu/commits/tracing
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] trace: add meson custom_target() depend_files for tracetool
2021-01-25 11:09 [PATCH] trace: add meson custom_target() depend_files for tracetool Stefan Hajnoczi
2021-01-25 11:27 ` Paolo Bonzini
2021-01-25 16:20 ` Stefan Hajnoczi
@ 2021-01-25 16:40 ` Philippe Mathieu-Daudé
2021-01-27 20:56 ` Philippe Mathieu-Daudé
2 siblings, 1 reply; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-01-25 16:40 UTC (permalink / raw)
To: Stefan Hajnoczi, qemu-devel; +Cc: Peter Maydell, Paolo Bonzini
On 1/25/21 12:09 PM, 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(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] trace: add meson custom_target() depend_files for tracetool
2021-01-25 16:40 ` Philippe Mathieu-Daudé
@ 2021-01-27 20:56 ` Philippe Mathieu-Daudé
2021-02-04 9:51 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-01-27 20:56 UTC (permalink / raw)
To: Stefan Hajnoczi, QEMU Developers; +Cc: Peter Maydell, Paolo Bonzini
Hi Stefan,
On Mon, Jan 25, 2021 at 5:40 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:>
> On 1/25/21 12:09 PM, 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(-)
Please do not merge "trace: make the 'log' backend timestamp configurable"
without this patch -- even better, queue this one directly after it -- as this
gave me troubles with the multiple directories I'm using to build:
In file included from trace/trace-io.c:5:
trace/trace-io.h: In function ‘_nocheck__trace_qio_channel_command_wait’:
trace/trace-io.h:1756:13: error: ‘message_with_timestamp’ undeclared
(first use in this function); did you mean ‘error_with_timestamp’?
1756 | if (message_with_timestamp) {
| ^~~~~~~~~~~~~~~~~~~~~~
| error_with_timestamp
ninja: build stopped: subcommand failed.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] trace: add meson custom_target() depend_files for tracetool
2021-01-27 20:56 ` Philippe Mathieu-Daudé
@ 2021-02-04 9:51 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-02-04 9:51 UTC (permalink / raw)
To: Stefan Hajnoczi, QEMU Developers; +Cc: Peter Maydell, Paolo Bonzini
On 1/27/21 9:56 PM, Philippe Mathieu-Daudé wrote:
> Hi Stefan,
>
> On Mon, Jan 25, 2021 at 5:40 PM Philippe Mathieu-Daudé
> <philmd@redhat.com> wrote:>
>> On 1/25/21 12:09 PM, 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(-)
>
> Please do not merge "trace: make the 'log' backend timestamp configurable"
> without this patch -- even better, queue this one directly after it -- as this
> gave me troubles with the multiple directories I'm using to build:
>
> In file included from trace/trace-io.c:5:
> trace/trace-io.h: In function ‘_nocheck__trace_qio_channel_command_wait’:
> trace/trace-io.h:1756:13: error: ‘message_with_timestamp’ undeclared
> (first use in this function); did you mean ‘error_with_timestamp’?
> 1756 | if (message_with_timestamp) {
> | ^~~~~~~~~~~~~~~~~~~~~~
> | error_with_timestamp
> ninja: build stopped: subcommand failed.
I just realized bisecting, this problem is present when jumping from
*after* 0572d6cd29d to *before* it. Range [7fd51e68c34 -> 0572d6cd29d].
I doubt there is much we can do :(
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-02-04 9:54 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-25 11:09 [PATCH] trace: add meson custom_target() depend_files for tracetool Stefan Hajnoczi
2021-01-25 11:27 ` Paolo Bonzini
2021-01-25 16:20 ` Stefan Hajnoczi
2021-01-25 16:40 ` Philippe Mathieu-Daudé
2021-01-27 20:56 ` Philippe Mathieu-Daudé
2021-02-04 9:51 ` Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).