}
compile_object() {
- do_cc $CFLAGS -c -o $TMPO $TMPC
+ do_cc $CFLAGS -Werror-implicit-function-declaration -c -o $TMPO $TMPC
}
compile_prog() {
local_cflags="$1"
local_ldflags="$2 $LIBS"
echo "Compiling test case $3" >> config.log
- do_cc $CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
+ do_cc $CFLAGS -Werror-implicit-function-declaration $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
}
feature_not_found() {
march_set="no"
libiscsi="no"
libnbd="no"
+libaio_uring="no"
prefix=/usr/local
# parse options
;;
--disable-tcmalloc) disable_tcmalloc="yes"
;;
+ --enable-libaio-uring) libaio_uring="yes"
+ ;;
--help)
show_help="yes"
;;
echo "--enable-libiscsi Enable iscsi support"
echo "--enable-libnbd Enable libnbd (NBD engine) support"
echo "--disable-tcmalloc Disable tcmalloc support"
+ echo "--enable-libaio-uring Enable libaio emulated over io_uring"
exit $exit_val
fi
return 0;
}
EOF
- if compile_prog "" "-laio" "libaio" ; then
+ if test "$libaio_uring" = "yes" && compile_prog "" "-luring" "libaio io_uring" ; then
+ libaio=yes
+ LIBS="-luring $LIBS"
+ elif compile_prog "" "-laio" "libaio" ; then
libaio=yes
+ libaio_uring=no
LIBS="-laio $LIBS"
else
if test "$libaio" = "yes" ; then
feature_not_found "linux AIO" "libaio-dev or libaio-devel"
fi
libaio=no
+ libaio_uring=no
fi
fi
print_config "Linux AIO support" "$libaio"
+print_config "Linux AIO over io_uring" "$libaio_uring"
##########################################
# posix aio probe
##########################################
# Check if we have libnbd (for NBD support).
-minimum_libnbd=0.9.6
+minimum_libnbd=0.9.8
if test "$libnbd" = "yes" ; then
if $(pkg-config --atleast-version=$minimum_libnbd libnbd); then
libnbd="yes"
fi
if test "$libaio" = "yes" ; then
output_sym "CONFIG_LIBAIO"
+ if test "$libaio_uring" = "yes" ; then
+ output_sym "CONFIG_LIBAIO_URING"
+ fi
fi
if test "$posix_aio" = "yes" ; then
output_sym "CONFIG_POSIXAIO"