tools/virtiofsd: convert to Meson

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2020-02-05 09:45:39 +01:00
parent 931049b46c
commit 3f99cf5710
10 changed files with 43 additions and 27 deletions

View file

@ -205,11 +205,6 @@ HELPERS-y += vhost-user-gpu$(EXESUF)
vhost-user-json-y += contrib/vhost-user-gpu/50-qemu-gpu.json
endif
ifeq ($(CONFIG_SOFTMMU)$(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyyy)
HELPERS-y += virtiofsd$(EXESUF)
vhost-user-json-y += tools/virtiofsd/50-qemu-virtiofsd.json
endif
# 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
# build the manuals into a subdirectory (and then install them from
@ -316,7 +311,6 @@ dummy := $(call unnest-vars,, \
elf2dmp-obj-y \
ivshmem-client-obj-y \
ivshmem-server-obj-y \
virtiofsd-obj-y \
rdmacm-mux-obj-y \
vhost-user-scsi-obj-y \
vhost-user-blk-obj-y \
@ -549,12 +543,6 @@ rdmacm-mux$(EXESUF): LIBS += "-libumad"
rdmacm-mux$(EXESUF): $(rdmacm-mux-obj-y) $(COMMON_LDADDS)
$(call LINK, $^)
# relies on Linux-specific syscalls
ifeq ($(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyy)
virtiofsd$(EXESUF): $(virtiofsd-obj-y) contrib/libvhost-user/libvhost-user.a $(COMMON_LDADDS)
$(call LINK, $^)
endif
vhost-user-gpu$(EXESUF): $(vhost-user-gpu-obj-y) contrib/libvhost-user/libvhost-user.a $(COMMON_LDADDS)
$(call LINK, $^)

View file

@ -113,6 +113,5 @@ vhost-user-blk-obj-y = contrib/vhost-user-blk/
rdmacm-mux-obj-y = contrib/rdmacm-mux/
vhost-user-input-obj-y = contrib/vhost-user-input/
vhost-user-gpu-obj-y = contrib/vhost-user-gpu/
virtiofsd-obj-y = tools/virtiofsd/
######################################################################

1
configure vendored
View file

@ -7047,6 +7047,7 @@ if test "$gprof" = "yes" ; then
fi
if test "$cap_ng" = "yes" ; then
echo "CONFIG_LIBCAP_NG=y" >> $config_host_mak
echo "LIBCAP_NG_LIBS=$cap_libs" >> $config_host_mak
fi
echo "CONFIG_AUDIO_DRIVERS=$audio_drv_list" >> $config_host_mak
for drv in $audio_drv_list; do

View file

@ -83,6 +83,15 @@ if 'CONFIG_GNUTLS' in config_host
gnutls = declare_dependency(compile_args: config_host['GNUTLS_CFLAGS'].split(),
link_args: config_host['GNUTLS_LIBS'].split())
endif
seccomp = not_found
if 'CONFIG_SECCOMP' in config_host
seccomp = declare_dependency(compile_args: config_host['SECCOMP_CFLAGS'].split(),
link_args: config_host['SECCOMP_LIBS'].split())
endif
libcap_ng = not_found
if 'CONFIG_LIBCAP_NG' in config_host
libcap_ng = declare_dependency(link_args: config_host['LIBCAP_NG_LIBS'].split())
endif
target_dirs = config_host['TARGET_DIRS'].split()
have_user = false
@ -251,6 +260,8 @@ if have_tools
endif
endif
subdir('tools')
summary_info = {}
summary_info += {'Install prefix': config_host['prefix']}
summary_info += {'BIOS directory': config_host['qemu_datadir']}

10
tools/meson.build Normal file
View file

@ -0,0 +1,10 @@
have_virtiofsd = (have_system and
have_tools and
'CONFIG_LINUX' in config_host and
'CONFIG_SECCOMP' in config_host and
'CONFIG_LIBCAP_NG' in config_host and
'CONFIG_VHOST_USER' in config_host)
if have_virtiofsd
subdir('virtiofsd')
endif

View file

@ -1,12 +0,0 @@
virtiofsd-obj-y = buffer.o \
fuse_opt.o \
fuse_log.o \
fuse_lowlevel.o \
fuse_signals.o \
fuse_virtio.o \
helper.o \
passthrough_ll.o \
seccomp.o
seccomp.o-cflags := $(SECCOMP_CFLAGS)
seccomp.o-libs := $(SECCOMP_LIBS)

View file

@ -0,0 +1,19 @@
executable('virtiofsd', files(
'buffer.c',
'fuse_opt.c',
'fuse_log.c',
'fuse_lowlevel.c',
'fuse_signals.c',
'fuse_virtio.c',
'helper.c',
'passthrough_ll.c',
'passthrough_seccomp.c'),
link_with: libvhost_user,
dependencies: [seccomp, qemuutil, libcap_ng],
install: true,
install_dir: get_option('libexecdir'))
configure_file(input: '50-qemu-virtiofsd.json.in',
output: '50-qemu-virtiofsd.json',
configuration: config_host,
install_dir: config_host['qemu_datadir'] / 'vhost-user')

View file

@ -65,7 +65,7 @@
#include <unistd.h>
#include "passthrough_helpers.h"
#include "seccomp.h"
#include "passthrough_seccomp.h"
/* Keep track of inode posix locks for each owner. */
struct lo_inode_plock {

View file

@ -7,7 +7,7 @@
*/
#include "qemu/osdep.h"
#include "seccomp.h"
#include "passthrough_seccomp.h"
#include "fuse_i.h"
#include "fuse_log.h"
#include <errno.h>