meson: move vhost_user_blk_server to meson.build
The --enable/disable-vhost-user-blk-server options were implemented in ./configure. There has been confusion about them and part of the problem is that the shell syntax used for setting the default value is not easy to read. Move the option over to meson where the conditions are easier to understand: have_vhost_user_blk_server = (targetos == 'linux') if get_option('vhost_user_blk_server').enabled() if targetos != 'linux' error('vhost_user_blk_server requires linux') endif elif get_option('vhost_user_blk_server').disabled() or not have_system have_vhost_user_blk_server = false endif This patch does not change behavior. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20201110171121.1265142-2-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
3009edff81
commit
e5e856c1eb
@ -1,2 +1,5 @@
|
|||||||
blockdev_ss.add(files('export.c'))
|
blockdev_ss.add(files('export.c'))
|
||||||
blockdev_ss.add(when: 'CONFIG_VHOST_USER_BLK_SERVER', if_true: files('vhost-user-blk-server.c'))
|
|
||||||
|
if have_vhost_user_blk_server
|
||||||
|
blockdev_ss.add(files('vhost-user-blk-server.c'))
|
||||||
|
endif
|
||||||
|
16
configure
vendored
16
configure
vendored
@ -329,7 +329,7 @@ vhost_crypto=""
|
|||||||
vhost_scsi=""
|
vhost_scsi=""
|
||||||
vhost_vsock=""
|
vhost_vsock=""
|
||||||
vhost_user=""
|
vhost_user=""
|
||||||
vhost_user_blk_server=""
|
vhost_user_blk_server="auto"
|
||||||
vhost_user_fs=""
|
vhost_user_fs=""
|
||||||
kvm="auto"
|
kvm="auto"
|
||||||
hax="auto"
|
hax="auto"
|
||||||
@ -1247,9 +1247,9 @@ for opt do
|
|||||||
;;
|
;;
|
||||||
--enable-vhost-vsock) vhost_vsock="yes"
|
--enable-vhost-vsock) vhost_vsock="yes"
|
||||||
;;
|
;;
|
||||||
--disable-vhost-user-blk-server) vhost_user_blk_server="no"
|
--disable-vhost-user-blk-server) vhost_user_blk_server="disabled"
|
||||||
;;
|
;;
|
||||||
--enable-vhost-user-blk-server) vhost_user_blk_server="yes"
|
--enable-vhost-user-blk-server) vhost_user_blk_server="enabled"
|
||||||
;;
|
;;
|
||||||
--disable-vhost-user-fs) vhost_user_fs="no"
|
--disable-vhost-user-fs) vhost_user_fs="no"
|
||||||
;;
|
;;
|
||||||
@ -2390,12 +2390,6 @@ if test "$vhost_net" = ""; then
|
|||||||
test "$vhost_kernel" = "yes" && vhost_net=yes
|
test "$vhost_kernel" = "yes" && vhost_net=yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# libvhost-user is Linux-only
|
|
||||||
test "$vhost_user_blk_server" = "" && vhost_user_blk_server=$linux
|
|
||||||
if test "$vhost_user_blk_server" = "yes" && test "$linux" = "no"; then
|
|
||||||
error_exit "--enable-vhost-user-blk-server is only available on Linux"
|
|
||||||
fi
|
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# pkg-config probe
|
# pkg-config probe
|
||||||
|
|
||||||
@ -6289,9 +6283,6 @@ fi
|
|||||||
if test "$vhost_vdpa" = "yes" ; then
|
if test "$vhost_vdpa" = "yes" ; then
|
||||||
echo "CONFIG_VHOST_VDPA=y" >> $config_host_mak
|
echo "CONFIG_VHOST_VDPA=y" >> $config_host_mak
|
||||||
fi
|
fi
|
||||||
if test "$vhost_user_blk_server" = "yes" ; then
|
|
||||||
echo "CONFIG_VHOST_USER_BLK_SERVER=y" >> $config_host_mak
|
|
||||||
fi
|
|
||||||
if test "$vhost_user_fs" = "yes" ; then
|
if test "$vhost_user_fs" = "yes" ; then
|
||||||
echo "CONFIG_VHOST_USER_FS=y" >> $config_host_mak
|
echo "CONFIG_VHOST_USER_FS=y" >> $config_host_mak
|
||||||
fi
|
fi
|
||||||
@ -7012,6 +7003,7 @@ NINJA=$ninja $meson setup \
|
|||||||
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt \
|
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt \
|
||||||
-Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
|
-Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
|
||||||
-Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \
|
-Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \
|
||||||
|
-Dvhost_user_blk_server=$vhost_user_blk_server \
|
||||||
$cross_arg \
|
$cross_arg \
|
||||||
"$PWD" "$source_path"
|
"$PWD" "$source_path"
|
||||||
|
|
||||||
|
12
meson.build
12
meson.build
@ -751,6 +751,16 @@ statx_test = '''
|
|||||||
|
|
||||||
has_statx = cc.links(statx_test)
|
has_statx = cc.links(statx_test)
|
||||||
|
|
||||||
|
have_vhost_user_blk_server = (targetos == 'linux')
|
||||||
|
|
||||||
|
if get_option('vhost_user_blk_server').enabled()
|
||||||
|
if targetos != 'linux'
|
||||||
|
error('vhost_user_blk_server requires linux')
|
||||||
|
endif
|
||||||
|
elif get_option('vhost_user_blk_server').disabled() or not have_system
|
||||||
|
have_vhost_user_blk_server = false
|
||||||
|
endif
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# config-host.h #
|
# config-host.h #
|
||||||
#################
|
#################
|
||||||
@ -775,6 +785,7 @@ config_host_data.set('CONFIG_MPATH_NEW_API', mpathpersist_new_api)
|
|||||||
config_host_data.set('CONFIG_CURSES', curses.found())
|
config_host_data.set('CONFIG_CURSES', curses.found())
|
||||||
config_host_data.set('CONFIG_SDL', sdl.found())
|
config_host_data.set('CONFIG_SDL', sdl.found())
|
||||||
config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
|
config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
|
||||||
|
config_host_data.set('CONFIG_VHOST_USER_BLK_SERVER', have_vhost_user_blk_server)
|
||||||
config_host_data.set('CONFIG_VNC', vnc.found())
|
config_host_data.set('CONFIG_VNC', vnc.found())
|
||||||
config_host_data.set('CONFIG_VNC_JPEG', jpeg.found())
|
config_host_data.set('CONFIG_VNC_JPEG', jpeg.found())
|
||||||
config_host_data.set('CONFIG_VNC_PNG', png.found())
|
config_host_data.set('CONFIG_VNC_PNG', png.found())
|
||||||
@ -2103,6 +2114,7 @@ summary_info += {'vhost-crypto support': config_host.has_key('CONFIG_VHOST_CRYPT
|
|||||||
summary_info += {'vhost-scsi support': config_host.has_key('CONFIG_VHOST_SCSI')}
|
summary_info += {'vhost-scsi support': config_host.has_key('CONFIG_VHOST_SCSI')}
|
||||||
summary_info += {'vhost-vsock support': config_host.has_key('CONFIG_VHOST_VSOCK')}
|
summary_info += {'vhost-vsock support': config_host.has_key('CONFIG_VHOST_VSOCK')}
|
||||||
summary_info += {'vhost-user support': config_host.has_key('CONFIG_VHOST_KERNEL')}
|
summary_info += {'vhost-user support': config_host.has_key('CONFIG_VHOST_KERNEL')}
|
||||||
|
summary_info += {'vhost-user-blk server support': have_vhost_user_blk_server}
|
||||||
summary_info += {'vhost-user-fs support': config_host.has_key('CONFIG_VHOST_USER_FS')}
|
summary_info += {'vhost-user-fs support': config_host.has_key('CONFIG_VHOST_USER_FS')}
|
||||||
summary_info += {'vhost-vdpa support': config_host.has_key('CONFIG_VHOST_VDPA')}
|
summary_info += {'vhost-vdpa support': config_host.has_key('CONFIG_VHOST_VDPA')}
|
||||||
summary_info += {'Trace backends': config_host['TRACE_BACKENDS']}
|
summary_info += {'Trace backends': config_host['TRACE_BACKENDS']}
|
||||||
|
@ -64,6 +64,8 @@ option('xkbcommon', type : 'feature', value : 'auto',
|
|||||||
description: 'xkbcommon support')
|
description: 'xkbcommon support')
|
||||||
option('virtiofsd', type: 'feature', value: 'auto',
|
option('virtiofsd', type: 'feature', value: 'auto',
|
||||||
description: 'build virtiofs daemon (virtiofsd)')
|
description: 'build virtiofs daemon (virtiofsd)')
|
||||||
|
option('vhost_user_blk_server', type: 'feature', value: 'auto',
|
||||||
|
description: 'build vhost-user-blk server')
|
||||||
|
|
||||||
option('capstone', type: 'combo', value: 'auto',
|
option('capstone', type: 'combo', value: 'auto',
|
||||||
choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
|
choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
|
||||||
|
Loading…
Reference in New Issue
Block a user