comparison auto/os/linux @ 4:4b2dafa26fe2 NGINX_0_1_2

nginx 0.1.2 *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. *) Feature: the server_name directive supports *.domain.tld. *) Bugfix: the portability improvements. *) Bugfix: if configuration file was set in command line, the reconfiguration was impossible; bug appeared in 0.1.1. *) Bugfix: proxy module may get caught in an endless loop when sendfile is not used. *) Bugfix: with sendfile the response was not recoded according to the charset module directives; bug appeared in 0.1.1. *) Bugfix: very seldom bug in the kqueue processing. *) Bugfix: the gzip module compressed the proxied responses that was already compressed.
author Igor Sysoev <http://sysoev.ru>
date Thu, 21 Oct 2004 00:00:00 +0400
parents f0b350454894
children 46833bd150cb
comparison
equal deleted inserted replaced
3:8beaf7b3241f 4:4b2dafa26fe2
1 1
2 # Copyright (C) Igor Sysoev 2 # Copyright (C) Igor Sysoev
3 3
4
5 cat << END >> $NGX_AUTO_HEADERS_H
6
7 #ifndef NGX_LINUX
8 #define NGX_LINUX 1
9 #endif
10
11 END
4 12
5 CORE_INCS="$UNIX_INCS" 13 CORE_INCS="$UNIX_INCS"
6 CORE_DEPS="$UNIX_DEPS $LINUX_DEPS" 14 CORE_DEPS="$UNIX_DEPS $LINUX_DEPS"
7 CORE_SRCS="$UNIX_SRCS $LINUX_SRCS" 15 CORE_SRCS="$UNIX_SRCS $LINUX_SRCS"
8 EVENT_MODULES="$EVENT_MODULES" 16 EVENT_MODULES="$EVENT_MODULES"
9 17
10 PIPE="-pipe" 18 ngx_spacer='
19 '
11 20
12 21 CC_AUX_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
13 CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
14 22
15 # Linux kernel version 23 # Linux kernel version
16 24
17 version=`grep "#define LINUX_VERSION_CODE" /usr/include/linux/version.h \ 25 version=`grep "#define LINUX_VERSION_CODE" /usr/include/linux/version.h \
18 | sed -e 's/^.* \(.*\)$/\1/'` 26 | sed -e 's/^.* \(.*\)$/\1/'`
29 fi 37 fi
30 38
31 39
32 # epoll, EPOLLET version 40 # epoll, EPOLLET version
33 41
34 ngx_func="epoll"; 42 ngx_feature="epoll"
35 ngx_func_inc="#include <sys/epoll.h>" 43 ngx_feature_name="epoll"
36 ngx_func_test="int efd = 0, fd = 1, n; 44 ngx_feature_run=yes
37 struct epoll_event ee; 45 ngx_feature_incs="#include <sys/epoll.h>"
38 ee.events = EPOLLIN|EPOLLOUT|EPOLLET; 46 ngx_feature_libs=
39 ee.data.ptr = NULL; 47 ngx_feature_test="int efd = 0, fd = 1, n;
40 n = epoll_ctl(efd, EPOLL_CTL_ADD, fd, &ee)" 48 struct epoll_event ee;
41 . auto/func 49 ee.events = EPOLLIN|EPOLLOUT|EPOLLET;
50 ee.data.ptr = NULL;
51 efd = epoll_create(100);
52 if (efd == -1) return 1;"
53 . auto/feature
42 54
43 if [ $ngx_found = yes ]; then 55 if [ $ngx_found = yes ]; then
44 have=HAVE_EPOLL . auto/have 56 have=HAVE_EPOLL . auto/have
45 have=HAVE_CLEAR_EVENT . auto/have 57 have=HAVE_CLEAR_EVENT . auto/have
46 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS" 58 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
49 fi 61 fi
50 62
51 63
52 # sendfile() 64 # sendfile()
53 65
54 CC_TEST_FLAGS="-D_GNU_SOURCE" 66 CC_AUX_FLAGS="-D_GNU_SOURCE"
55 ngx_func="sendfile()"; 67 ngx_feature="sendfile()"
56 ngx_func_inc="#include <sys/sendfile.h>" 68 ngx_feature_name="sendfile"
57 ngx_func_test="int s = 0, fd = 1; 69 ngx_feature_run=no
58 ssize_t n; off_t off = 0; 70 ngx_feature_incs="#include <sys/sendfile.h>"
59 n = sendfile(s, fd, &off, 1)" 71 ngx_feature_libs=
60 . auto/func 72 ngx_feature_test="int s = 0, fd = 1;
73 ssize_t n; off_t off = 0;
74 n = sendfile(s, fd, &off, 1)"
75 . auto/feature
61 76
62 if [ $ngx_found = yes ]; then 77 if [ $ngx_found = yes ]; then
63 CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS" 78 CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS"
64 fi 79 fi
65 80
66 81
67 # sendfile64() 82 # sendfile64()
68 83
69 CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" 84 CC_AUX_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
70 ngx_func="sendfile64()"; . auto/func 85 ngx_feature="sendfile64()"
86 ngx_feature_name="HAVE_SENDFILE64"
87 ngx_feature_run=no
88 ngx_feature_incs="#include <sys/sendfile.h>"
89 ngx_feature_libs=
90 ngx_feature_test="int s = 0, fd = 1;
91 ssize_t n; off_t off = 0;
92 n = sendfile(s, fd, &off, 1)"
93 . auto/feature
71 94
95
96 ngx_include="sys/prctl.h"; . auto/include
72 97
73 # prctl(PR_SET_DUMPABLE) 98 # prctl(PR_SET_DUMPABLE)
74 99
75 ngx_func="prctl()"; 100 ngx_feature="prctl(PR_SET_DUMPABLE)"
76 ngx_func_inc="#include <sys/prctl.h>" 101 ngx_feature_name="HAVE_PR_SET_DUMPABLE"
77 ngx_func_test="prctl(PR_SET_DUMPABLE, 1, 0, 0, 0)" 102 ngx_feature_run=yes
78 . auto/func 103 ngx_feature_incs="#include <sys/prctl.h>"
79 104 ngx_feature_libs=
80 if [ $ngx_found = yes ]; then 105 ngx_feature_test="if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) == -1) return 1"
81 have=HAVE_PR_SET_DUMPABLE . auto/have 106 . auto/feature
82 fi