diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2017-01-25 16:14:15 +0000 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2017-01-31 17:11:18 +0000 |
commit | 0ab8ed18a6fe98bfc82705b0f041fbf2a8ca5b60 (patch) | |
tree | 1b4150d07362a5f3782c81a6b4c972bae62f0641 /scripts/tracetool/format | |
parent | 2098c56a9bc5901e145fa5d4759f075808811685 (diff) |
trace: switch to modular code generation for sub-directories
Introduce rules in the top level Makefile that are able to generate
trace.[ch] files in every subdirectory which has a trace-events file.
The top level directory is handled specially, so instead of creating
trace.h, it creates trace-root.h. This allows sub-directories to
include the top level trace-root.h file, without ambiguity wrt to
the trace.g file in the current sub-dir.
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 20170125161417.31949-7-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts/tracetool/format')
-rw-r--r-- | scripts/tracetool/format/c.py | 7 | ||||
-rw-r--r-- | scripts/tracetool/format/tcg_h.py | 6 | ||||
-rw-r--r-- | scripts/tracetool/format/tcg_helper_c.py | 6 | ||||
-rw-r--r-- | scripts/tracetool/format/ust_events_c.py | 2 | ||||
-rw-r--r-- | scripts/tracetool/format/ust_events_h.py | 7 |
5 files changed, 23 insertions, 5 deletions
diff --git a/scripts/tracetool/format/c.py b/scripts/tracetool/format/c.py index 47115ed8af..833c05a022 100644 --- a/scripts/tracetool/format/c.py +++ b/scripts/tracetool/format/c.py @@ -20,10 +20,15 @@ def generate(events, backend, group): active_events = [e for e in events if "disable" not in e.properties] + if group == "root": + header = "trace-root.h" + else: + header = "trace.h" + out('/* This file is autogenerated by tracetool, do not edit. */', '', '#include "qemu/osdep.h"', - '#include "trace.h"', + '#include "%s"' % header, '') for e in events: diff --git a/scripts/tracetool/format/tcg_h.py b/scripts/tracetool/format/tcg_h.py index 5f213f6cba..7ddc4a52ce 100644 --- a/scripts/tracetool/format/tcg_h.py +++ b/scripts/tracetool/format/tcg_h.py @@ -28,13 +28,17 @@ def vcpu_transform_args(args): def generate(events, backend, group): + if group == "root": + header = "trace-root.h" + else: + header = "trace.h" + out('/* This file is autogenerated by tracetool, do not edit. */', '/* You must include this file after the inclusion of helper.h */', '', '#ifndef TRACE_%s_GENERATED_TCG_TRACERS_H' % group.upper(), '#define TRACE_%s_GENERATED_TCG_TRACERS_H' % group.upper(), '', - '#include "trace.h"', '#include "exec/helper-proto.h"', '', ) diff --git a/scripts/tracetool/format/tcg_helper_c.py b/scripts/tracetool/format/tcg_helper_c.py index cc26e03008..7dccd8c5ec 100644 --- a/scripts/tracetool/format/tcg_helper_c.py +++ b/scripts/tracetool/format/tcg_helper_c.py @@ -41,6 +41,11 @@ def vcpu_transform_args(args, mode): def generate(events, backend, group): + if group == "root": + header = "trace-root.h" + else: + header = "trace.h" + events = [e for e in events if "disable" not in e.properties] @@ -49,7 +54,6 @@ def generate(events, backend, group): '#include "qemu/osdep.h"', '#include "qemu-common.h"', '#include "cpu.h"', - '#include "trace.h"', '#include "exec/helper-proto.h"', '', ) diff --git a/scripts/tracetool/format/ust_events_c.py b/scripts/tracetool/format/ust_events_c.py index cd87d8ab8f..264784cdf2 100644 --- a/scripts/tracetool/format/ust_events_c.py +++ b/scripts/tracetool/format/ust_events_c.py @@ -32,4 +32,4 @@ def generate(events, backend, group): ' */', '#pragma GCC diagnostic ignored "-Wredundant-decls"', '', - '#include "generated-ust-provider.h"') + '#include "trace-ust-all.h"') diff --git a/scripts/tracetool/format/ust_events_h.py b/scripts/tracetool/format/ust_events_h.py index d853155d21..514294c2cc 100644 --- a/scripts/tracetool/format/ust_events_h.py +++ b/scripts/tracetool/format/ust_events_h.py @@ -20,13 +20,18 @@ def generate(events, backend, group): events = [e for e in events if "disabled" not in e.properties] + if group == "all": + include = "trace-ust-all.h" + else: + include = "trace-ust.h" + out('/* This file is autogenerated by tracetool, do not edit. */', '', '#undef TRACEPOINT_PROVIDER', '#define TRACEPOINT_PROVIDER qemu', '', '#undef TRACEPOINT_INCLUDE_FILE', - '#define TRACEPOINT_INCLUDE_FILE ./generated-ust-provider.h', + '#define TRACEPOINT_INCLUDE_FILE ./%s' % include, '', '#if !defined (TRACE_%s_GENERATED_UST_H) || \\' % group.upper(), ' defined(TRACEPOINT_HEADER_MULTI_READ)', |