Mercurial > hg > nginx-quic
annotate auto/make @ 7967:699f6e55bbb4
SSL: added verify callback to ngx_ssl_trusted_certificate().
This ensures that certificate verification is properly logged to debug
log during upstream server certificate verification. This should help
with debugging various certificate issues.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 03 Jun 2020 19:11:32 +0300 |
parents | 2d9ab7717e23 |
children | 38c0898b6df7 f0110b3663b7 |
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 |
4412 | 3 # Copyright (C) Nginx, Inc. |
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
|
4 |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
5 |
2827 | 6 echo "creating $NGX_MAKEFILE" |
7 | |
469 | 8 mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \ |
9 $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \ | |
6246
257b51c37c5a
The HTTP/2 implementation (RFC 7240, 7241).
Valentin Bartenev <vbart@nginx.com>
parents:
6164
diff
changeset
|
10 $NGX_OBJS/src/http $NGX_OBJS/src/http/v2 $NGX_OBJS/src/http/modules \ |
6065 | 11 $NGX_OBJS/src/http/modules/perl \ |
1949 | 12 $NGX_OBJS/src/mail \ |
6115 | 13 $NGX_OBJS/src/stream \ |
1949 | 14 $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
|
15 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
16 |
455 | 17 ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep |
18 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
|
19 |
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
20 |
467 | 21 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
|
22 |
455 | 23 CC = $CC |
24 CFLAGS = $CFLAGS | |
25 CPP = $CPP | |
26 LINK = $LINK | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
27 |
455 | 28 END |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
29 |
2825
bb05c0834c8c
remove BMAKE (build make): a cc compiler should use own make
Igor Sysoev <igor@sysoev.ru>
parents:
1949
diff
changeset
|
30 |
681 | 31 if test -n "$NGX_PERL_CFLAGS"; then |
32 echo NGX_PERL_CFLAGS = $NGX_PERL_CFLAGS >> $NGX_MAKEFILE | |
33 echo NGX_PM_CFLAGS = $NGX_PM_CFLAGS >> $NGX_MAKEFILE | |
6700
0d2956dfc4e6
Perl: pass additional linker options to perl module.
Konstantin Pavlov <thresh@nginx.com>
parents:
6425
diff
changeset
|
34 echo NGX_PM_LDFLAGS = $NGX_PM_LDFLAGS >> $NGX_MAKEFILE |
681 | 35 fi |
36 | |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
37 |
489 | 38 # ALL_INCS, required by the addons and by OpenWatcom C precompiled headers |
455 | 39 |
6118
1bdfceda86a9
Fixed building --with-stream when precompiled headers are used.
Sergey Kandaurov <pluknet@nginx.com>
parents:
6115
diff
changeset
|
40 ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS $STREAM_INCS\ |
455 | 41 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
42 -e "s/\//$ngx_regex_dirsep/g"` | |
43 | |
44 cat << END >> $NGX_MAKEFILE | |
45 | |
46 ALL_INCS = $ngx_include_opt$ngx_incs | |
47 | |
48 END | |
49 | |
50 | |
51 ngx_all_srcs="$CORE_SRCS" | |
52 | |
53 | |
6164
4e5dda15f18f
Fixed misspellings of the word "dependencies".
Ruslan Ermilov <ru@nginx.com>
parents:
6118
diff
changeset
|
54 # the core dependencies and include paths |
455 | 55 |
467 | 56 ngx_deps=`echo $CORE_DEPS $NGX_AUTO_CONFIG_H $NGX_PCH \ |
455 | 57 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
58 -e "s/\//$ngx_regex_dirsep/g"` | |
59 | |
469 | 60 ngx_incs=`echo $CORE_INCS $NGX_OBJS \ |
455 | 61 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
62 -e "s/\//$ngx_regex_dirsep/g"` | |
63 | |
64 cat << END >> $NGX_MAKEFILE | |
65 | |
66 CORE_DEPS = $ngx_deps | |
67 | |
68 | |
69 CORE_INCS = $ngx_include_opt$ngx_incs | |
70 | |
71 END | |
72 | |
73 | |
6164
4e5dda15f18f
Fixed misspellings of the word "dependencies".
Ruslan Ermilov <ru@nginx.com>
parents:
6118
diff
changeset
|
74 # the http dependencies and include paths |
455 | 75 |
76 if [ $HTTP = YES ]; then | |
77 | |
78 ngx_all_srcs="$ngx_all_srcs $HTTP_SRCS" | |
79 | |
80 ngx_deps=`echo $HTTP_DEPS \ | |
81 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ | |
82 -e "s/\//$ngx_regex_dirsep/g"` | |
83 | |
84 ngx_incs=`echo $HTTP_INCS \ | |
85 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ | |
86 -e "s/\//$ngx_regex_dirsep/g"` | |
87 | |
88 cat << END >> $NGX_MAKEFILE | |
89 | |
90 HTTP_DEPS = $ngx_deps | |
91 | |
92 | |
93 HTTP_INCS = $ngx_include_opt$ngx_incs | |
94 | |
95 END | |
96 | |
97 fi | |
98 | |
99 | |
6164
4e5dda15f18f
Fixed misspellings of the word "dependencies".
Ruslan Ermilov <ru@nginx.com>
parents:
6118
diff
changeset
|
100 # the mail dependencies and include paths |
455 | 101 |
6383 | 102 if [ $MAIL != NO ]; then |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
103 |
6383 | 104 if [ $MAIL = YES ]; then |
105 ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS" | |
106 fi | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
107 |
1136 | 108 ngx_deps=`echo $MAIL_DEPS \ |
455 | 109 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
110 -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
|
111 |
1136 | 112 ngx_incs=`echo $MAIL_INCS \ |
455 | 113 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ |
114 -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
|
115 |
455 | 116 cat << END >> $NGX_MAKEFILE |
117 | |
1136 | 118 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
|
119 |
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
120 |
1136 | 121 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
|
122 |
455 | 123 END |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
124 |
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
125 fi |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
126 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
127 |
6164
4e5dda15f18f
Fixed misspellings of the word "dependencies".
Ruslan Ermilov <ru@nginx.com>
parents:
6118
diff
changeset
|
128 # the stream dependencies and include paths |
6115 | 129 |
6383 | 130 if [ $STREAM != NO ]; then |
6115 | 131 |
6383 | 132 if [ $STREAM = YES ]; then |
133 ngx_all_srcs="$ngx_all_srcs $STREAM_SRCS" | |
134 fi | |
6115 | 135 |
136 ngx_deps=`echo $STREAM_DEPS \ | |
137 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ | |
138 -e "s/\//$ngx_regex_dirsep/g"` | |
139 | |
140 ngx_incs=`echo $STREAM_INCS \ | |
141 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ | |
142 -e "s/\//$ngx_regex_dirsep/g"` | |
143 | |
144 cat << END >> $NGX_MAKEFILE | |
145 | |
146 STREAM_DEPS = $ngx_deps | |
147 | |
148 | |
149 STREAM_INCS = $ngx_include_opt$ngx_incs | |
150 | |
151 END | |
152 | |
153 fi | |
154 | |
155 | |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6246
diff
changeset
|
156 ngx_all_srcs="$ngx_all_srcs $MISC_SRCS" |
1949 | 157 |
158 | |
6804
2c7a2d75938a
Configure: honor dependencies of dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6700
diff
changeset
|
159 if test -n "$NGX_ADDON_SRCS$DYNAMIC_MODULES"; then |
489 | 160 |
161 cat << END >> $NGX_MAKEFILE | |
162 | |
541 | 163 ADDON_DEPS = \$(CORE_DEPS) $NGX_ADDON_DEPS |
489 | 164 |
165 END | |
166 | |
167 fi | |
168 | |
169 | |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
170 # nginx |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
171 |
455 | 172 ngx_all_srcs=`echo $ngx_all_srcs | sed -e "s/\//$ngx_regex_dirsep/g"` |
489 | 173 |
174 for ngx_src in $NGX_ADDON_SRCS | |
175 do | |
176 ngx_obj="addon/`basename \`dirname $ngx_src\``" | |
177 | |
178 test -d $NGX_OBJS/$ngx_obj || mkdir -p $NGX_OBJS/$ngx_obj | |
179 | |
180 ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ | |
181 | sed -e "s/\//$ngx_regex_dirsep/g"` | |
182 | |
183 ngx_all_srcs="$ngx_all_srcs $ngx_obj" | |
184 done | |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
267
diff
changeset
|
185 |
455 | 186 ngx_all_objs=`echo $ngx_all_srcs \ |
665 | 187 | sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \ |
188 -e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \ | |
189 -e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \ | |
190 -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
|
191 |
489 | 192 ngx_modules_c=`echo $NGX_MODULES_C | sed -e "s/\//$ngx_regex_dirsep/g"` |
193 | |
455 | 194 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
|
195 |
461 | 196 |
197 if test -n "$NGX_RES"; then | |
198 ngx_res=$NGX_RES | |
199 else | |
200 ngx_res="$NGX_RC $NGX_ICONS" | |
201 ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"` | |
202 fi | |
203 | |
204 ngx_deps=`echo $ngx_all_objs $ngx_modules_obj $ngx_res $LINK_DEPS \ | |
455 | 205 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ |
206 -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
|
207 |
455 | 208 ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \ |
573 | 209 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \ |
455 | 210 -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
|
211 |
6383 | 212 ngx_libs= |
667 | 213 if test -n "$NGX_LD_OPT$CORE_LIBS"; then |
214 ngx_libs=`echo $NGX_LD_OPT $CORE_LIBS \ | |
215 | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"` | |
216 fi | |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
267
diff
changeset
|
217 |
455 | 218 ngx_link=${CORE_LINK:+`echo $CORE_LINK \ |
573 | 219 | 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
|
220 |
6383 | 221 ngx_main_link=${MAIN_LINK:+`echo $MAIN_LINK \ |
222 | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} | |
223 | |
461 | 224 |
455 | 225 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
|
226 |
6408
cfc3cfa434ec
Configure: added "build" target.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6383
diff
changeset
|
227 build: binary modules manpage |
cfc3cfa434ec
Configure: added "build" target.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6383
diff
changeset
|
228 |
6424 | 229 binary: $NGX_OBJS${ngx_dirsep}nginx$ngx_binext |
6408
cfc3cfa434ec
Configure: added "build" target.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6383
diff
changeset
|
230 |
6424 | 231 $NGX_OBJS${ngx_dirsep}nginx$ngx_binext: $ngx_deps$ngx_spacer |
7450
2d9ab7717e23
Configure: added explicit ngx_binext to the linker output argument.
Sergey Kandaurov <pluknet@nginx.com>
parents:
6804
diff
changeset
|
232 \$(LINK) $ngx_long_start$ngx_binout$NGX_OBJS${ngx_dirsep}nginx$ngx_binext$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_main_link |
461 | 233 $ngx_rcc |
6424 | 234 $ngx_long_end |
6383 | 235 |
236 modules: | |
455 | 237 END |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
238 |
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
239 |
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
240 # ngx_modules.c |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
241 |
455 | 242 if test -n "$NGX_PCH"; then |
243 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
|
244 else |
455 | 245 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
|
246 fi |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
247 |
455 | 248 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
|
249 |
455 | 250 $ngx_modules_obj: \$(CORE_DEPS)$ngx_cont$ngx_modules_c |
561 | 251 $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
|
252 |
455 | 253 END |
254 | |
255 | |
256 # the core sources | |
257 | |
258 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
|
259 do |
455 | 260 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
261 ngx_obj=`echo $ngx_src \ | |
665 | 262 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
263 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
264 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
265 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
455 | 266 |
267 cat << END >> $NGX_MAKEFILE | |
268 | |
269 $ngx_obj: \$(CORE_DEPS)$ngx_cont$ngx_src | |
561 | 270 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
455 | 271 |
272 END | |
273 | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
274 done |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
275 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
276 |
455 | 277 # 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
|
278 |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
279 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
|
280 |
455 | 281 if test -n "$NGX_PCH"; then |
282 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
|
283 else |
455 | 284 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)" |
6419 | 285 ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS)" |
681 | 286 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
|
287 fi |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
288 |
681 | 289 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
|
290 do |
681 | 291 ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` |
455 | 292 ngx_obj=`echo $ngx_src \ |
665 | 293 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
294 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
295 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
296 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
455 | 297 |
681 | 298 if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then |
299 | |
300 cat << END >> $NGX_MAKEFILE | |
301 | |
302 $ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src | |
303 $ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX | |
304 | |
305 END | |
306 else | |
307 | |
308 cat << END >> $NGX_MAKEFILE | |
455 | 309 |
310 $ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src | |
561 | 311 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
455 | 312 |
313 END | |
681 | 314 |
315 fi | |
455 | 316 done |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
317 |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
318 fi |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
319 |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
320 |
1136 | 321 # 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
|
322 |
1136 | 323 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
|
324 |
455 | 325 if test -n "$NGX_PCH"; then |
326 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
|
327 else |
1136 | 328 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
|
329 fi |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
330 |
1136 | 331 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
|
332 do |
455 | 333 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
334 ngx_obj=`echo $ngx_src \ | |
665 | 335 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
336 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
337 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
338 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
455 | 339 |
340 cat << END >> $NGX_MAKEFILE | |
341 | |
1136 | 342 $ngx_obj: \$(CORE_DEPS) \$(MAIL_DEPS)$ngx_cont$ngx_src |
561 | 343 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
455 | 344 |
345 END | |
489 | 346 done |
455 | 347 |
489 | 348 fi |
349 | |
350 | |
6115 | 351 # the stream sources |
352 | |
353 if [ $STREAM = YES ]; then | |
354 | |
355 if test -n "$NGX_PCH"; then | |
356 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
357 else | |
358 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(STREAM_INCS)" | |
359 fi | |
360 | |
361 for ngx_src in $STREAM_SRCS | |
362 do | |
363 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` | |
364 ngx_obj=`echo $ngx_src \ | |
365 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
366 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
367 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
368 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
369 | |
370 cat << END >> $NGX_MAKEFILE | |
371 | |
372 $ngx_obj: \$(CORE_DEPS) \$(STREAM_DEPS)$ngx_cont$ngx_src | |
373 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX | |
374 | |
375 END | |
376 done | |
377 | |
378 fi | |
379 | |
380 | |
1949 | 381 # the misc sources |
382 | |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6246
diff
changeset
|
383 if test -n "$MISC_SRCS"; then |
1949 | 384 |
385 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
386 | |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6246
diff
changeset
|
387 for ngx_src in $MISC_SRCS |
1949 | 388 do |
389 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` | |
390 ngx_obj=`echo $ngx_src \ | |
391 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
392 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
393 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
394 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
395 | |
396 cat << END >> $NGX_MAKEFILE | |
397 | |
398 $ngx_obj: \$(CORE_DEPS) $ngx_cont$ngx_src | |
399 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX | |
400 | |
401 END | |
402 done | |
403 | |
404 fi | |
405 | |
406 | |
489 | 407 # the addons sources |
408 | |
409 if test -n "$NGX_ADDON_SRCS"; then | |
410 | |
411 ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
412 | |
413 for ngx_src in $NGX_ADDON_SRCS | |
414 do | |
415 ngx_obj="addon/`basename \`dirname $ngx_src\``" | |
416 | |
417 ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ | |
418 | sed -e "s/\//$ngx_regex_dirsep/g"` | |
419 | |
420 ngx_obj=`echo $ngx_obj \ | |
665 | 421 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ |
422 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
423 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
424 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
489 | 425 |
426 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` | |
427 | |
428 cat << END >> $NGX_MAKEFILE | |
429 | |
430 $ngx_obj: \$(ADDON_DEPS)$ngx_cont$ngx_src | |
561 | 431 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
489 | 432 |
433 END | |
455 | 434 done |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
435 |
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
436 fi |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
437 |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
438 |
593 | 439 # the addons config.make |
440 | |
6416
35487ea55cb6
Dynamic modules: make sure to call config.make for dynamic addons.
Ruslan Ermilov <ru@nginx.com>
parents:
6408
diff
changeset
|
441 if test -n "$NGX_ADDONS$DYNAMIC_ADDONS"; then |
593 | 442 |
6416
35487ea55cb6
Dynamic modules: make sure to call config.make for dynamic addons.
Ruslan Ermilov <ru@nginx.com>
parents:
6408
diff
changeset
|
443 for ngx_addon_dir in $NGX_ADDONS $DYNAMIC_ADDONS |
593 | 444 do |
445 if test -f $ngx_addon_dir/config.make; then | |
446 . $ngx_addon_dir/config.make | |
447 fi | |
448 done | |
449 fi | |
450 | |
451 | |
461 | 452 # Win32 resource file |
453 | |
454 if test -n "$NGX_RES"; then | |
455 | |
456 ngx_res=`echo "$NGX_RES: $NGX_RC $NGX_ICONS" \ | |
457 | sed -e "s/\//$ngx_regex_dirsep/g"` | |
458 ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"` | |
459 | |
460 cat << END >> $NGX_MAKEFILE | |
461 | |
462 $ngx_res | |
463 $ngx_rcc | |
464 | |
465 END | |
466 | |
467 fi | |
468 | |
469 | |
455 | 470 # 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
|
471 |
455 | 472 if test -n "$NGX_PCH"; then |
469 | 473 echo "#include <ngx_config.h>" > $NGX_OBJS/ngx_pch.c |
455 | 474 |
469 | 475 ngx_pch="src/core/ngx_config.h $OS_CONFIG $NGX_OBJS/ngx_auto_config.h" |
455 | 476 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
|
477 |
455 | 478 ngx_src="\$(CC) \$(CFLAGS) $NGX_BUILD_PCH $ngx_compile_opt \$(ALL_INCS)" |
469 | 479 ngx_src="$ngx_src $ngx_objout$NGX_OBJS/ngx_pch.obj $NGX_OBJS/ngx_pch.c" |
455 | 480 ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` |
481 | |
482 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
|
483 |
455 | 484 $ngx_pch |
485 $ngx_src | |
486 | |
487 END | |
488 | |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
281
diff
changeset
|
489 fi |
6383 | 490 |
491 | |
492 # dynamic modules | |
493 | |
494 if test -n "$NGX_PCH"; then | |
495 ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" | |
496 else | |
497 ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) \$(ALL_INCS)" | |
6419 | 498 ngx_perl_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(NGX_PERL_CFLAGS)" |
499 ngx_perl_cc="$ngx_perl_cc \$(ALL_INCS)" | |
6383 | 500 fi |
501 | |
502 for ngx_module in $DYNAMIC_MODULES | |
503 do | |
504 eval ngx_module_srcs="\$${ngx_module}_SRCS" | |
505 eval eval ngx_module_libs="\\\"\$${ngx_module}_LIBS\\\"" | |
506 | |
507 eval ngx_module_modules="\$${ngx_module}_MODULES" | |
508 eval ngx_module_order="\$${ngx_module}_ORDER" | |
509 | |
510 ngx_modules_c=$NGX_OBJS/${ngx_module}_modules.c | |
511 | |
512 cat << END > $ngx_modules_c | |
513 | |
514 #include <ngx_config.h> | |
515 #include <ngx_core.h> | |
516 | |
517 END | |
518 | |
519 for mod in $ngx_module_modules | |
520 do | |
521 echo "extern ngx_module_t $mod;" >> $ngx_modules_c | |
522 done | |
523 | |
524 echo >> $ngx_modules_c | |
525 echo 'ngx_module_t *ngx_modules[] = {' >> $ngx_modules_c | |
526 | |
527 for mod in $ngx_module_modules | |
528 do | |
529 echo " &$mod," >> $ngx_modules_c | |
530 done | |
531 | |
532 cat << END >> $ngx_modules_c | |
533 NULL | |
534 }; | |
535 | |
536 END | |
537 | |
538 echo 'char *ngx_module_names[] = {' >> $ngx_modules_c | |
539 | |
540 for mod in $ngx_module_modules | |
541 do | |
542 echo " \"$mod\"," >> $ngx_modules_c | |
543 done | |
544 | |
545 cat << END >> $ngx_modules_c | |
546 NULL | |
547 }; | |
548 | |
549 END | |
550 | |
551 echo 'char *ngx_module_order[] = {' >> $ngx_modules_c | |
552 | |
553 for mod in $ngx_module_order | |
554 do | |
555 echo " \"$mod\"," >> $ngx_modules_c | |
556 done | |
557 | |
558 cat << END >> $ngx_modules_c | |
559 NULL | |
560 }; | |
561 | |
562 END | |
563 | |
564 ngx_modules_c=`echo $ngx_modules_c | sed -e "s/\//$ngx_regex_dirsep/g"` | |
565 | |
566 ngx_modules_obj=`echo $ngx_modules_c \ | |
567 | sed -e "s/\(.*\.\)c/\1$ngx_objext/"` | |
568 | |
569 ngx_module_objs= | |
570 for ngx_src in $ngx_module_srcs | |
571 do | |
572 case "$ngx_src" in | |
573 src/*) | |
574 ngx_obj=$ngx_src | |
575 ;; | |
576 *) | |
577 ngx_obj="addon/`basename \`dirname $ngx_src\``" | |
578 mkdir -p $NGX_OBJS/$ngx_obj | |
579 ngx_obj="$ngx_obj/`basename $ngx_src`" | |
580 ;; | |
581 esac | |
582 | |
583 ngx_module_objs="$ngx_module_objs $ngx_obj" | |
584 done | |
585 | |
586 ngx_module_objs=`echo $ngx_module_objs \ | |
587 | sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \ | |
588 -e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \ | |
589 -e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \ | |
590 -e "s#\([^ ]*\.\)S#$NGX_OBJS\/\1$ngx_objext#g"` | |
591 | |
592 ngx_deps=`echo $ngx_module_objs $ngx_modules_obj $LINK_DEPS \ | |
593 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ | |
594 -e "s/\//$ngx_regex_dirsep/g"` | |
595 | |
596 ngx_objs=`echo $ngx_module_objs $ngx_modules_obj \ | |
597 | sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \ | |
598 -e "s/\//$ngx_regex_dirsep/g"` | |
599 | |
6424 | 600 ngx_obj=$NGX_OBJS$ngx_dirsep$ngx_module$ngx_modext |
6383 | 601 |
602 if [ "$NGX_PLATFORM" = win32 ]; then | |
603 ngx_module_libs="$CORE_LIBS $ngx_module_libs" | |
604 fi | |
605 | |
606 ngx_libs= | |
607 if test -n "$NGX_LD_OPT$ngx_module_libs"; then | |
608 ngx_libs=`echo $NGX_LD_OPT $ngx_module_libs \ | |
609 | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"` | |
610 fi | |
611 | |
612 ngx_link=${CORE_LINK:+`echo $CORE_LINK \ | |
613 | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} | |
614 | |
615 ngx_module_link=${MODULE_LINK:+`echo $MODULE_LINK \ | |
616 | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} | |
617 | |
618 | |
619 cat << END >> $NGX_MAKEFILE | |
620 | |
621 modules: $ngx_obj | |
622 | |
623 $ngx_obj: $ngx_deps$ngx_spacer | |
624 \$(LINK) $ngx_long_start$ngx_binout$ngx_obj$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_module_link | |
625 $ngx_long_end | |
626 | |
627 $ngx_modules_obj: \$(CORE_DEPS)$ngx_cont$ngx_modules_c | |
628 $ngx_cc$ngx_tab$ngx_objout$ngx_modules_obj$ngx_tab$ngx_modules_c$NGX_AUX | |
629 | |
630 END | |
631 | |
6419 | 632 for ngx_source in $ngx_module_srcs |
6383 | 633 do |
6419 | 634 case "$ngx_source" in |
6383 | 635 src/*) |
6419 | 636 ngx_obj=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` |
6383 | 637 ;; |
638 *) | |
6419 | 639 ngx_obj="addon/`basename \`dirname $ngx_source\``" |
640 ngx_obj=`echo $ngx_obj/\`basename $ngx_source\` \ | |
6383 | 641 | sed -e "s/\//$ngx_regex_dirsep/g"` |
642 ;; | |
643 esac | |
644 | |
645 ngx_obj=`echo $ngx_obj \ | |
646 | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
647 -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
648 -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ | |
649 -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` | |
650 | |
6419 | 651 ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` |
652 | |
653 if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then | |
654 | |
655 cat << END >> $NGX_MAKEFILE | |
6383 | 656 |
6804
2c7a2d75938a
Configure: honor dependencies of dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6700
diff
changeset
|
657 $ngx_obj: \$(ADDON_DEPS)$ngx_cont$ngx_src |
6419 | 658 $ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
659 | |
660 END | |
661 else | |
662 | |
663 cat << END >> $NGX_MAKEFILE | |
6383 | 664 |
6804
2c7a2d75938a
Configure: honor dependencies of dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6700
diff
changeset
|
665 $ngx_obj: \$(ADDON_DEPS)$ngx_cont$ngx_src |
6383 | 666 $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX |
667 | |
668 END | |
669 | |
6419 | 670 fi |
6383 | 671 done |
672 done |