Skip to content

Commit e0a2bef

Browse files
committed
Optimize config.m4. Iouring feature support must detect both the liburing version and the linux kernel version
1 parent 36b9af2 commit e0a2bef

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

config.m4

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,6 @@ AC_DEFUN([AC_SWOOLE_HAVE_FUTEX],
222222
[
223223
AC_MSG_CHECKING([for futex])
224224
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
225-
#include <linux/futex.h>
226225
#include <syscall.h>
227226
#include <unistd.h>
228227
]], [[
@@ -1059,8 +1058,19 @@ EOF
10591058
PKG_CHECK_MODULES([URING], [liburing >= 2.0])
10601059

10611060
AC_SWOOLE_HAVE_IOURING_STATX
1062-
AC_SWOOLE_HAVE_IOURING_FUTEX
1063-
AC_SWOOLE_HAVE_IOURING_FTRUNCATE
1061+
1062+
KERNEL_MAJOR=`uname -r | awk -F '.' '{print $1}'`
1063+
KERNEL_MINOR=`uname -r | awk -F '.' '{print $2}'`
1064+
1065+
if (test $KERNEL_MAJOR -eq 6 && test $KERNEL_MINOR -ge 9); then
1066+
dnl IORING_OP_FTRUNCATE is available since 6.9
1067+
AC_SWOOLE_HAVE_IOURING_FTRUNCATE
1068+
fi
1069+
1070+
if (test $KERNEL_MAJOR -eq 6 && test $KERNEL_MINOR -ge 7); then
1071+
dnl IORING_OP_FUTEX_WAKE/IORING_OP_FUTEX_WAIT is available since 6.7
1072+
AC_SWOOLE_HAVE_IOURING_FUTEX
1073+
fi
10641074

10651075
PHP_EVAL_LIBLINE($URING_LIBS, SWOOLE_SHARED_LIBADD)
10661076
PHP_EVAL_INCLINE($URING_CFLAGS)

0 commit comments

Comments
 (0)