Mercurial > hg > nginx-quic
annotate auto/make @ 4207:4fc91bae6f83
Better recheck of dead upstream servers.
Previously nginx used to mark backend again as live as soon as fail_timeout
passes (10s by default) since last failure. On the other hand, detecting
dead backend takes up to 60s (proxy_connect_timeout) in typical situation
"backend is down and doesn't respond to any packets". This resulted in
suboptimal behaviour in the above situation (up to 23% of requests were
directed to dead backend with default settings).
More detailed description of the problem may be found here (in Russian):
http://mailman.nginx.org/pipermail/nginx-ru/2011-August/042172.html
Fix is to only allow one request after fail_timeout passes, and
mark backend as "live" only if this request succeeds.
Note that with new code backend will not be marked "live" unless "check"
request is completed, and this may take a while in some specific workloads
(e.g. streaming). This is believed to be acceptable.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 12 Oct 2011 14:22:48 +0000 |
parents | ecdc41bf2047 |
children | d620f497c50f |
rev | line source |
---|---|
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
1 |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
2 # Copyright (C) Igor Sysoev |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
3 |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
4 |
2827 | 5 echo "creating $NGX_MAKEFILE" |
6 | |
469 | 7 mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \ |
8 $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \ | |
9 $NGX_OBJS/src/http $NGX_OBJS/src/http/modules \ | |
599 | 10 $NGX_OBJS/src/http/modules/perl \ |
1949 | 11 $NGX_OBJS/src/mail \ |
12 $NGX_OBJS/src/misc | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
13 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
14 |
455 | 15 ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep |
16 ngx_use_pch=`echo $NGX_USE_PCH | sed -e "s/\//$ngx_regex_dirsep/g"` | |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
17 |
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
18 |
467 | 19 cat << END > $NGX_MAKEFILE |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
20 |
455 | 21 CC = $CC |
22 CFLAGS = $CFLAGS | |
23 CPP = $CPP | |
24 LINK = $LINK | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
25 |
455 | 26 END |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
27 |
2825
bb05c0834c8c
remove BMAKE (build make): a cc compiler should use own make
Igor Sysoev <igor@sysoev.ru>
parents:
1949
diff
changeset
|
28 |
681 | 29 if test -n "$NGX_PERL_CFLAGS"; then |
30 echo NGX_PERL_CFLAGS = $NGX_PERL_CFLAGS >> $NGX_MAKEFILE | |
31 echo NGX_PM_CFLAGS = $NGX_PM_CFLAGS >> $NGX_MAKEFILE | |
32 fi | |
33 | |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
34 |
489 | 35 # ALL_INCS, required by the addons and by OpenWatcom C precompiled headers |
455 | 36 |
1136 | 37 ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS\ |
455 | 38 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
39 -e "s/\//$ngx_regex_dirsep/g"` | |
40 | |
41 cat << END >> $NGX_MAKEFILE | |
42 | |
43 ALL_INCS = $ngx_include_opt$ngx_incs | |
44 | |
45 END | |
46 | |
47 | |
48 ngx_all_srcs="$CORE_SRCS" | |
49 | |
50 | |
51 # the core dependences and include pathes | |
52 | |
467 | 53 ngx_deps=`echo $CORE_DEPS $NGX_AUTO_CONFIG_H $NGX_PCH \ |
455 | 54 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
55 -e "s/\//$ngx_regex_dirsep/g"` | |
56 | |
469 | 57 ngx_incs=`echo $CORE_INCS $NGX_OBJS \ |
455 | 58 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
59 -e "s/\//$ngx_regex_dirsep/g"` | |
60 | |
61 cat << END >> $NGX_MAKEFILE | |
62 | |
63 CORE_DEPS = $ngx_deps | |
64 | |
65 | |
66 CORE_INCS = $ngx_include_opt$ngx_incs | |
67 | |
68 END | |
69 | |
70 | |
71 # the http dependences and include pathes | |
72 | |
73 if [ $HTTP = YES ]; then | |
74 | |
75 ngx_all_srcs="$ngx_all_srcs $HTTP_SRCS" | |
76 | |
77 ngx_deps=`echo $HTTP_DEPS \ | |
78 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ | |
79 -e "s/\//$ngx_regex_dirsep/g"` | |
80 | |
81 ngx_incs=`echo $HTTP_INCS \ | |
82 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ | |
83 -e "s/\//$ngx_regex_dirsep/g"` | |
84 | |
85 cat << END >> $NGX_MAKEFILE | |
86 | |
87 HTTP_DEPS = $ngx_deps | |
88 | |
89 | |
90 HTTP_INCS = $ngx_include_opt$ngx_incs | |
91 | |
92 END | |
93 | |
94 fi | |
95 | |
96 | |
1136 | 97 # the mail dependences and include pathes |
455 | 98 |
1136 | 99 if [ $MAIL = YES ]; then |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
100 |
1136 | 101 ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS" |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
102 |
1136 | 103 ngx_deps=`echo $MAIL_DEPS \ |
455 | 104 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
105 -e "s/\//$ngx_regex_dirsep/g"` | |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
106 |
1136 | 107 ngx_incs=`echo $MAIL_INCS \ |
455 | 108 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
109 -e "s/\//$ngx_regex_dirsep/g"` | |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
110 |
455 | 111 cat << END >> $NGX_MAKEFILE |
112 | |
1136 | 113 MAIL_DEPS = $ngx_deps |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
114 |
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
115 |
1136 | 116 MAIL_INCS = $ngx_include_opt$ngx_incs |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
117 |
455 | 118 END |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
119 |
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
120 fi |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
121 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
122 |
1949 | 123 ngx_all_srcs="$ngx_all_srcs $NGX_MISC_SRCS" |
124 | |
125 | |
489 | 126 if test -n "$NGX_ADDON_SRCS"; then |
127 | |
128 cat << END >> $NGX_MAKEFILE | |
129 | |
541 | 130 ADDON_DEPS = \$(CORE_DEPS) $NGX_ADDON_DEPS |
489 | 131 |
132 END | |
133 | |
134 fi | |
135 | |
136 | |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
137 # nginx |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
138 |
455 | 139 ngx_all_srcs=`echo $ngx_all_srcs | sed -e "s/\//$ngx_regex_dirsep/g"` |
489 | 140 |
141 for ngx_src in $NGX_ADDON_SRCS | |
142 do | |
143 ngx_obj="addon/`basename \`dirname $ngx_src\``" | |
144 | |
145 test -d $NGX_OBJS/$ngx_obj || mkdir -p $NGX_OBJS/$ngx_obj | |
146 | |
147 ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ | |
148 | sed -e "s/\//$ngx_regex_dirsep/g"` | |
149 | |
150 ngx_all_srcs="$ngx_all_srcs $ngx_obj" | |
151 done | |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
267
diff
changeset
|
152 |
455 | 153 ngx_all_objs=`echo $ngx_all_srcs \ |
665 | 154 | sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \ |
155 -e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \ | |
156 -e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \ | |
157 -e "s#\([^ ]*\.\)S#$NGX_OBJS\/\1$ngx_objext#g"` | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
158 |
489 | 159 ngx_modules_c=`echo $NGX_MODULES_C | sed -e "s/\//$ngx_regex_dirsep/g"` |
160 | |
455 | 161 ngx_modules_obj=`echo $ngx_modules_c | sed -e "s/\(.*\.\)c/\1$ngx_objext/"` |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
267
diff
changeset
|
162 |
461 | 163 |
164 if test -n "$NGX_RES"; then | |
165 ngx_res=$NGX_RES | |
166 else | |
167 ngx_res="$NGX_RC $NGX_ICONS" | |
168 ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"` | |
169 fi | |
170 | |
171 ngx_deps=`echo $ngx_all_objs $ngx_modules_obj $ngx_res $LINK_DEPS \ | |
455 | 172 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
173 -e "s/\//$ngx_regex_dirsep/g"` | |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
174 |
455 | 175 ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \ |
573 | 176 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \ |
455 | 177 -e "s/\//$ngx_regex_dirsep/g"` |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
178 |
667 | 179 if test -n "$NGX_LD_OPT$CORE_LIBS"; then |
180 ngx_libs=`echo $NGX_LD_OPT $CORE_LIBS \ | |
181 | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"` | |
182 fi | |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
267
diff
changeset
|
183 |
455 | 184 ngx_link=${CORE_LINK:+`echo $CORE_LINK \ |
573 | 185 | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
186 |
461 | 187 |
455 | 188 cat << END >> $NGX_MAKEFILE |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
189 |
455 | 190 $NGX_OBJS${ngx_dirsep}nginx${ngx_binext}: $ngx_deps$ngx_spacer |
573 | 191 \$(LINK) ${ngx_long_start}${ngx_binout}$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link |
461 | 192 $ngx_rcc |
573 | 193 ${ngx_long_end} |
455 | 194 END |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
195 |
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
196 |
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
197 # ngx_modules.c |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
198 |
455 | 199 if test -n "$NGX_PCH"; then |
200 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
201 else |
455 | 202 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS)" |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
203 fi |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
204 |
455 | 205 cat << END >> $NGX_MAKEFILE |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
206 |
455 | 207 $ngx_modules_obj: \$(CORE_DEPS)$ngx_cont$ngx_modules_c |
561 | 208 $ngx_cc$ngx_tab$ngx_objout$ngx_modules_obj$ngx_tab$ngx_modules_c$NGX_AUX |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
209 |
455 | 210 END |
211 | |
212 | |
213 # the core sources | |
214 | |
215 for ngx_src in $CORE_SRCS | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
216 do |
455 | 217 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
218 ngx_obj=`echo $ngx_src \ | |
665 | 219 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
220 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
221 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
222 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
455 | 223 |
224 cat << END >> $NGX_MAKEFILE | |
225 | |
226 $ngx_obj: \$(CORE_DEPS)$ngx_cont$ngx_src | |
561 | 227 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
455 | 228 |
229 END | |
230 | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
231 done |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
232 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
233 |
455 | 234 # the http sources |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
235 |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
236 if [ $HTTP = YES ]; then |
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
237 |
455 | 238 if test -n "$NGX_PCH"; then |
239 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
240 else |
455 | 241 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)" |
681 | 242 ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS) " |
243 ngx_perl_cc="$ngx_perl_cc \$(CORE_INCS) \$(HTTP_INCS)" | |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
244 fi |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
245 |
681 | 246 for ngx_source in $HTTP_SRCS |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
247 do |
681 | 248 ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` |
455 | 249 ngx_obj=`echo $ngx_src \ |
665 | 250 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
251 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
252 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
253 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
455 | 254 |
681 | 255 if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then |
256 | |
257 cat << END >> $NGX_MAKEFILE | |
258 | |
259 $ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src | |
260 $ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX | |
261 | |
262 END | |
263 else | |
264 | |
265 cat << END >> $NGX_MAKEFILE | |
455 | 266 |
267 $ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src | |
561 | 268 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
455 | 269 |
270 END | |
681 | 271 |
272 fi | |
455 | 273 done |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
274 |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
275 fi |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
276 |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
277 |
1136 | 278 # the mail sources |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
279 |
1136 | 280 if [ $MAIL = YES ]; then |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
281 |
455 | 282 if test -n "$NGX_PCH"; then |
283 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
284 else |
1136 | 285 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(MAIL_INCS)" |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
286 fi |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
287 |
1136 | 288 for ngx_src in $MAIL_SRCS |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
289 do |
455 | 290 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
291 ngx_obj=`echo $ngx_src \ | |
665 | 292 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
293 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
294 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
295 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
455 | 296 |
297 cat << END >> $NGX_MAKEFILE | |
298 | |
1136 | 299 $ngx_obj: \$(CORE_DEPS) \$(MAIL_DEPS)$ngx_cont$ngx_src |
561 | 300 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
455 | 301 |
302 END | |
489 | 303 done |
455 | 304 |
489 | 305 fi |
306 | |
307 | |
1949 | 308 # the misc sources |
309 | |
310 if test -n "$NGX_MISC_SRCS"; then | |
311 | |
312 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
313 | |
314 for ngx_src in $NGX_MISC_SRCS | |
315 do | |
316 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` | |
317 ngx_obj=`echo $ngx_src \ | |
318 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
319 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
320 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
321 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
322 | |
323 cat << END >> $NGX_MAKEFILE | |
324 | |
325 $ngx_obj: \$(CORE_DEPS) $ngx_cont$ngx_src | |
326 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX | |
327 | |
328 END | |
329 done | |
330 | |
331 fi | |
332 | |
333 | |
489 | 334 # the addons sources |
335 | |
336 if test -n "$NGX_ADDON_SRCS"; then | |
337 | |
338 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
339 | |
340 for ngx_src in $NGX_ADDON_SRCS | |
341 do | |
342 ngx_obj="addon/`basename \`dirname $ngx_src\``" | |
343 | |
344 ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ | |
345 | sed -e "s/\//$ngx_regex_dirsep/g"` | |
346 | |
347 ngx_obj=`echo $ngx_obj \ | |
665 | 348 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
349 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
350 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
351 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
489 | 352 |
353 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` | |
354 | |
355 cat << END >> $NGX_MAKEFILE | |
356 | |
357 $ngx_obj: \$(ADDON_DEPS)$ngx_cont$ngx_src | |
561 | 358 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
489 | 359 |
360 END | |
455 | 361 done |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
362 |
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
363 fi |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
364 |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
365 |
593 | 366 # the addons config.make |
367 | |
368 if test -n "$NGX_ADDONS"; then | |
369 | |
370 for ngx_addon_dir in $NGX_ADDONS | |
371 do | |
372 if test -f $ngx_addon_dir/config.make; then | |
373 . $ngx_addon_dir/config.make | |
374 fi | |
375 done | |
376 fi | |
377 | |
378 | |
461 | 379 # Win32 resource file |
380 | |
381 if test -n "$NGX_RES"; then | |
382 | |
383 ngx_res=`echo "$NGX_RES: $NGX_RC $NGX_ICONS" \ | |
384 | sed -e "s/\//$ngx_regex_dirsep/g"` | |
385 ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"` | |
386 | |
387 cat << END >> $NGX_MAKEFILE | |
388 | |
389 $ngx_res | |
390 $ngx_rcc | |
391 | |
392 END | |
393 | |
394 fi | |
395 | |
396 | |
455 | 397 # the precompiled headers |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
398 |
455 | 399 if test -n "$NGX_PCH"; then |
469 | 400 echo "#include <ngx_config.h>" > $NGX_OBJS/ngx_pch.c |
455 | 401 |
469 | 402 ngx_pch="src/core/ngx_config.h $OS_CONFIG $NGX_OBJS/ngx_auto_config.h" |
455 | 403 ngx_pch=`echo "$NGX_PCH: $ngx_pch" | sed -e "s/\//$ngx_regex_dirsep/g"` |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
404 |
455 | 405 ngx_src="\$(CC) \$(CFLAGS) $NGX_BUILD_PCH $ngx_compile_opt \$(ALL_INCS)" |
469 | 406 ngx_src="$ngx_src $ngx_objout$NGX_OBJS/ngx_pch.obj $NGX_OBJS/ngx_pch.c" |
455 | 407 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
408 | |
409 cat << END >> $NGX_MAKEFILE | |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
410 |
455 | 411 $ngx_pch |
412 $ngx_src | |
413 | |
414 END | |
415 | |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
416 fi |