This is an automated email from the ASF dual-hosted git repository.

tuhaihe pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit 3f4c6885752884565aff92c99c0f46c0072c8c90
Author: Dianjin Wang <[email protected]>
AuthorDate: Wed Aug 19 19:06:39 2026 +0800

    configure: regenerate for optional liburing dependency
    
    Regenerate the liburing probe in configure to match configure.ac after
    commit 1854534a63f ("macOS: make PAX's liburing dependency optional"),
    which wrapped the io_uring check in a per-host_os case so liburing is
    required only on Linux and optional elsewhere.
    
    The Darwin Python .dylib fallback is preserved: config/python.m4 was
    synced with configure in the preceding commit, so regenerating no longer
    drops that macOS fix.
---
 configure | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 55 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index 4af0eae3686..5e85f9056d4 100755
--- a/configure
+++ b/configure
@@ -9848,8 +9848,13 @@ $as_echo "#define HAVE_ZSTD 1" >>confdefs.h
 
 fi
 
-  # Check liburing
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for io_uring_queue_init in 
-luring" >&5
+  # Check liburing. liburing is Linux-only (io_uring kernel iface, 5.1+).
+  # On Linux it is required as before; on non-Linux hosts (macOS / *BSD)
+  # PAX falls back to pread-based SyncFastIO and the IOUringFastIO path
+  # is conditionally compiled — see contrib/pax_storage/src/cpp/comm/fast_io.*
+  case $host_os in
+    linux*)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
io_uring_queue_init in -luring" >&5
 $as_echo_n "checking for io_uring_queue_init in -luring... " >&6; }
 if ${ac_cv_lib_uring_io_uring_queue_init+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -9893,18 +9898,58 @@ _ACEOF
   LIBS="-luring $LIBS"
 
 else
-  # liburing is required on Linux (io_uring is a Linux 5.1+ kernel iface);
-  # on non-Linux hosts PAX falls back to pread-based SyncFastIO.
-  case $host_os in
-    linux*)
-      as_fn_error $? "library 'uring' is required for PAX support on Linux" 
"$LINENO" 5
+  as_fn_error $? "library 'uring' is required for PAX support on Linux" 
"$LINENO" 5
+fi
+
       ;;
     *)
-      :
-      ;;
-  esac
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 
io_uring_queue_init in -luring" >&5
+$as_echo_n "checking for io_uring_queue_init in -luring... " >&6; }
+if ${ac_cv_lib_uring_io_uring_queue_init+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-luring  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char io_uring_queue_init ();
+int
+main ()
+{
+return io_uring_queue_init ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_uring_io_uring_queue_init=yes
+else
+  ac_cv_lib_uring_io_uring_queue_init=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 
$ac_cv_lib_uring_io_uring_queue_init" >&5
+$as_echo "$ac_cv_lib_uring_io_uring_queue_init" >&6; }
+if test "x$ac_cv_lib_uring_io_uring_queue_init" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBURING 1
+_ACEOF
 
+  LIBS="-luring $LIBS"
+
+fi
+
+      ;;
+  esac
 
   # Check cmake >= 3.11.0 using AX_COMPARE_VERSION
   # Extract the first word of "cmake", so it can be a program name with args.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to