glusterfs: convert to meson
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
f9cd86fe72
commit
08821ca268
102
configure
vendored
102
configure
vendored
@ -414,13 +414,7 @@ crypto_afalg="no"
|
||||
cfi="false"
|
||||
cfi_debug="false"
|
||||
seccomp="$default_feature"
|
||||
glusterfs="$default_feature"
|
||||
glusterfs_xlator_opt="no"
|
||||
glusterfs_discard="no"
|
||||
glusterfs_fallocate="no"
|
||||
glusterfs_zerofill="no"
|
||||
glusterfs_ftruncate_has_stat="no"
|
||||
glusterfs_iocb_has_stat="no"
|
||||
glusterfs="auto"
|
||||
gtk="$default_feature"
|
||||
gtk_gl="no"
|
||||
tls_priority="NORMAL"
|
||||
@ -1365,7 +1359,7 @@ for opt do
|
||||
;;
|
||||
--disable-seccomp) seccomp="no"
|
||||
;;
|
||||
--disable-glusterfs) glusterfs="no"
|
||||
--disable-glusterfs) glusterfs="disabled"
|
||||
;;
|
||||
--disable-avx2) avx2_opt="no"
|
||||
;;
|
||||
@ -1376,7 +1370,7 @@ for opt do
|
||||
--enable-avx512f) avx512f_opt="yes"
|
||||
;;
|
||||
|
||||
--enable-glusterfs) glusterfs="yes"
|
||||
--enable-glusterfs) glusterfs="enabled"
|
||||
;;
|
||||
--disable-virtio-blk-data-plane|--enable-virtio-blk-data-plane)
|
||||
echo "$0: $opt is obsolete, virtio-blk data-plane is always on" >&2
|
||||
@ -3870,64 +3864,6 @@ if test "$libxml2" != "no" ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
##########################################
|
||||
# glusterfs probe
|
||||
if test "$glusterfs" != "no" ; then
|
||||
if $pkg_config --atleast-version=3 glusterfs-api; then
|
||||
glusterfs="yes"
|
||||
glusterfs_cflags=$($pkg_config --cflags glusterfs-api)
|
||||
glusterfs_libs=$($pkg_config --libs glusterfs-api)
|
||||
if $pkg_config --atleast-version=4 glusterfs-api; then
|
||||
glusterfs_xlator_opt="yes"
|
||||
fi
|
||||
if $pkg_config --atleast-version=5 glusterfs-api; then
|
||||
glusterfs_discard="yes"
|
||||
fi
|
||||
if $pkg_config --atleast-version=6 glusterfs-api; then
|
||||
glusterfs_fallocate="yes"
|
||||
glusterfs_zerofill="yes"
|
||||
fi
|
||||
cat > $TMPC << EOF
|
||||
#include <glusterfs/api/glfs.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/* new glfs_ftruncate() passes two additional args */
|
||||
return glfs_ftruncate(NULL, 0, NULL, NULL);
|
||||
}
|
||||
EOF
|
||||
if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then
|
||||
glusterfs_ftruncate_has_stat="yes"
|
||||
fi
|
||||
cat > $TMPC << EOF
|
||||
#include <glusterfs/api/glfs.h>
|
||||
|
||||
/* new glfs_io_cbk() passes two additional glfs_stat structs */
|
||||
static void
|
||||
glusterfs_iocb(glfs_fd_t *fd, ssize_t ret, struct glfs_stat *prestat, struct glfs_stat *poststat, void *data)
|
||||
{}
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
glfs_io_cbk iocb = &glusterfs_iocb;
|
||||
iocb(NULL, 0 , NULL, NULL, NULL);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then
|
||||
glusterfs_iocb_has_stat="yes"
|
||||
fi
|
||||
else
|
||||
if test "$glusterfs" = "yes" ; then
|
||||
feature_not_found "GlusterFS backend support" \
|
||||
"Install glusterfs-api devel >= 3"
|
||||
fi
|
||||
glusterfs="no"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check for inotify functions when we are building linux-user
|
||||
# emulator. This is done because older glibc versions don't
|
||||
# have syscall stubs for these implemented. In that case we
|
||||
@ -6414,36 +6350,6 @@ if test "$getauxval" = "yes" ; then
|
||||
echo "CONFIG_GETAUXVAL=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$glusterfs" = "yes" ; then
|
||||
echo "CONFIG_GLUSTERFS=y" >> $config_host_mak
|
||||
echo "GLUSTERFS_CFLAGS=$glusterfs_cflags" >> $config_host_mak
|
||||
echo "GLUSTERFS_LIBS=$glusterfs_libs" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$glusterfs_xlator_opt" = "yes" ; then
|
||||
echo "CONFIG_GLUSTERFS_XLATOR_OPT=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$glusterfs_discard" = "yes" ; then
|
||||
echo "CONFIG_GLUSTERFS_DISCARD=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$glusterfs_fallocate" = "yes" ; then
|
||||
echo "CONFIG_GLUSTERFS_FALLOCATE=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$glusterfs_zerofill" = "yes" ; then
|
||||
echo "CONFIG_GLUSTERFS_ZEROFILL=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$glusterfs_ftruncate_has_stat" = "yes" ; then
|
||||
echo "CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$glusterfs_iocb_has_stat" = "yes" ; then
|
||||
echo "CONFIG_GLUSTERFS_IOCB_HAS_STAT=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$libssh" = "yes" ; then
|
||||
echo "CONFIG_LIBSSH=y" >> $config_host_mak
|
||||
echo "LIBSSH_CFLAGS=$libssh_cflags" >> $config_host_mak
|
||||
@ -6923,7 +6829,7 @@ NINJA=$ninja $meson setup \
|
||||
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
|
||||
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
|
||||
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
|
||||
-Dcurl=$curl \
|
||||
-Dcurl=$curl -Dglusterfs=$glusterfs \
|
||||
-Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
|
||||
-Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \
|
||||
-Dvhost_user_blk_server=$vhost_user_blk_server \
|
||||
|
48
meson.build
48
meson.build
@ -617,9 +617,40 @@ if 'CONFIG_RBD' in config_host
|
||||
rbd = declare_dependency(link_args: config_host['RBD_LIBS'].split())
|
||||
endif
|
||||
glusterfs = not_found
|
||||
if 'CONFIG_GLUSTERFS' in config_host
|
||||
glusterfs = declare_dependency(compile_args: config_host['GLUSTERFS_CFLAGS'].split(),
|
||||
link_args: config_host['GLUSTERFS_LIBS'].split())
|
||||
glusterfs_ftruncate_has_stat = false
|
||||
glusterfs_iocb_has_stat = false
|
||||
if not get_option('glusterfs').auto() or have_block
|
||||
glusterfs = dependency('glusterfs-api', version: '>=3',
|
||||
required: get_option('glusterfs'),
|
||||
method: 'pkg-config', static: enable_static)
|
||||
if glusterfs.found()
|
||||
glusterfs_ftruncate_has_stat = cc.links('''
|
||||
#include <glusterfs/api/glfs.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/* new glfs_ftruncate() passes two additional args */
|
||||
return glfs_ftruncate(NULL, 0, NULL, NULL);
|
||||
}
|
||||
''', dependencies: glusterfs)
|
||||
glusterfs_iocb_has_stat = cc.links('''
|
||||
#include <glusterfs/api/glfs.h>
|
||||
|
||||
/* new glfs_io_cbk() passes two additional glfs_stat structs */
|
||||
static void
|
||||
glusterfs_iocb(glfs_fd_t *fd, ssize_t ret, struct glfs_stat *prestat, struct glfs_stat *poststat, void *data)
|
||||
{}
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
glfs_io_cbk iocb = &glusterfs_iocb;
|
||||
iocb(NULL, 0 , NULL, NULL, NULL);
|
||||
return 0;
|
||||
}
|
||||
''', dependencies: glusterfs)
|
||||
endif
|
||||
endif
|
||||
libssh = not_found
|
||||
if 'CONFIG_LIBSSH' in config_host
|
||||
@ -880,6 +911,15 @@ config_host_data.set('CONFIG_MPATH', mpathpersist.found())
|
||||
config_host_data.set('CONFIG_MPATH_NEW_API', mpathpersist_new_api)
|
||||
config_host_data.set('CONFIG_CURL', curl.found())
|
||||
config_host_data.set('CONFIG_CURSES', curses.found())
|
||||
config_host_data.set('CONFIG_GLUSTERFS', glusterfs.found())
|
||||
if glusterfs.found()
|
||||
config_host_data.set('CONFIG_GLUSTERFS_XLATOR_OPT', glusterfs.version().version_compare('>=4'))
|
||||
config_host_data.set('CONFIG_GLUSTERFS_DISCARD', glusterfs.version().version_compare('>=5'))
|
||||
config_host_data.set('CONFIG_GLUSTERFS_FALLOCATE', glusterfs.version().version_compare('>=6'))
|
||||
config_host_data.set('CONFIG_GLUSTERFS_ZEROFILL', glusterfs.version().version_compare('>=6'))
|
||||
config_host_data.set('CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT', glusterfs_ftruncate_has_stat)
|
||||
config_host_data.set('CONFIG_GLUSTERFS_IOCB_HAS_STAT', glusterfs_iocb_has_stat)
|
||||
endif
|
||||
config_host_data.set('CONFIG_SDL', sdl.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)
|
||||
@ -2257,7 +2297,7 @@ summary_info += {'coroutine pool': config_host['CONFIG_COROUTINE_POOL'] == '1
|
||||
summary_info += {'debug stack usage': config_host.has_key('CONFIG_DEBUG_STACK_USAGE')}
|
||||
summary_info += {'mutex debugging': config_host.has_key('CONFIG_DEBUG_MUTEX')}
|
||||
summary_info += {'crypto afalg': config_host.has_key('CONFIG_AF_ALG')}
|
||||
summary_info += {'GlusterFS support': config_host.has_key('CONFIG_GLUSTERFS')}
|
||||
summary_info += {'GlusterFS support': glusterfs.found()}
|
||||
summary_info += {'gcov': get_option('b_coverage')}
|
||||
summary_info += {'TPM support': config_host.has_key('CONFIG_TPM')}
|
||||
summary_info += {'libssh support': config_host.has_key('CONFIG_LIBSSH')}
|
||||
|
@ -46,6 +46,8 @@ option('cocoa', type : 'feature', value : 'auto',
|
||||
description: 'Cocoa user interface (macOS only)')
|
||||
option('curl', type : 'feature', value : 'auto',
|
||||
description: 'CURL block device driver')
|
||||
option('glusterfs', type : 'feature', value : 'auto',
|
||||
description: 'Glusterfs block device driver')
|
||||
option('mpath', type : 'feature', value : 'auto',
|
||||
description: 'Multipath persistent reservation passthrough')
|
||||
option('iconv', type : 'feature', value : 'auto',
|
||||
|
Loading…
Reference in New Issue
Block a user