We can use config-host.mak to decide whether the tool has to be built, apart from that the conversion is straightforward.
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- .gitignore | 1 + Makefile | 5 ----- Makefile.objs | 1 - contrib/rdmacm-mux/Makefile.objs | 3 --- contrib/rdmacm-mux/meson.build | 6 ++++++ meson.build | 2 ++ 6 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 contrib/rdmacm-mux/Makefile.objs create mode 100644 contrib/rdmacm-mux/meson.build diff --git a/.gitignore b/.gitignore index 3934eff..b8d38a8 100644 --- a/.gitignore +++ b/.gitignore @@ -63,6 +63,7 @@ /qemu-version.h.tmp /module_block.h /scsi/qemu-pr-helper +/contrib/rdmacm-mux/rdmacm-mux /contrib/vhost-user-scsi/vhost-user-scsi /contrib/vhost-user-blk/vhost-user-blk /fsdev/virtfs-proxy-helper diff --git a/Makefile b/Makefile index bff097c..713f301 100644 --- a/Makefile +++ b/Makefile @@ -425,7 +425,6 @@ dummy := $(call unnest-vars,, \ elf2dmp-obj-y \ ivshmem-client-obj-y \ ivshmem-server-obj-y \ - rdmacm-mux-obj-y \ vhost-user-input-obj-y \ vhost-user-gpu-obj-y \ qga-vss-dll-obj-y \ @@ -629,10 +628,6 @@ ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS) $(call LINK, $^) endif -rdmacm-mux$(EXESUF): LIBS += "-libumad" -rdmacm-mux$(EXESUF): $(rdmacm-mux-obj-y) $(COMMON_LDADDS) - $(call LINK, $^) - vhost-user-gpu$(EXESUF): $(vhost-user-gpu-obj-y) contrib/libvhost-user/libvhost-user.a $(call LINK, $^) diff --git a/Makefile.objs b/Makefile.objs index adf2f92..cf02f63 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -116,7 +116,6 @@ qga-vss-dll-obj-y = qga/ elf2dmp-obj-y = contrib/elf2dmp/ ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/ ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/ -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/ diff --git a/contrib/rdmacm-mux/Makefile.objs b/contrib/rdmacm-mux/Makefile.objs deleted file mode 100644 index 3df744a..0000000 --- a/contrib/rdmacm-mux/Makefile.objs +++ /dev/null @@ -1,3 +0,0 @@ -ifdef CONFIG_PVRDMA -rdmacm-mux-obj-y = main.o -endif diff --git a/contrib/rdmacm-mux/meson.build b/contrib/rdmacm-mux/meson.build new file mode 100644 index 0000000..8451756 --- /dev/null +++ b/contrib/rdmacm-mux/meson.build @@ -0,0 +1,6 @@ +if config_host['CONFIG_PVRDMA'] == 'y' + # if not found, CONFIG_PVRDMA should not be set + libumad = cc.find_library('ibumad', required: true) + executable('rdmacm-mux', files('main.c'), + dependencies: [glib, libumad]) +endif diff --git a/meson.build b/meson.build index bc7fbea..2fc6111 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,5 @@ project('qemu', 'c', meson_version: '>=0.50.999') +cc = meson.get_compiler('c') kconfig = import('unstable-kconfig') config_host = kconfig.load(meson.current_build_dir() / 'config-host.mak') @@ -14,5 +15,6 @@ libiscsi = declare_dependency(compile_args: config_host['LIBISCSI_CFLAGS'].split link_args: config_host['LIBISCSI_LIBS'].split()) subdir('contrib/libvhost-user') +subdir('contrib/rdmacm-mux') subdir('contrib/vhost-user-blk') subdir('contrib/vhost-user-scsi') -- 1.8.3.1