configure: add --enable-libaio-uring parameter
[fio.git] / configure
index b174a6fc053e7a0d9876d97f423d5356b3ec96f4..59da2f7ecc1123215261a268b3c65697c7cd8b78 100755 (executable)
--- a/configure
+++ b/configure
@@ -150,6 +150,7 @@ disable_native="no"
 march_set="no"
 libiscsi="no"
 libnbd="no"
+libaio_uring="no"
 prefix=/usr/local
 
 # parse options
@@ -212,6 +213,8 @@ for opt do
   ;;
   --disable-tcmalloc) disable_tcmalloc="yes"
   ;;
+  --enable-libaio-uring) libaio_uring="yes"
+  ;;
   --help)
     show_help="yes"
     ;;
@@ -250,6 +253,7 @@ if test "$show_help" = "yes" ; then
   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
 
@@ -603,17 +607,23 @@ int main(void)
   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
@@ -2449,6 +2459,9 @@ if test "$zlib" = "yes" ; then
 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"