mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
meson: convert systemtap files
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
2898503c03
commit
10e1d2636d
4 changed files with 33 additions and 93 deletions
|
@ -6,88 +6,7 @@ include ../config-host.mak
|
|||
include config-target.mak
|
||||
include $(SRC_PATH)/rules.mak
|
||||
|
||||
$(call set-vpath, $(SRC_PATH):$(BUILD_DIR))
|
||||
|
||||
ifdef CONFIG_USER_ONLY
|
||||
# user emulator name
|
||||
QEMU_PROG=qemu-$(TARGET_NAME)
|
||||
else
|
||||
# system emulator name
|
||||
QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF)
|
||||
endif
|
||||
|
||||
STPFILES=
|
||||
|
||||
ifdef CONFIG_TRACE_SYSTEMTAP
|
||||
stap: $(QEMU_PROG).stp-installed $(QEMU_PROG).stp $(QEMU_PROG)-simpletrace.stp $(QEMU_PROG)-log.stp
|
||||
|
||||
ifdef CONFIG_USER_ONLY
|
||||
TARGET_TYPE=user
|
||||
else
|
||||
TARGET_TYPE=system
|
||||
endif
|
||||
|
||||
tracetool-y = $(SRC_PATH)/scripts/tracetool.py
|
||||
tracetool-y += $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py")
|
||||
|
||||
$(QEMU_PROG).stp-installed: $(BUILD_DIR)/trace/trace-events-all $(tracetool-y)
|
||||
$(call quiet-command,$(TRACETOOL) \
|
||||
--group=all \
|
||||
--format=stap \
|
||||
--backends=$(TRACE_BACKENDS) \
|
||||
--binary=$(bindir)/$(QEMU_PROG) \
|
||||
--target-name=$(TARGET_NAME) \
|
||||
--target-type=$(TARGET_TYPE) \
|
||||
$< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG).stp-installed")
|
||||
|
||||
$(QEMU_PROG).stp: $(BUILD_DIR)/trace/trace-events-all $(tracetool-y)
|
||||
$(call quiet-command,$(TRACETOOL) \
|
||||
--group=all \
|
||||
--format=stap \
|
||||
--backends=$(TRACE_BACKENDS) \
|
||||
--binary=$(realpath .)/$(QEMU_PROG) \
|
||||
--target-name=$(TARGET_NAME) \
|
||||
--target-type=$(TARGET_TYPE) \
|
||||
$< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG).stp")
|
||||
|
||||
$(QEMU_PROG)-simpletrace.stp: $(BUILD_DIR)/trace/trace-events-all $(tracetool-y)
|
||||
$(call quiet-command,$(TRACETOOL) \
|
||||
--group=all \
|
||||
--format=simpletrace-stap \
|
||||
--backends=$(TRACE_BACKENDS) \
|
||||
--probe-prefix=qemu.$(TARGET_TYPE).$(TARGET_NAME) \
|
||||
$< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG)-simpletrace.stp")
|
||||
|
||||
$(QEMU_PROG)-log.stp: $(BUILD_DIR)/trace/trace-events-all $(tracetool-y)
|
||||
$(call quiet-command,$(TRACETOOL) \
|
||||
--group=all \
|
||||
--format=log-stap \
|
||||
--backends=$(TRACE_BACKENDS) \
|
||||
--probe-prefix=qemu.$(TARGET_TYPE).$(TARGET_NAME) \
|
||||
$< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG)-log.stp")
|
||||
|
||||
else
|
||||
stap:
|
||||
endif
|
||||
.PHONY: stap
|
||||
|
||||
all: stap
|
||||
|
||||
clean:
|
||||
rm -f *.a *~
|
||||
rm -f $(shell find . -name '*.[od]')
|
||||
rm -f hmp-commands.h gdbstub-xml.c
|
||||
rm -f trace/generated-helpers.c trace/generated-helpers.c-timestamp
|
||||
ifdef CONFIG_TRACE_SYSTEMTAP
|
||||
rm -f *.stp
|
||||
endif
|
||||
|
||||
all:
|
||||
install: all
|
||||
ifdef CONFIG_TRACE_SYSTEMTAP
|
||||
$(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset"
|
||||
$(INSTALL_DATA) $(QEMU_PROG).stp-installed "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset/$(QEMU_PROG).stp"
|
||||
$(INSTALL_DATA) $(QEMU_PROG)-simpletrace.stp "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset/$(QEMU_PROG)-simpletrace.stp"
|
||||
$(INSTALL_DATA) $(QEMU_PROG)-log.stp "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset/$(QEMU_PROG)-log.stp"
|
||||
endif
|
||||
|
||||
|
||||
.PHONY: all clean install
|
||||
|
|
24
meson.build
24
meson.build
|
@ -958,6 +958,30 @@ foreach target : target_dirs
|
|||
link_depends: [block_syms, qemu_syms] + exe.get('link_depends', []),
|
||||
link_args: link_args,
|
||||
gui_app: exe['gui'])
|
||||
|
||||
if 'CONFIG_TRACE_SYSTEMTAP' in config_host
|
||||
foreach stp: [
|
||||
{'ext': '.stp-build', 'fmt': 'stap', 'bin': meson.current_build_dir() / exe_name, 'install': false},
|
||||
{'ext': '.stp', 'fmt': 'stap', 'bin': get_option('prefix') / get_option('bindir') / exe_name, 'install': true},
|
||||
{'ext': '-simpletrace.stp', 'fmt': 'simpletrace-stap', 'bin': '', 'install': true},
|
||||
{'ext': '-log.stp', 'fmt': 'log-stap', 'bin': '', 'install': true},
|
||||
]
|
||||
custom_target(exe_name + stp['ext'],
|
||||
input: trace_events_all,
|
||||
output: exe_name + stp['ext'],
|
||||
capture: true,
|
||||
install: stp['install'],
|
||||
install_dir: config_host['qemu_datadir'] / '../systemtap/tapset',
|
||||
command: [
|
||||
tracetool, '--group=all', '--format=' + stp['fmt'],
|
||||
'--binary=' + stp['bin'],
|
||||
'--target-name=' + target_name,
|
||||
'--target-type=' + target_type,
|
||||
'--probe-prefix=qemu.' + target_type + '.' + target_name,
|
||||
'@INPUT@',
|
||||
])
|
||||
endforeach
|
||||
endif
|
||||
endforeach
|
||||
endforeach
|
||||
|
||||
|
|
|
@ -199,9 +199,6 @@ ne = $(if $(subst $2,,$1)$(subst $1,,$2),y,n)
|
|||
isempty = $(if $1,n,y)
|
||||
notempty = $(if $1,y,n)
|
||||
|
||||
# Generate files with tracetool
|
||||
TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
|
||||
|
||||
.PHONY: clean-timestamp
|
||||
clean-timestamp:
|
||||
rm -f *.timestamp
|
||||
|
|
|
@ -49,13 +49,13 @@ foreach dir : [ '.' ] + trace_events_subdirs
|
|||
endif
|
||||
endforeach
|
||||
|
||||
custom_target('trace-events-all',
|
||||
output: 'trace-events-all',
|
||||
input: trace_events_files,
|
||||
command: [ 'cat', '@INPUT@' ],
|
||||
capture: true,
|
||||
install: true,
|
||||
install_dir: config_host['qemu_datadir'])
|
||||
trace_events_all = custom_target('trace-events-all',
|
||||
output: 'trace-events-all',
|
||||
input: trace_events_files,
|
||||
command: [ 'cat', '@INPUT@' ],
|
||||
capture: true,
|
||||
install: true,
|
||||
install_dir: config_host['qemu_datadir'])
|
||||
|
||||
foreach d : [
|
||||
['generated-tcg-tracers.h', 'tcg-h'],
|
||||
|
|
Loading…
Reference in a new issue