From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Markus Armbruster <armbru@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Gerd Hoffmann <kraxel@redhat.com>
Subject: [PATCH v3 3/8] meson: add module_trace & module_trace_src
Date: Thu, 21 Jan 2021 13:50:23 +0100 [thread overview]
Message-ID: <20210121125028.3247190-4-kraxel@redhat.com> (raw)
In-Reply-To: <20210121125028.3247190-1-kraxel@redhat.com>
module_trace is a dict which keeps track of the trace source files for a
module.
module_trace_src collects the trace source files for a given trace-events file,
which then either added to the source set or to a new module_trace dict
depending on whenever they are for a module or core qemu.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
meson.build | 3 ++-
trace/meson.build | 16 ++++++++++++----
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build
index 7462a50b4c36..a073fcd301c5 100644
--- a/meson.build
+++ b/meson.build
@@ -1890,7 +1890,8 @@ foreach d, list : modules
foreach m, module_ss : list
if enable_modules and targetos != 'windows'
module_ss = module_ss.apply(config_all, strict: false)
- sl = static_library(d + '-' + m, [genh, module_ss.sources()],
+ module_trace_src = module_trace.get(d + '-' + m, [])
+ sl = static_library(d + '-' + m, [genh, module_ss.sources(), module_trace_src],
dependencies: [modulecommon, module_ss.dependencies()], pic: true)
if d == 'block'
block_mods += sl
diff --git a/trace/meson.build b/trace/meson.build
index 3a2b39dd6291..843b472ba943 100644
--- a/trace/meson.build
+++ b/trace/meson.build
@@ -2,6 +2,7 @@
specific_ss.add(files('control-target.c'))
trace_events_files = []
+module_trace = {}
trace_events_config += {
'file' : meson.source_root() / 'trace-events',
@@ -19,6 +20,8 @@ foreach c : trace_events_config
trace_events_files += [ trace_events_file ]
group = '--group=' + c.get('group')
fmt = '@0@-' + c.get('group') + '.@1@'
+ mod = c.get('module', '')
+ module_trace_src = []
trace_h = custom_target(fmt.format('trace', 'h'),
output: fmt.format('trace', 'h'),
@@ -34,10 +37,10 @@ foreach c : trace_events_config
output: fmt.format('trace-ust', 'h'),
input: trace_events_file,
command: [ tracetool, group, '--format=ust-events-h', '@INPUT@', '@OUTPUT@' ])
- trace_ss.add(trace_ust_h, lttng, urcubp)
+ module_trace_src += [ trace_ust_h, lttng, urcubp ]
genh += trace_ust_h
endif
- trace_ss.add(trace_h, trace_c)
+ module_trace_src += [ trace_h, trace_c ]
if 'CONFIG_TRACE_DTRACE' in config_host
trace_dtrace = custom_target(fmt.format('trace-dtrace', 'dtrace'),
output: fmt.format('trace-dtrace', 'dtrace'),
@@ -47,17 +50,22 @@ foreach c : trace_events_config
output: fmt.format('trace-dtrace', 'h'),
input: trace_dtrace,
command: [ 'dtrace', '-DSTAP_SDT_V2', '-o', '@OUTPUT@', '-h', '-s', '@INPUT@' ])
- trace_ss.add(trace_dtrace_h)
+ module_trace_src += 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', '-DSTAP_SDT_V2', '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ])
- trace_ss.add(trace_dtrace_o)
+ module_trace_src += trace_dtrace_o
endif
genh += trace_dtrace_h
endif
+ if enable_modules and mod != ''
+ module_trace += { mod : module_trace_src }
+ else
+ trace_ss.add(module_trace_src)
+ endif
endforeach
trace_events_all = custom_target('trace-events-all',
--
2.29.2
next prev parent reply other threads:[~2021-01-21 12:55 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-21 12:50 [PATCH v3 0/8] [RfC] fix tracing for modules Gerd Hoffmann
2021-01-21 12:50 ` [PATCH v3 1/8] meson: add trace_events_config[] Gerd Hoffmann
2021-01-27 14:48 ` Stefan Hajnoczi
2021-01-21 12:50 ` [PATCH v3 2/8] meson: move up hw subdir (specifically before trace subdir) Gerd Hoffmann
2021-01-27 14:49 ` Stefan Hajnoczi
2021-01-21 12:50 ` Gerd Hoffmann [this message]
2021-01-27 15:03 ` [PATCH v3 3/8] meson: add module_trace & module_trace_src Stefan Hajnoczi
2021-01-21 12:50 ` [PATCH v3 4/8] meson: move qxl trace events to separate file Gerd Hoffmann
2021-01-27 15:33 ` Stefan Hajnoczi
2021-03-22 11:43 ` Daniel P. Berrangé
2021-01-21 12:50 ` [PATCH v3 5/8] trace: iter init tweaks Gerd Hoffmann
2021-02-03 16:13 ` Stefan Hajnoczi
2021-01-21 12:50 ` [PATCH v3 6/8] trace: add trace_event_iter_init_group Gerd Hoffmann
2021-02-03 16:16 ` Stefan Hajnoczi
2021-01-21 12:50 ` [PATCH v3 7/8] trace/simple: pass iter to st_write_event_mapping Gerd Hoffmann
2021-02-03 16:17 ` Stefan Hajnoczi
2021-01-21 12:50 ` [PATCH v3 8/8] trace/simple: add st_init_group Gerd Hoffmann
2021-02-03 16:22 ` Stefan Hajnoczi
2021-02-03 16:32 ` [PATCH v3 0/8] [RfC] fix tracing for modules Stefan Hajnoczi
2021-02-22 15:13 ` Gerd Hoffmann
2021-03-22 11:36 ` Stefan Hajnoczi
2021-03-22 11:46 ` Daniel P. Berrangé
2021-03-29 16:32 ` Stefan Hajnoczi
2021-03-22 12:03 ` Daniel P. Berrangé
2021-03-26 12:47 ` Gerd Hoffmann
2021-03-29 9:23 ` Daniel P. Berrangé
2021-03-29 9:48 ` Gerd Hoffmann
2021-03-29 10:02 ` Daniel P. Berrangé
2021-03-31 10:55 ` Gerd Hoffmann
2021-04-09 9:10 ` Gerd Hoffmann
2021-04-09 13:12 ` Gerd Hoffmann
2021-04-09 13:17 ` Daniel P. Berrangé
2021-04-12 13:07 ` Gerd Hoffmann
2021-04-15 13:10 ` Daniel P. Berrangé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210121125028.3247190-4-kraxel@redhat.com \
--to=kraxel@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.