Igor Sysoev | c0f8d91 | 2003-11-26 15:42:18 +0000 | [diff] [blame] | 1 | |
| 2 | CORE_INCS="$UNIX_INCS" |
| 3 | CORE_DEPS="$UNIX_DEPS $LINUX_DEPS" |
Igor Sysoev | 25b36fe | 2004-02-03 16:43:54 +0000 | [diff] [blame] | 4 | CORE_SRCS="$UNIX_SRCS $LINUX_SRCS" |
| 5 | EVENT_MODULES="$EVENT_MODULES" |
Igor Sysoev | c0f8d91 | 2003-11-26 15:42:18 +0000 | [diff] [blame] | 6 | |
Igor Sysoev | 6bb889f | 2004-03-11 15:42:41 +0000 | [diff] [blame] | 7 | PIPE="-pipe" |
Igor Sysoev | 24b56c9 | 2004-03-10 17:55:19 +0000 | [diff] [blame] | 8 | |
Igor Sysoev | c0f8d91 | 2003-11-26 15:42:18 +0000 | [diff] [blame] | 9 | |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 10 | CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" |
Igor Sysoev | c0f8d91 | 2003-11-26 15:42:18 +0000 | [diff] [blame] | 11 | |
Igor Sysoev | 0ed19cc | 2004-06-10 18:36:57 +0000 | [diff] [blame^] | 12 | # Linux kernel version |
| 13 | |
| 14 | version=`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 | |
| 20 | if [ $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 |
| 26 | fi |
| 27 | |
Igor Sysoev | 10318a2 | 2004-01-29 21:45:01 +0000 | [diff] [blame] | 28 | |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 29 | # epoll, EPOLLET version |
| 30 | |
| 31 | ngx_func="epoll"; |
| 32 | ngx_func_inc="#include <sys/epoll.h>" |
Igor Sysoev | 7af6b16 | 2004-02-09 07:46:43 +0000 | [diff] [blame] | 33 | ngx_func_test="int efd = 0, fd = 1, n; |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 34 | 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 | |
| 40 | if [ $ngx_found = yes ]; then |
Igor Sysoev | 7af6b16 | 2004-02-09 07:46:43 +0000 | [diff] [blame] | 41 | have=HAVE_EPOLL . auto/have |
Igor Sysoev | 7b6062a | 2004-02-12 20:57:10 +0000 | [diff] [blame] | 42 | have=HAVE_CLEAR_EVENT . auto/have |
Igor Sysoev | 10318a2 | 2004-01-29 21:45:01 +0000 | [diff] [blame] | 43 | CORE_SRCS="$CORE_SRCS $EPOLL_SRCS" |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 44 | EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE" |
| 45 | EVENT_FOUND=YES |
Igor Sysoev | 10318a2 | 2004-01-29 21:45:01 +0000 | [diff] [blame] | 46 | fi |
| 47 | |
| 48 | |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 49 | # sendfile() |
| 50 | |
| 51 | CC_TEST_FLAGS="-D_GNU_SOURCE" |
| 52 | ngx_func="sendfile()"; |
| 53 | ngx_func_inc="#include <sys/sendfile.h>" |
| 54 | ngx_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 | |
| 59 | if [ $ngx_found = yes ]; then |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 60 | CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS" |
| 61 | fi |
| 62 | |
| 63 | |
| 64 | # sendfile64() |
Igor Sysoev | c0f8d91 | 2003-11-26 15:42:18 +0000 | [diff] [blame] | 65 | |
Igor Sysoev | 764543e | 2003-11-27 19:01:37 +0000 | [diff] [blame] | 66 | CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 67 | ngx_func="sendfile64()"; . auto/func |
Igor Sysoev | c0f8d91 | 2003-11-26 15:42:18 +0000 | [diff] [blame] | 68 | |
Igor Sysoev | 7af6b16 | 2004-02-09 07:46:43 +0000 | [diff] [blame] | 69 | |
| 70 | # prctl(PR_SET_DUMPABLE) |
| 71 | |
| 72 | ngx_func="prctl()"; |
| 73 | ngx_func_inc="#include <sys/prctl.h>" |
| 74 | ngx_func_test="prctl(PR_SET_DUMPABLE, 1, 0, 0, 0)" |
| 75 | . auto/func |
| 76 | |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 77 | if [ $ngx_found = yes ]; then |
Igor Sysoev | 7af6b16 | 2004-02-09 07:46:43 +0000 | [diff] [blame] | 78 | have=HAVE_PR_SET_DUMPABLE . auto/have |
Igor Sysoev | a4b16df | 2004-02-02 21:19:52 +0000 | [diff] [blame] | 79 | fi |