libvhost-user: make it a meson subproject
By making libvhost-user a subproject, check it builds standalone (without the global QEMU cflags etc). Note that the library still relies on QEMU include/qemu/atomic.h and linux_headers/. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20201125100640.366523-6-marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
3d22bd27ac
commit
0df750e9d3
@ -11,7 +11,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "block/block.h"
|
#include "block/block.h"
|
||||||
#include "contrib/libvhost-user/libvhost-user.h"
|
#include "subprojects/libvhost-user/libvhost-user.h" /* only for the type definitions */
|
||||||
#include "standard-headers/linux/virtio_blk.h"
|
#include "standard-headers/linux/virtio_blk.h"
|
||||||
#include "qemu/vhost-user-server.h"
|
#include "qemu/vhost-user-server.h"
|
||||||
#include "vhost-user-blk-server.h"
|
#include "vhost-user-blk-server.h"
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
libvhost_user = static_library('vhost-user',
|
|
||||||
files('libvhost-user.c', 'libvhost-user-glib.c'),
|
|
||||||
build_by_default: false)
|
|
||||||
vhost_user = declare_dependency(link_with: libvhost_user)
|
|
@ -1,6 +1,5 @@
|
|||||||
# FIXME: broken on 32-bit architectures
|
# FIXME: broken on 32-bit architectures
|
||||||
executable('vhost-user-blk', files('vhost-user-blk.c'),
|
executable('vhost-user-blk', files('vhost-user-blk.c'),
|
||||||
link_with: libvhost_user,
|
dependencies: [qemuutil, vhost_user],
|
||||||
dependencies: qemuutil,
|
|
||||||
build_by_default: false,
|
build_by_default: false,
|
||||||
install: false)
|
install: false)
|
||||||
|
@ -17,8 +17,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "standard-headers/linux/virtio_blk.h"
|
#include "standard-headers/linux/virtio_blk.h"
|
||||||
#include "contrib/libvhost-user/libvhost-user-glib.h"
|
#include "libvhost-user-glib.h"
|
||||||
#include "contrib/libvhost-user/libvhost-user.h"
|
|
||||||
|
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
|
@ -2,8 +2,7 @@ if 'CONFIG_TOOLS' in config_host and 'CONFIG_VIRGL' in config_host \
|
|||||||
and 'CONFIG_GBM' in config_host and 'CONFIG_LINUX' in config_host \
|
and 'CONFIG_GBM' in config_host and 'CONFIG_LINUX' in config_host \
|
||||||
and pixman.found()
|
and pixman.found()
|
||||||
executable('vhost-user-gpu', files('vhost-user-gpu.c', 'virgl.c', 'vugbm.c'),
|
executable('vhost-user-gpu', files('vhost-user-gpu.c', 'virgl.c', 'vugbm.c'),
|
||||||
link_with: libvhost_user,
|
dependencies: [qemuutil, pixman, gbm, virgl, vhost_user],
|
||||||
dependencies: [qemuutil, pixman, gbm, virgl],
|
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: get_option('libexecdir'))
|
install_dir: get_option('libexecdir'))
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
|
|
||||||
#include "contrib/libvhost-user/libvhost-user-glib.h"
|
#include "libvhost-user-glib.h"
|
||||||
#include "standard-headers/linux/virtio_gpu.h"
|
#include "standard-headers/linux/virtio_gpu.h"
|
||||||
|
|
||||||
#include "qemu/queue.h"
|
#include "qemu/queue.h"
|
||||||
|
@ -12,8 +12,7 @@
|
|||||||
#include "qemu/iov.h"
|
#include "qemu/iov.h"
|
||||||
#include "qemu/bswap.h"
|
#include "qemu/bswap.h"
|
||||||
#include "qemu/sockets.h"
|
#include "qemu/sockets.h"
|
||||||
#include "contrib/libvhost-user/libvhost-user.h"
|
#include "libvhost-user-glib.h"
|
||||||
#include "contrib/libvhost-user/libvhost-user-glib.h"
|
|
||||||
#include "standard-headers/linux/virtio_input.h"
|
#include "standard-headers/linux/virtio_input.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
executable('vhost-user-input', files('main.c'),
|
executable('vhost-user-input', files('main.c'),
|
||||||
link_with: libvhost_user,
|
dependencies: [qemuutil, vhost_user],
|
||||||
dependencies: qemuutil,
|
|
||||||
build_by_default: targetos == 'linux',
|
build_by_default: targetos == 'linux',
|
||||||
install: false)
|
install: false)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
if 'CONFIG_LIBISCSI' in config_host
|
if 'CONFIG_LIBISCSI' in config_host
|
||||||
executable('vhost-user-scsi', files('vhost-user-scsi.c'),
|
executable('vhost-user-scsi', files('vhost-user-scsi.c'),
|
||||||
link_with: libvhost_user,
|
dependencies: [qemuutil, libiscsi, vhost_user],
|
||||||
dependencies: [qemuutil, libiscsi],
|
|
||||||
build_by_default: targetos == 'linux',
|
build_by_default: targetos == 'linux',
|
||||||
install: false)
|
install: false)
|
||||||
endif
|
endif
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#define inline __attribute__((gnu_inline)) /* required for libiscsi v1.9.0 */
|
#define inline __attribute__((gnu_inline)) /* required for libiscsi v1.9.0 */
|
||||||
#include <iscsi/scsi-lowlevel.h>
|
#include <iscsi/scsi-lowlevel.h>
|
||||||
#undef inline
|
#undef inline
|
||||||
#include "contrib/libvhost-user/libvhost-user-glib.h"
|
#include "libvhost-user-glib.h"
|
||||||
#include "standard-headers/linux/virtio_scsi.h"
|
#include "standard-headers/linux/virtio_scsi.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#ifndef VHOST_USER_SERVER_H
|
#ifndef VHOST_USER_SERVER_H
|
||||||
#define VHOST_USER_SERVER_H
|
#define VHOST_USER_SERVER_H
|
||||||
|
|
||||||
#include "contrib/libvhost-user/libvhost-user.h"
|
#include "subprojects/libvhost-user/libvhost-user.h" /* only for the type definitions */
|
||||||
#include "io/channel-socket.h"
|
#include "io/channel-socket.h"
|
||||||
#include "io/channel-file.h"
|
#include "io/channel-file.h"
|
||||||
#include "io/net-listener.h"
|
#include "io/net-listener.h"
|
||||||
|
@ -1475,7 +1475,12 @@ trace_events_subdirs += [
|
|||||||
'util',
|
'util',
|
||||||
]
|
]
|
||||||
|
|
||||||
subdir('contrib/libvhost-user')
|
vhost_user = not_found
|
||||||
|
if 'CONFIG_VHOST_USER' in config_host
|
||||||
|
libvhost_user = subproject('libvhost-user')
|
||||||
|
vhost_user = libvhost_user.get_variable('vhost_user_dep')
|
||||||
|
endif
|
||||||
|
|
||||||
subdir('qapi')
|
subdir('qapi')
|
||||||
subdir('qobject')
|
subdir('qobject')
|
||||||
subdir('stubs')
|
subdir('stubs')
|
||||||
|
20
subprojects/libvhost-user/meson.build
Normal file
20
subprojects/libvhost-user/meson.build
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
project('libvhost-user', 'c',
|
||||||
|
license: 'GPL-2.0-or-later',
|
||||||
|
default_options: ['c_std=gnu99'])
|
||||||
|
|
||||||
|
glib = dependency('glib-2.0')
|
||||||
|
inc = include_directories('../../include', '../../linux-headers')
|
||||||
|
|
||||||
|
vhost_user = static_library('vhost-user',
|
||||||
|
files('libvhost-user.c'),
|
||||||
|
include_directories: inc,
|
||||||
|
c_args: '-D_GNU_SOURCE')
|
||||||
|
|
||||||
|
vhost_user_glib = static_library('vhost-user-glib',
|
||||||
|
files('libvhost-user-glib.c'),
|
||||||
|
include_directories: inc,
|
||||||
|
link_with: vhost_user,
|
||||||
|
dependencies: glib)
|
||||||
|
|
||||||
|
vhost_user_dep = declare_dependency(link_with: vhost_user_glib,
|
||||||
|
include_directories: include_directories('.'))
|
@ -264,8 +264,7 @@ endforeach
|
|||||||
if have_tools and 'CONFIG_VHOST_USER' in config_host and 'CONFIG_LINUX' in config_host
|
if have_tools and 'CONFIG_VHOST_USER' in config_host and 'CONFIG_LINUX' in config_host
|
||||||
executable('vhost-user-bridge',
|
executable('vhost-user-bridge',
|
||||||
sources: files('vhost-user-bridge.c'),
|
sources: files('vhost-user-bridge.c'),
|
||||||
link_with: [libvhost_user],
|
dependencies: [qemuutil, vhost_user])
|
||||||
dependencies: [qemuutil])
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if have_system and 'CONFIG_POSIX' in config_host
|
if have_system and 'CONFIG_POSIX' in config_host
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
#include "qemu/ctype.h"
|
#include "qemu/ctype.h"
|
||||||
#include "qemu/iov.h"
|
#include "qemu/iov.h"
|
||||||
#include "standard-headers/linux/virtio_net.h"
|
#include "standard-headers/linux/virtio_net.h"
|
||||||
#include "contrib/libvhost-user/libvhost-user.h"
|
#include "libvhost-user.h"
|
||||||
|
|
||||||
#define VHOST_USER_BRIDGE_DEBUG 1
|
#define VHOST_USER_BRIDGE_DEBUG 1
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
#include <grp.h>
|
#include <grp.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "contrib/libvhost-user/libvhost-user.h"
|
#include "libvhost-user.h"
|
||||||
|
|
||||||
struct fv_VuDev;
|
struct fv_VuDev;
|
||||||
struct fv_QueueInfo {
|
struct fv_QueueInfo {
|
||||||
|
@ -8,8 +8,7 @@ executable('virtiofsd', files(
|
|||||||
'helper.c',
|
'helper.c',
|
||||||
'passthrough_ll.c',
|
'passthrough_ll.c',
|
||||||
'passthrough_seccomp.c'),
|
'passthrough_seccomp.c'),
|
||||||
link_with: libvhost_user,
|
dependencies: [seccomp, qemuutil, libcap_ng, vhost_user],
|
||||||
dependencies: [seccomp, qemuutil, libcap_ng],
|
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: get_option('libexecdir'))
|
install_dir: get_option('libexecdir'))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user