[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 025/143] tools/virtiofsd: convert to Meson
From: |
Paolo Bonzini |
Subject: |
[PATCH 025/143] tools/virtiofsd: convert to Meson |
Date: |
Thu, 6 Aug 2020 21:14:21 +0200 |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 12 ------------
Makefile.objs | 1 -
configure | 1 +
meson.build | 11 +++++++++++
tools/meson.build | 7 +++++++
tools/virtiofsd/Makefile.objs | 12 ------------
tools/virtiofsd/meson.build | 17 +++++++++++++++++
tools/virtiofsd/passthrough_ll.c | 2 +-
tools/virtiofsd/{seccomp.c => passthrough_seccomp.c} | 2 +-
tools/virtiofsd/{seccomp.h => passthrough_seccomp.h} | 0
10 files changed, 38 insertions(+), 27 deletions(-)
create mode 100644 tools/meson.build
delete mode 100644 tools/virtiofsd/Makefile.objs
create mode 100644 tools/virtiofsd/meson.build
rename tools/virtiofsd/{seccomp.c => passthrough_seccomp.c} (99%)
rename tools/virtiofsd/{seccomp.h => passthrough_seccomp.h} (100%)
diff --git a/Makefile b/Makefile
index 0d45423..0918639 100644
--- a/Makefile
+++ b/Makefile
@@ -189,11 +189,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
@@ -300,7 +295,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 \
@@ -533,12 +527,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, $^)
diff --git a/Makefile.objs b/Makefile.objs
index 9489864..fee0f71 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -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/
######################################################################
diff --git a/configure b/configure
index e3a7e71..bb44d39 100755
--- a/configure
+++ b/configure
@@ -6965,6 +6965,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
diff --git a/meson.build b/meson.build
index 4540a81..2f159b8 100644
--- a/meson.build
+++ b/meson.build
@@ -79,6 +79,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
@@ -231,6 +240,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']}
diff --git a/tools/meson.build b/tools/meson.build
new file mode 100644
index 0000000..5a6f895
--- /dev/null
+++ b/tools/meson.build
@@ -0,0 +1,7 @@
+have_virtiofsd = (have_system and
+ 'CONFIG_LINUX' in config_host and
+ 'CONFIG_SECCOMP' in config_host and
+ 'CONFIG_LIBCAP_NG' in config_host)
+if have_virtiofsd
+ subdir('virtiofsd')
+endif
diff --git a/tools/virtiofsd/Makefile.objs b/tools/virtiofsd/Makefile.objs
deleted file mode 100644
index 076f667..0000000
--- a/tools/virtiofsd/Makefile.objs
+++ /dev/null
@@ -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)
diff --git a/tools/virtiofsd/meson.build b/tools/virtiofsd/meson.build
new file mode 100644
index 0000000..846a6be
--- /dev/null
+++ b/tools/virtiofsd/meson.build
@@ -0,0 +1,17 @@
+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])
+
+configure_file(input: '50-qemu-virtiofsd.json.in',
+ output: '50-qemu-virtiofsd.json',
+ configuration: config_host,
+ install_dir: config_host['qemu_datadir'] / 'vhost-user')
diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
index 94e0de2..63d1d00 100644
--- a/tools/virtiofsd/passthrough_ll.c
+++ b/tools/virtiofsd/passthrough_ll.c
@@ -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 {
diff --git a/tools/virtiofsd/seccomp.c b/tools/virtiofsd/passthrough_seccomp.c
similarity index 99%
rename from tools/virtiofsd/seccomp.c
rename to tools/virtiofsd/passthrough_seccomp.c
index 3b1522a..19fee60 100644
--- a/tools/virtiofsd/seccomp.c
+++ b/tools/virtiofsd/passthrough_seccomp.c
@@ -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>
diff --git a/tools/virtiofsd/seccomp.h b/tools/virtiofsd/passthrough_seccomp.h
similarity index 100%
rename from tools/virtiofsd/seccomp.h
rename to tools/virtiofsd/passthrough_seccomp.h
--
1.8.3.1
- [PATCH 017/143] meson: enable pie, (continued)
- [PATCH 019/143] meson: add sparse support, Paolo Bonzini, 2020/08/06
- [PATCH 022/143] meson: add remaining generated tcg trace helpers, Paolo Bonzini, 2020/08/06
- [PATCH 021/143] libqemuutil, qapi, trace: convert to meson, Paolo Bonzini, 2020/08/06
- [PATCH 024/143] contrib/libvhost-user: convert to Meson, Paolo Bonzini, 2020/08/06
- [PATCH 025/143] tools/virtiofsd: convert to Meson,
Paolo Bonzini <=
- [PATCH 023/143] meson: add version.o, Paolo Bonzini, 2020/08/06
- [PATCH 028/143] contrib/rdmacm-mux: convert to Meson, Paolo Bonzini, 2020/08/06
- [PATCH 027/143] contrib/vhost-user-scsi: convert to Meson, Paolo Bonzini, 2020/08/06
- [PATCH 026/143] contrib/vhost-user-blk: convert to Meson, Paolo Bonzini, 2020/08/06
- [PATCH 029/143] contrib/vhost-user-input: convert to meson, Paolo Bonzini, 2020/08/06
- [PATCH 032/143] contrib/elf2dmp: convert to meson, Paolo Bonzini, 2020/08/06
- [PATCH 030/143] contrib/vhost-user-gpu: convert to meson, Paolo Bonzini, 2020/08/06
- [PATCH 034/143] meson: convert vss-win32, Paolo Bonzini, 2020/08/06
- [PATCH 031/143] contrib/ivshmem: convert to meson, Paolo Bonzini, 2020/08/06
- [PATCH 033/143] meson: convert qemu-ga, Paolo Bonzini, 2020/08/06