mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-07-22 10:55:31 +00:00
contrib/vhost-user-gpu: convert to meson
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
32fcc6244c
commit
ea458960ec
18
Makefile
18
Makefile
|
@ -195,16 +195,10 @@ $(call set-vpath, $(SRC_PATH))
|
||||||
|
|
||||||
LIBS+=-lz $(LIBS_TOOLS)
|
LIBS+=-lz $(LIBS_TOOLS)
|
||||||
|
|
||||||
vhost-user-json-y =
|
|
||||||
HELPERS-y = $(HELPERS)
|
HELPERS-y = $(HELPERS)
|
||||||
|
|
||||||
HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) += qemu-bridge-helper$(EXESUF)
|
HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) += qemu-bridge-helper$(EXESUF)
|
||||||
|
|
||||||
ifeq ($(CONFIG_LINUX)$(CONFIG_VIRGL)$(CONFIG_GBM)$(CONFIG_TOOLS),yyyy)
|
|
||||||
HELPERS-y += vhost-user-gpu$(EXESUF)
|
|
||||||
vhost-user-json-y += contrib/vhost-user-gpu/50-qemu-gpu.json
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Sphinx does not allow building manuals into the same directory as
|
# Sphinx does not allow building manuals into the same directory as
|
||||||
# the source files, so if we're doing an in-tree QEMU build we must
|
# the source files, so if we're doing an in-tree QEMU build we must
|
||||||
# build the manuals into a subdirectory (and then install them from
|
# build the manuals into a subdirectory (and then install them from
|
||||||
|
@ -311,7 +305,6 @@ dummy := $(call unnest-vars,, \
|
||||||
elf2dmp-obj-y \
|
elf2dmp-obj-y \
|
||||||
ivshmem-client-obj-y \
|
ivshmem-client-obj-y \
|
||||||
ivshmem-server-obj-y \
|
ivshmem-server-obj-y \
|
||||||
vhost-user-gpu-obj-y \
|
|
||||||
qga-vss-dll-obj-y \
|
qga-vss-dll-obj-y \
|
||||||
block-obj-y \
|
block-obj-y \
|
||||||
block-obj-m \
|
block-obj-m \
|
||||||
|
@ -325,7 +318,7 @@ dummy := $(call unnest-vars,, \
|
||||||
|
|
||||||
include $(SRC_PATH)/tests/Makefile.include
|
include $(SRC_PATH)/tests/Makefile.include
|
||||||
|
|
||||||
all: $(DOCS) $(if $(BUILD_DOCS),sphinxdocs) $(TOOLS) $(HELPERS-y) recurse-all modules $(vhost-user-json-y)
|
all: $(DOCS) $(if $(BUILD_DOCS),sphinxdocs) $(TOOLS) $(HELPERS-y) recurse-all modules
|
||||||
|
|
||||||
qemu-version.h: FORCE
|
qemu-version.h: FORCE
|
||||||
$(call quiet-command, \
|
$(call quiet-command, \
|
||||||
|
@ -531,9 +524,6 @@ ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS)
|
||||||
$(call LINK, $^)
|
$(call LINK, $^)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
vhost-user-gpu$(EXESUF): $(vhost-user-gpu-obj-y) contrib/libvhost-user/libvhost-user.a $(COMMON_LDADDS)
|
|
||||||
$(call LINK, $^)
|
|
||||||
|
|
||||||
module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
|
module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
|
||||||
$(call quiet-command,$(PYTHON) $< $@ \
|
$(call quiet-command,$(PYTHON) $< $@ \
|
||||||
$(addprefix $(SRC_PATH)/,$(patsubst %.mo,%.c,$(block-obj-m))), \
|
$(addprefix $(SRC_PATH)/,$(patsubst %.mo,%.c,$(block-obj-m))), \
|
||||||
|
@ -731,12 +721,6 @@ endif
|
||||||
ifneq ($(HELPERS-y),)
|
ifneq ($(HELPERS-y),)
|
||||||
$(call install-prog,$(HELPERS-y),$(DESTDIR)$(libexecdir))
|
$(call install-prog,$(HELPERS-y),$(DESTDIR)$(libexecdir))
|
||||||
endif
|
endif
|
||||||
ifneq ($(vhost-user-json-y),)
|
|
||||||
$(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/vhost-user/"
|
|
||||||
for x in $(vhost-user-json-y); do \
|
|
||||||
$(INSTALL_DATA) $$x "$(DESTDIR)$(qemu_datadir)/vhost-user/"; \
|
|
||||||
done
|
|
||||||
endif
|
|
||||||
ifdef CONFIG_TRACE_SYSTEMTAP
|
ifdef CONFIG_TRACE_SYSTEMTAP
|
||||||
$(INSTALL_PROG) "scripts/qemu-trace-stap" $(DESTDIR)$(bindir)
|
$(INSTALL_PROG) "scripts/qemu-trace-stap" $(DESTDIR)$(bindir)
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -106,6 +106,5 @@ qga-vss-dll-obj-y = qga/
|
||||||
elf2dmp-obj-y = contrib/elf2dmp/
|
elf2dmp-obj-y = contrib/elf2dmp/
|
||||||
ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
|
ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
|
||||||
ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
|
ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
|
||||||
vhost-user-gpu-obj-y = contrib/vhost-user-gpu/
|
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
vhost-user-gpu-obj-y = vhost-user-gpu.o virgl.o vugbm.o
|
|
||||||
|
|
||||||
vhost-user-gpu.o-cflags := $(PIXMAN_CFLAGS) $(GBM_CFLAGS)
|
|
||||||
vhost-user-gpu.o-libs := $(PIXMAN_LIBS)
|
|
||||||
|
|
||||||
virgl.o-cflags := $(VIRGL_CFLAGS) $(GBM_CFLAGS)
|
|
||||||
virgl.o-libs := $(VIRGL_LIBS)
|
|
||||||
|
|
||||||
vugbm.o-cflags := $(GBM_CFLAGS)
|
|
||||||
vugbm.o-libs := $(GBM_LIBS)
|
|
13
contrib/vhost-user-gpu/meson.build
Normal file
13
contrib/vhost-user-gpu/meson.build
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
if 'CONFIG_TOOLS' in config_host and 'CONFIG_VIRGL' in config_host \
|
||||||
|
and 'CONFIG_GBM' in config_host and 'CONFIG_LINUX' in config_host
|
||||||
|
executable('vhost-user-gpu', files('vhost-user-gpu.c', 'virgl.c', 'vugbm.c'),
|
||||||
|
link_with: libvhost_user,
|
||||||
|
dependencies: [qemuutil, pixman, gbm, virgl],
|
||||||
|
install: true,
|
||||||
|
install_dir: get_option('libexecdir'))
|
||||||
|
|
||||||
|
configure_file(input: '50-qemu-gpu.json.in',
|
||||||
|
output: '50-qemu-gpu.json',
|
||||||
|
configuration: config_host,
|
||||||
|
install_dir: config_host['qemu_datadir'] / 'vhost-user')
|
||||||
|
endif
|
15
meson.build
15
meson.build
|
@ -83,6 +83,8 @@ if 'CONFIG_GNUTLS' in config_host
|
||||||
gnutls = declare_dependency(compile_args: config_host['GNUTLS_CFLAGS'].split(),
|
gnutls = declare_dependency(compile_args: config_host['GNUTLS_CFLAGS'].split(),
|
||||||
link_args: config_host['GNUTLS_LIBS'].split())
|
link_args: config_host['GNUTLS_LIBS'].split())
|
||||||
endif
|
endif
|
||||||
|
pixman = declare_dependency(compile_args: config_host['PIXMAN_CFLAGS'].split(),
|
||||||
|
link_args: config_host['PIXMAN_LIBS'].split())
|
||||||
seccomp = not_found
|
seccomp = not_found
|
||||||
if 'CONFIG_SECCOMP' in config_host
|
if 'CONFIG_SECCOMP' in config_host
|
||||||
seccomp = declare_dependency(compile_args: config_host['SECCOMP_CFLAGS'].split(),
|
seccomp = declare_dependency(compile_args: config_host['SECCOMP_CFLAGS'].split(),
|
||||||
|
@ -97,6 +99,16 @@ if 'CONFIG_LIBISCSI' in config_host
|
||||||
libiscsi = declare_dependency(compile_args: config_host['LIBISCSI_CFLAGS'].split(),
|
libiscsi = declare_dependency(compile_args: config_host['LIBISCSI_CFLAGS'].split(),
|
||||||
link_args: config_host['LIBISCSI_LIBS'].split())
|
link_args: config_host['LIBISCSI_LIBS'].split())
|
||||||
endif
|
endif
|
||||||
|
gbm = not_found
|
||||||
|
if 'CONFIG_GBM' in config_host
|
||||||
|
gbm = declare_dependency(compile_args: config_host['GBM_CFLAGS'].split(),
|
||||||
|
link_args: config_host['GBM_LIBS'].split())
|
||||||
|
endif
|
||||||
|
virgl = not_found
|
||||||
|
if 'CONFIG_VIRGL' in config_host
|
||||||
|
virgl = declare_dependency(compile_args: config_host['VIRGL_CFLAGS'].split(),
|
||||||
|
link_args: config_host['VIRGL_LIBS'].split())
|
||||||
|
endif
|
||||||
|
|
||||||
target_dirs = config_host['TARGET_DIRS'].split()
|
target_dirs = config_host['TARGET_DIRS'].split()
|
||||||
have_user = false
|
have_user = false
|
||||||
|
@ -265,6 +277,9 @@ if have_tools
|
||||||
if 'CONFIG_VHOST_USER' in config_host
|
if 'CONFIG_VHOST_USER' in config_host
|
||||||
subdir('contrib/libvhost-user')
|
subdir('contrib/libvhost-user')
|
||||||
subdir('contrib/vhost-user-blk')
|
subdir('contrib/vhost-user-blk')
|
||||||
|
if 'CONFIG_LINUX' in config_host
|
||||||
|
subdir('contrib/vhost-user-gpu')
|
||||||
|
endif
|
||||||
subdir('contrib/vhost-user-input')
|
subdir('contrib/vhost-user-input')
|
||||||
subdir('contrib/vhost-user-scsi')
|
subdir('contrib/vhost-user-scsi')
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -402,13 +402,6 @@ TEXI2MAN = $(call quiet-command, \
|
||||||
%.8:
|
%.8:
|
||||||
$(call TEXI2MAN)
|
$(call TEXI2MAN)
|
||||||
|
|
||||||
GEN_SUBST = $(call quiet-command, \
|
|
||||||
sed -e "s!@libexecdir@!$(libexecdir)!g" < $< > $@, \
|
|
||||||
"GEN","$@")
|
|
||||||
|
|
||||||
%.json: %.json.in
|
|
||||||
$(call GEN_SUBST)
|
|
||||||
|
|
||||||
# Support for building multiple output files by atomically executing
|
# Support for building multiple output files by atomically executing
|
||||||
# a single rule which depends on several input files (so the rule
|
# a single rule which depends on several input files (so the rule
|
||||||
# will be executed exactly once, not once per output file, and
|
# will be executed exactly once, not once per output file, and
|
||||||
|
|
Loading…
Reference in a new issue