changeset 3113:e1e290965ed1

fail if no file aio was found
author Igor Sysoev <igor@sysoev.ru>
date Thu, 10 Sep 2009 12:08:30 +0000
parents 5ddc9458e4bb
children 1c4fcfe57af1
files auto/os/features
diffstat 1 files changed, 31 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/auto/os/features
+++ b/auto/os/features
@@ -277,6 +277,7 @@ fi
 
 
 if [ $NGX_FILE_AIO = YES ]; then
+
     ngx_feature="kqueue AIO support"
     ngx_feature_name="NGX_HAVE_FILE_AIO"
     ngx_feature_run=no
@@ -290,27 +291,35 @@ if [ $NGX_FILE_AIO = YES ]; then
 
     if [ $ngx_found = yes ]; then
         CORE_SRCS="$CORE_SRCS $FILE_AIO_SRCS"
+
+    elif [ $ngx_found = no ]; then
+
+        ngx_feature="Linux AIO support"
+        ngx_feature_name="NGX_HAVE_FILE_AIO"
+        ngx_feature_run=no
+        ngx_feature_incs="#include <linux/aio_abi.h>
+                          #include <sys/syscall.h>"
+        ngx_feature_path=
+        ngx_feature_libs=
+        ngx_feature_test="int  n = SYS_eventfd;
+                          struct iocb  iocb;
+                          iocb.aio_lio_opcode = IOCB_CMD_PREAD;
+                          iocb.aio_flags = IOCB_FLAG_RESFD;
+                          iocb.aio_resfd = -1;"
+        . auto/feature
+
+        if [ $ngx_found = yes ]; then
+            have=NGX_HAVE_EVENTFD . auto/have
+            CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS"
+
+        else
+            cat << END
+
+$0: no supported file AIO was found
+Currently file AIO is supported on FreeBSD 4.3+ and Linux 2.6.22+ only
+
+END
+           exit 1
+        fi
     fi
 fi
-
-
-if [ $NGX_FILE_AIO = YES ]; then
-    ngx_feature="Linux AIO support"
-    ngx_feature_name="NGX_HAVE_FILE_AIO"
-    ngx_feature_run=no
-    ngx_feature_incs="#include <linux/aio_abi.h>
-                      #include <sys/syscall.h>"
-    ngx_feature_path=
-    ngx_feature_libs=
-    ngx_feature_test="int  n = SYS_eventfd;
-                      struct iocb  iocb;
-                      iocb.aio_lio_opcode = IOCB_CMD_PREAD;
-                      iocb.aio_flags = IOCB_FLAG_RESFD;
-                      iocb.aio_resfd = -1;"
-    . auto/feature
-
-    if [ $ngx_found = yes ]; then
-        have=NGX_HAVE_EVENTFD . auto/have
-        CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS"
-    fi
-fi