blob: 6fcd7647b3b4fa6ba659917f6f5928e4fc4e5bec [file] [log] [blame]
Igor Sysoevc0f8d912003-11-26 15:42:18 +00001
2CORE_INCS="$UNIX_INCS"
3CORE_DEPS="$UNIX_DEPS $LINUX_DEPS"
Igor Sysoev25b36fe2004-02-03 16:43:54 +00004CORE_SRCS="$UNIX_SRCS $LINUX_SRCS"
5EVENT_MODULES="$EVENT_MODULES"
Igor Sysoevc0f8d912003-11-26 15:42:18 +00006
Igor Sysoev6bb889f2004-03-11 15:42:41 +00007PIPE="-pipe"
Igor Sysoev24b56c92004-03-10 17:55:19 +00008
Igor Sysoevc0f8d912003-11-26 15:42:18 +00009
Igor Sysoeva4b16df2004-02-02 21:19:52 +000010CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
Igor Sysoevc0f8d912003-11-26 15:42:18 +000011
Igor Sysoev0ed19cc2004-06-10 18:36:57 +000012# Linux kernel version
13
14version=`grep "#define LINUX_VERSION_CODE" /usr/include/linux/version.h \
15 | sed -e 's/^.* \(.*\)$/\1/'`
16
17
18# enable rt signals on Linux 2.4.x
19
20if [ $version -ge 132096 -o $EVENT_RTSIG = YES ]; then
21 echo " + using rt signals"
22 have=HAVE_RTSIG . auto/have
23 EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
24 CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
25 EVENT_FOUND=YES
26fi
27
Igor Sysoev10318a22004-01-29 21:45:01 +000028
Igor Sysoeva4b16df2004-02-02 21:19:52 +000029# epoll, EPOLLET version
30
31ngx_func="epoll";
32ngx_func_inc="#include <sys/epoll.h>"
Igor Sysoev7af6b162004-02-09 07:46:43 +000033ngx_func_test="int efd = 0, fd = 1, n;
Igor Sysoeva4b16df2004-02-02 21:19:52 +000034 struct epoll_event ee;
35 ee.events = EPOLLIN|EPOLLOUT|EPOLLET;
36 ee.data.ptr = NULL;
37 n = epoll_ctl(efd, EPOLL_CTL_ADD, fd, &ee)"
38. auto/func
39
40if [ $ngx_found = yes ]; then
Igor Sysoev7af6b162004-02-09 07:46:43 +000041 have=HAVE_EPOLL . auto/have
Igor Sysoev7b6062a2004-02-12 20:57:10 +000042 have=HAVE_CLEAR_EVENT . auto/have
Igor Sysoev10318a22004-01-29 21:45:01 +000043 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
Igor Sysoeva4b16df2004-02-02 21:19:52 +000044 EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
45 EVENT_FOUND=YES
Igor Sysoev10318a22004-01-29 21:45:01 +000046fi
47
48
Igor Sysoeva4b16df2004-02-02 21:19:52 +000049# sendfile()
50
51CC_TEST_FLAGS="-D_GNU_SOURCE"
52ngx_func="sendfile()";
53ngx_func_inc="#include <sys/sendfile.h>"
54ngx_func_test="int s = 0, fd = 1;
55 ssize_t n; off_t off = 0;
56 n = sendfile(s, fd, &off, 1)"
57. auto/func
58
59if [ $ngx_found = yes ]; then
Igor Sysoeva4b16df2004-02-02 21:19:52 +000060 CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS"
61fi
62
63
64# sendfile64()
Igor Sysoevc0f8d912003-11-26 15:42:18 +000065
Igor Sysoev764543e2003-11-27 19:01:37 +000066CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
Igor Sysoeva4b16df2004-02-02 21:19:52 +000067ngx_func="sendfile64()"; . auto/func
Igor Sysoevc0f8d912003-11-26 15:42:18 +000068
Igor Sysoev7af6b162004-02-09 07:46:43 +000069
70# prctl(PR_SET_DUMPABLE)
71
72ngx_func="prctl()";
73ngx_func_inc="#include <sys/prctl.h>"
74ngx_func_test="prctl(PR_SET_DUMPABLE, 1, 0, 0, 0)"
75. auto/func
76
Igor Sysoeva4b16df2004-02-02 21:19:52 +000077if [ $ngx_found = yes ]; then
Igor Sysoev7af6b162004-02-09 07:46:43 +000078 have=HAVE_PR_SET_DUMPABLE . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +000079fi