rbd: convert to meson

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2020-11-17 13:11:25 +01:00
parent 30045c054f
commit fabd1e93d9
3 changed files with 25 additions and 33 deletions

34
configure vendored
View File

@ -383,7 +383,7 @@ qom_cast_debug="yes"
trace_backends="log" trace_backends="log"
trace_file="trace" trace_file="trace"
spice="$default_feature" spice="$default_feature"
rbd="$default_feature" rbd="auto"
smartcard="$default_feature" smartcard="$default_feature"
u2f="auto" u2f="auto"
libusb="$default_feature" libusb="$default_feature"
@ -1285,9 +1285,9 @@ for opt do
;; ;;
--enable-opengl) opengl="yes" --enable-opengl) opengl="yes"
;; ;;
--disable-rbd) rbd="no" --disable-rbd) rbd="disabled"
;; ;;
--enable-rbd) rbd="yes" --enable-rbd) rbd="enabled"
;; ;;
--disable-xfsctl) xfs="no" --disable-xfsctl) xfs="no"
;; ;;
@ -3606,29 +3606,6 @@ if compile_prog "" "$pthread_lib" ; then
pthread_setname_np_wo_tid=yes pthread_setname_np_wo_tid=yes
fi fi
##########################################
# rbd probe
if test "$rbd" != "no" ; then
cat > $TMPC <<EOF
#include <stdio.h>
#include <rbd/librbd.h>
int main(void) {
rados_t cluster;
rados_create(&cluster, NULL);
return 0;
}
EOF
rbd_libs="-lrbd -lrados"
if compile_prog "" "$rbd_libs" ; then
rbd=yes
else
if test "$rbd" = "yes" ; then
feature_not_found "rados block device" "Install librbd/ceph devel"
fi
rbd=no
fi
fi
########################################## ##########################################
# libssh probe # libssh probe
if test "$libssh" != "no" ; then if test "$libssh" != "no" ; then
@ -6215,10 +6192,6 @@ fi
if test "$qom_cast_debug" = "yes" ; then if test "$qom_cast_debug" = "yes" ; then
echo "CONFIG_QOM_CAST_DEBUG=y" >> $config_host_mak echo "CONFIG_QOM_CAST_DEBUG=y" >> $config_host_mak
fi fi
if test "$rbd" = "yes" ; then
echo "CONFIG_RBD=y" >> $config_host_mak
echo "RBD_LIBS=$rbd_libs" >> $config_host_mak
fi
echo "CONFIG_COROUTINE_BACKEND=$coroutine" >> $config_host_mak echo "CONFIG_COROUTINE_BACKEND=$coroutine" >> $config_host_mak
if test "$coroutine_pool" = "yes" ; then if test "$coroutine_pool" = "yes" ; then
@ -6768,6 +6741,7 @@ NINJA=$ninja $meson setup \
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \ -Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
-Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 -Dlibiscsi=$libiscsi \ -Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 -Dlibiscsi=$libiscsi \
-Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\ -Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
-Drbd=$rbd \
-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 \ -Dvhost_user_blk_server=$vhost_user_blk_server \
-Dfuse=$fuse -Dfuse_lseek=$fuse_lseek \ -Dfuse=$fuse -Dfuse_lseek=$fuse_lseek \

View File

@ -616,9 +616,24 @@ else
endif endif
rbd = not_found rbd = not_found
if 'CONFIG_RBD' in config_host if not get_option('rbd').auto() or have_block
rbd = declare_dependency(link_args: config_host['RBD_LIBS'].split()) librados = cc.find_library('rados', required: get_option('rbd'),
static: enable_static)
librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'],
required: get_option('rbd'),
static: enable_static)
if librados.found() and librbd.found() and cc.links('''
#include <stdio.h>
#include <rbd/librbd.h>
int main(void) {
rados_t cluster;
rados_create(&cluster, NULL);
return 0;
}''', dependencies: [librbd, librados])
rbd = declare_dependency(dependencies: [librbd, librados])
endif
endif endif
glusterfs = not_found glusterfs = not_found
glusterfs_ftruncate_has_stat = false glusterfs_ftruncate_has_stat = false
glusterfs_iocb_has_stat = false glusterfs_iocb_has_stat = false
@ -937,6 +952,7 @@ if glusterfs.found()
endif endif
config_host_data.set('CONFIG_LIBISCSI', libiscsi.found()) config_host_data.set('CONFIG_LIBISCSI', libiscsi.found())
config_host_data.set('CONFIG_LIBNFS', libnfs.found()) config_host_data.set('CONFIG_LIBNFS', libnfs.found())
config_host_data.set('CONFIG_RBD', rbd.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_VHOST_USER_BLK_SERVER', have_vhost_user_blk_server)
@ -2287,7 +2303,7 @@ if config_host['TRACE_BACKENDS'].split().contains('simple')
endif endif
# TODO: add back protocol and server version # TODO: add back protocol and server version
summary_info += {'spice support': config_host.has_key('CONFIG_SPICE')} summary_info += {'spice support': config_host.has_key('CONFIG_SPICE')}
summary_info += {'rbd support': config_host.has_key('CONFIG_RBD')} summary_info += {'rbd support': rbd.found()}
summary_info += {'xfsctl support': config_host.has_key('CONFIG_XFS')} summary_info += {'xfsctl support': config_host.has_key('CONFIG_XFS')}
summary_info += {'smartcard support': config_host.has_key('CONFIG_SMARTCARD')} summary_info += {'smartcard support': config_host.has_key('CONFIG_SMARTCARD')}
summary_info += {'U2F support': u2f.found()} summary_info += {'U2F support': u2f.found()}

View File

@ -62,6 +62,8 @@ option('curses', type : 'feature', value : 'auto',
description: 'curses UI') description: 'curses UI')
option('libudev', type : 'feature', value : 'auto', option('libudev', type : 'feature', value : 'auto',
description: 'Use libudev to enumerate host devices') description: 'Use libudev to enumerate host devices')
option('rbd', type : 'feature', value : 'auto',
description: 'Ceph block device driver')
option('sdl', type : 'feature', value : 'auto', option('sdl', type : 'feature', value : 'auto',
description: 'SDL user interface') description: 'SDL user interface')
option('sdl_image', type : 'feature', value : 'auto', option('sdl_image', type : 'feature', value : 'auto',