annotate auto/unix @ 624:d4da38525468 NGINX_1_0_2

nginx 1.0.2 *) Feature: now shared zones and caches use POSIX semaphores. *) Bugfix: in the "rotate" parameter of the "image_filter" directive. Thanks to Adam Bocim. *) Bugfix: nginx could not be built on Solaris; the bug had appeared in 1.0.1.
author Igor Sysoev <http://sysoev.ru>
date Tue, 10 May 2011 00:00:00 +0400
parents 8dc007eddbcf
children 83b58b182b76
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4
28
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
5 have=NGX_HAVE_UNIX_DOMAIN . auto/have
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
6
132
91372f004adf nginx 0.3.13
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
7 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8
42
41ccba1aba45 nginx 0.1.21
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
9
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10 # C types
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
11
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12 ngx_type="int"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14 ngx_type="long"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
15
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
16 ngx_type="long long"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
17
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18 ngx_type="void *"; . auto/types/sizeof; ngx_ptr_size=$ngx_size
42
41ccba1aba45 nginx 0.1.21
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
19 ngx_param=NGX_PTR_SIZE; ngx_value=$ngx_size; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 # POSIX types
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23
214
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
24 case "$NGX_AUTO_CONFIG_H" in
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
25 /*)
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
26 NGX_INCLUDE_AUTO_CONFIG_H="#include \"$NGX_AUTO_CONFIG_H\""
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
27 ;;
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
28 *)
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
29 NGX_INCLUDE_AUTO_CONFIG_H="#include \"../$NGX_AUTO_CONFIG_H\""
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
30 ;;
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
31 esac
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
32
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
33 ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35 ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
36 . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
37 ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
38
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
39 ngx_type="socklen_t"; ngx_types="int"; . auto/types/typedef
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
40
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41 ngx_type="in_addr_t"; ngx_types="uint32_t"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
43 ngx_type="in_port_t"; ngx_types="u_short"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
44
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
45 ngx_type="rlim_t"; ngx_types="int"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
46
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47 . auto/types/uintptr_t
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 . auto/endianess
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
51 ngx_type="size_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
52 ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
53 ngx_param=NGX_SIZE_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
54
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
55 ngx_type="off_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
56 ngx_param=NGX_MAX_OFF_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
57 ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
58
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
59 ngx_type="time_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
60 ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
61 ngx_param=NGX_TIME_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
62
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
64 # syscalls, libc calls and some features
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
65
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
66
448
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
67 if [ $NGX_IPV6 = YES ]; then
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
68 ngx_feature="AF_INET6"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
69 ngx_feature_name="NGX_HAVE_INET6"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
70 ngx_feature_run=no
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
71 ngx_feature_incs="#include <sys/socket.h>
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
72 #include <netinet/in.h>
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
73 #include <arpa/inet.h>"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
74 ngx_feature_path=
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
75 ngx_feature_libs=
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
76 ngx_feature_test="struct sockaddr_in6 sin6;
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
77 sin6.sin6_family = AF_INET6;"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
78 . auto/feature
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
79 fi
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
80
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
81
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
82 ngx_feature="setproctitle()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
83 ngx_feature_name="NGX_HAVE_SETPROCTITLE"
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
84 ngx_feature_run=no
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
85 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
86 ngx_feature_path=
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 42
diff changeset
87 ngx_feature_libs=$NGX_SETPROCTITLE_LIB
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
88 ngx_feature_test="setproctitle(\"test\");"
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
89 . auto/feature
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
90
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
91
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
92 ngx_feature="pread()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
93 ngx_feature_name="NGX_HAVE_PREAD"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
94 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
95 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
96 ngx_feature_path=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
97 ngx_feature_libs=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
98 ngx_feature_test="char buf[1]; ssize_t n; n = pread(0, buf, 1, 0)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
99 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
100
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
101
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
102 ngx_feature="pwrite()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
103 ngx_feature_name="NGX_HAVE_PWRITE"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
104 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
105 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
106 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
107 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
108 ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
109 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
110
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
111
604
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
112 ngx_feature="sys_nerr"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
113 ngx_feature_name="NGX_SYS_NERR"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
114 ngx_feature_run=value
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
115 ngx_feature_incs='#include <stdio.h>'
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
116 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
117 ngx_feature_libs=
604
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
118 ngx_feature_test='printf("%d", sys_nerr);'
566
be4f34123024 nginx 0.8.35
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
119 . auto/feature
be4f34123024 nginx 0.8.35
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
120
be4f34123024 nginx 0.8.35
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
121
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
122 if [ $ngx_found = no ]; then
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
123
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
124 # Cygiwn defines _sys_nerr
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
125 ngx_feature="_sys_nerr"
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
126 ngx_feature_name="NGX_SYS_NERR"
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
127 ngx_feature_run=value
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
128 ngx_feature_incs='#include <errno.h>
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
129 #include <stdio.h>'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
130 ngx_feature_path=
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
131 ngx_feature_libs=
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
132 ngx_feature_test='printf("%d", _sys_nerr);'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
133 . auto/feature
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
134 fi
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
135
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
136
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
137 if [ $ngx_found = no ]; then
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
138
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
139 # Solaris has no sys_nerr
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
140 ngx_feature='maximum errno'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
141 ngx_feature_name=NGX_SYS_NERR
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
142 ngx_feature_run=value
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
143 ngx_feature_incs='#include <errno.h>
624
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
144 #include <string.h>
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
145 #include <stdio.h>'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
146 ngx_feature_path=
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
147 ngx_feature_libs=
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
148 ngx_feature_test='int n;
622
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
149 char *p;
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
150 for (n = 1; n < 1000; n++) {
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
151 errno = 0;
622
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
152 p = strerror(n);
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
153 if (errno == EINVAL
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
154 || p == NULL
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
155 || strncmp(p, "Unknown error", 13) == 0)
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
156 {
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
157 printf("%d", n);
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
158 return 0;
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
159 }
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
160 }'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
161 . auto/feature
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
162 fi
608
3036c1836a24 nginx 0.9.2
Igor Sysoev <http://sysoev.ru>
parents: 604
diff changeset
163
3036c1836a24 nginx 0.9.2
Igor Sysoev <http://sysoev.ru>
parents: 604
diff changeset
164
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
165 ngx_feature="localtime_r()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
166 ngx_feature_name="NGX_HAVE_LOCALTIME_R"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
167 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
168 ngx_feature_incs="#include <time.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
169 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
170 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
171 ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
172 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
173
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
174
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
175 ngx_feature="posix_memalign()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
176 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
177 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
178 ngx_feature_incs="#include <stdlib.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
179 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
180 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
181 ngx_feature_test="void *p; int n; n = posix_memalign(&p, 4096, 4096)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
182 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
183
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
184
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
185 ngx_feature="memalign()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
186 ngx_feature_name="NGX_HAVE_MEMALIGN"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
187 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
188 ngx_feature_incs="#include <stdlib.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
189 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
190 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
191 ngx_feature_test="void *p; p = memalign(4096, 4096)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
192 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
193
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
194
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
195 ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
196 ngx_feature_name="NGX_HAVE_MAP_ANON"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
197 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
198 ngx_feature_incs="#include <sys/mman.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
199 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
200 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
201 ngx_feature_test="void *p;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
202 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
203 MAP_ANON|MAP_SHARED, -1, 0);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
204 if (p == MAP_FAILED) return 1;"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
205 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
206
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
207
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
208 ngx_feature='mmap("/dev/zero", MAP_SHARED)'
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
209 ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
210 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
211 ngx_feature_incs="#include <sys/mman.h>
466
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 448
diff changeset
212 #include <sys/stat.h>
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 448
diff changeset
213 #include <fcntl.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
214 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
215 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
216 ngx_feature_test='void *p; int fd;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
217 fd = open("/dev/zero", O_RDWR);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
218 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
219 if (p == MAP_FAILED) return 1;'
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
220 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
221
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
222
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
223 ngx_feature="System V shared memory"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
224 ngx_feature_name="NGX_HAVE_SYSVSHM"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
225 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
226 ngx_feature_incs="#include <sys/ipc.h>
466
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 448
diff changeset
227 #include <sys/shm.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
228 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
229 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
230 ngx_feature_test="int id;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
231 id = shmget(IPC_PRIVATE, 4096, (SHM_R|SHM_W|IPC_CREAT));
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
232 if (id == -1) return 1;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
233 shmctl(id, IPC_RMID, NULL);"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
234 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
235
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
236
624
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
237 ngx_feature="POSIX semaphores"
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
238 ngx_feature_name="NGX_HAVE_POSIX_SEM"
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
239 ngx_feature_run=yes
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
240 ngx_feature_incs="#include <semaphore.h>"
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
241 ngx_feature_path=
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
242 ngx_feature_libs=
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
243 ngx_feature_test="sem_t sem;
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
244 if (sem_init(&sem, 1, 0) == -1) return 1;
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
245 sem_destroy(&sem);"
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
246 . auto/feature
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
247
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
248
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
249 ngx_feature="struct msghdr.msg_control"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
250 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
251 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
252 ngx_feature_incs="#include <sys/socket.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
253 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
254 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
255 ngx_feature_test="struct msghdr msg; msg.msg_control = NULL"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
256 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
257
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
258
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
259 ngx_feature="ioctl(FIONBIO)"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
260 ngx_feature_name="NGX_HAVE_FIONBIO"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
261 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
262 ngx_feature_incs="#include <sys/ioctl.h>
466
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 448
diff changeset
263 $NGX_INCLUDE_SYS_FILIO_H"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
264 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
265 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
266 ngx_feature_test="int i; i = FIONBIO"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
267 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
268
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
269
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
270 ngx_feature="struct tm.tm_gmtoff"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
271 ngx_feature_name="NGX_HAVE_GMTOFF"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
272 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
273 ngx_feature_incs="#include <time.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
274 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
275 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
276 ngx_feature_test="struct tm tm; tm.tm_gmtoff = 0"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
277 . auto/feature
406
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
278
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
279
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
280 ngx_feature="struct dirent.d_namlen"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
281 ngx_feature_name="NGX_HAVE_D_NAMLEN"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
282 ngx_feature_run=no
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
283 ngx_feature_incs="#include <dirent.h>"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
284 ngx_feature_path=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
285 ngx_feature_libs=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
286 ngx_feature_test="struct dirent dir; dir.d_namlen = 0"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
287 . auto/feature
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
288
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
289
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
290 ngx_feature="struct dirent.d_type"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
291 ngx_feature_name="NGX_HAVE_D_TYPE"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
292 ngx_feature_run=no
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
293 ngx_feature_incs="#include <dirent.h>"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
294 ngx_feature_path=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
295 ngx_feature_libs=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
296 ngx_feature_test="struct dirent dir; dir.d_type = DT_REG"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
297 . auto/feature