Skip to content

Commit 53c22b6

Browse files
committed
configure, meson: convert liburing detection to meson
Reviewed-by: Daniel P. Berrangé <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
1 parent e36e8c7 commit 53c22b6

File tree

3 files changed

+11
-28
lines changed

3 files changed

+11
-28
lines changed

configure

+4-24
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ xen="$default_feature"
315315
xen_ctrl_version="$default_feature"
316316
xen_pci_passthrough="auto"
317317
linux_aio="$default_feature"
318-
linux_io_uring="$default_feature"
318+
linux_io_uring="auto"
319319
cap_ng="auto"
320320
attr="auto"
321321
xfs="$default_feature"
@@ -1205,9 +1205,9 @@ for opt do
12051205
;;
12061206
--enable-linux-aio) linux_aio="yes"
12071207
;;
1208-
--disable-linux-io-uring) linux_io_uring="no"
1208+
--disable-linux-io-uring) linux_io_uring="disabled"
12091209
;;
1210-
--enable-linux-io-uring) linux_io_uring="yes"
1210+
--enable-linux-io-uring) linux_io_uring="enabled"
12111211
;;
12121212
--disable-attr) attr="disabled"
12131213
;;
@@ -3334,21 +3334,6 @@ EOF
33343334
linux_aio=no
33353335
fi
33363336
fi
3337-
##########################################
3338-
# linux-io-uring probe
3339-
3340-
if test "$linux_io_uring" != "no" ; then
3341-
if $pkg_config liburing; then
3342-
linux_io_uring_cflags=$($pkg_config --cflags liburing)
3343-
linux_io_uring_libs=$($pkg_config --libs liburing)
3344-
linux_io_uring=yes
3345-
else
3346-
if test "$linux_io_uring" = "yes" ; then
3347-
feature_not_found "linux io_uring" "Install liburing devel"
3348-
fi
3349-
linux_io_uring=no
3350-
fi
3351-
fi
33523337

33533338
##########################################
33543339
# TPM emulation is only on POSIX
@@ -5421,11 +5406,6 @@ fi
54215406
if test "$linux_aio" = "yes" ; then
54225407
echo "CONFIG_LINUX_AIO=y" >> $config_host_mak
54235408
fi
5424-
if test "$linux_io_uring" = "yes" ; then
5425-
echo "CONFIG_LINUX_IO_URING=y" >> $config_host_mak
5426-
echo "LINUX_IO_URING_CFLAGS=$linux_io_uring_cflags" >> $config_host_mak
5427-
echo "LINUX_IO_URING_LIBS=$linux_io_uring_libs" >> $config_host_mak
5428-
fi
54295409
if test "$vhost_scsi" = "yes" ; then
54305410
echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak
54315411
fi
@@ -6071,7 +6051,7 @@ if test "$skip_meson" = no; then
60716051
-Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 -Dlibiscsi=$libiscsi \
60726052
-Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
60736053
-Drbd=$rbd -Dlzo=$lzo -Dsnappy=$snappy -Dlzfse=$lzfse \
6074-
-Dlibdaxctl=$libdaxctl -Dlibpmem=$libpmem \
6054+
-Dlibdaxctl=$libdaxctl -Dlibpmem=$libpmem -Dlinux_io_uring=$linux_io_uring \
60756055
-Dgnutls=$gnutls -Dnettle=$nettle -Dgcrypt=$gcrypt -Dauth_pam=$auth_pam \
60766056
-Dzstd=$zstd -Dseccomp=$seccomp -Dvirtfs=$virtfs -Dcap_ng=$cap_ng \
60776057
-Dattr=$attr -Ddefault_devices=$default_devices -Dvirglrenderer=$virglrenderer \

meson.build

+5-4
Original file line numberDiff line numberDiff line change
@@ -327,10 +327,11 @@ if have_system or have_tools
327327
endif
328328
libaio = cc.find_library('aio', required: false)
329329
zlib = dependency('zlib', required: true, kwargs: static_kwargs)
330+
330331
linux_io_uring = not_found
331-
if 'CONFIG_LINUX_IO_URING' in config_host
332-
linux_io_uring = declare_dependency(compile_args: config_host['LINUX_IO_URING_CFLAGS'].split(),
333-
link_args: config_host['LINUX_IO_URING_LIBS'].split())
332+
if not get_option('linux_io_uring').auto() or have_block
333+
linux_io_uring = dependency('liburing', required: get_option('linux_io_uring'),
334+
method: 'pkg-config', kwargs: static_kwargs)
334335
endif
335336
libxml2 = not_found
336337
if 'CONFIG_LIBXML2' in config_host
@@ -2785,7 +2786,7 @@ summary_info += {'brlapi support': brlapi.found()}
27852786
summary_info += {'vde support': config_host.has_key('CONFIG_VDE')}
27862787
summary_info += {'netmap support': config_host.has_key('CONFIG_NETMAP')}
27872788
summary_info += {'Linux AIO support': config_host.has_key('CONFIG_LINUX_AIO')}
2788-
summary_info += {'Linux io_uring support': config_host.has_key('CONFIG_LINUX_IO_URING')}
2789+
summary_info += {'Linux io_uring support': linux_io_uring.found()}
27892790
summary_info += {'ATTR/XATTR support': libattr.found()}
27902791
summary_info += {'RDMA support': config_host.has_key('CONFIG_RDMA')}
27912792
summary_info += {'PVRDMA support': config_host.has_key('CONFIG_PVRDMA')}

meson_options.txt

+2
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ option('libudev', type : 'feature', value : 'auto',
9292
description: 'Use libudev to enumerate host devices')
9393
option('libusb', type : 'feature', value : 'auto',
9494
description: 'libusb support for USB passthrough')
95+
option('linux_io_uring', type : 'feature', value : 'auto',
96+
description: 'Linux io_uring support')
9597
option('lzfse', type : 'feature', value : 'auto',
9698
description: 'lzfse support for DMG images')
9799
option('lzo', type : 'feature', value : 'auto',

0 commit comments

Comments
 (0)