annotate auto/cc/conf @ 4115:70a45a504905

Workaround for cpu hog on errors with cached connections. Just doing another connect isn't safe as peer.get() may expect peer.tries to be strictly positive (this is the case e.g. with round robin with multiple upstream servers). Increment peer.tries to at least avoid cpu hog in round robin balancer (with the patch alert will be seen instead). This is not enough to fully address the problem though, hence TODO. We should be able to inform balancer that the error wasn't considered fatal and it may make sense to retry the same peer.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 15 Sep 2011 18:12:58 +0000
parents e27070fb6c6b
children d620f497c50f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
3
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4
487
31ff3e943e16 nginx-0.1.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
5 LINK="\$(CC)"
31ff3e943e16 nginx-0.1.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
6
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7 ngx_include_opt="-I "
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 ngx_compile_opt="-c"
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 ngx_objout="-o "
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10 ngx_binout="-o "
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 ngx_objext="o"
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 ngx_binext=
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13
573
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 561
diff changeset
14 ngx_long_start=
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 561
diff changeset
15 ngx_long_end=
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 561
diff changeset
16
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
17 ngx_regex_dirsep="\/"
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
18 ngx_dirsep='/'
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
19
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20 ngx_regex_cont=' \\\
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 '
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 ngx_cont=' \
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23 '
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
24 ngx_tab=' \
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
25 '
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26 ngx_spacer=
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
27
573
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 561
diff changeset
28 ngx_long_regex_cont=$ngx_regex_cont
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 561
diff changeset
29 ngx_long_cont=$ngx_cont
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 561
diff changeset
30
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
31 . auto/cc/name
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
32
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
33 if test -n "$CFLAGS"; then
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
34
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
35 CC_TEST_FLAGS="$CFLAGS $NGX_CC_OPT"
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
36
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
37 case $NGX_CC_NAME in
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
39 ccc)
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
40 # Compaq C V6.5-207
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
41
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
42 ngx_include_opt="-I"
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
43 ;;
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
44
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
45 esac
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
46
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
47 else
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
48
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
49 case $NGX_CC_NAME in
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
50 gcc)
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
51 # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
52 # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
53 # 4.0.0, 4.0.1, 4.1.0
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
54
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
55 . auto/cc/gcc
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
56 ;;
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
57
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
58 icc)
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
59 # Intel C++ compiler 7.1, 8.0, 8.1
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
60
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
61 . auto/cc/icc
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
62 ;;
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
63
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
64 sunc)
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
65 # Sun C 5.7 Patch 117837-04 2005/05/11
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
66
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
67 . auto/cc/sunc
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
68 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
69
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
70 ccc)
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
71 # Compaq C V6.5-207
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
72
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
73 . auto/cc/ccc
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
74 ;;
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
75
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
76 acc)
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
77 # aCC: HP ANSI C++ B3910B A.03.55.02
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
78
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
79 . auto/cc/acc
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
80 ;;
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
81
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
82 msvc*)
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
83 # MSVC++ 6.0 SP2, MSVC++ Toolkit 2003
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
84
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
85 . auto/cc/msvc
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
86 ;;
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
87
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
88 owc)
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
89 # Open Watcom C 1.0, 1.2
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
90
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
91 . auto/cc/owc
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
92 ;;
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
93
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
94 bcc)
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
95 # Borland C++ 5.5
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
96
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
97 . auto/cc/bcc
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
98 ;;
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
99
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
100 esac
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
101
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
102 CC_TEST_FLAGS="$CC_TEST_FLAGS $NGX_CC_OPT"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
103
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
104 fi
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
105
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
106 CFLAGS="$CFLAGS $NGX_CC_OPT"
3367
568a854383f9 test invalid --with-ld-opt in right place
Igor Sysoev <igor@sysoev.ru>
parents: 3366
diff changeset
107 NGX_TEST_LD_OPT="$NGX_LD_OPT"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
108
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
109 if [ "$NGX_PLATFORM" != win32 ]; then
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
110
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
111 if test -n "$NGX_LD_OPT"; then
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
112 ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
113 ngx_feature_name=
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
114 ngx_feature_run=no
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
115 ngx_feature_incs=
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
116 ngx_feature_path=
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
117 ngx_feature_libs=
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
118 ngx_feature_test=
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
119 . auto/feature
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
120
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
121 if [ $ngx_found = no ]; then
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
122 echo $0: error: the invalid value in --with-ld-opt=\"$NGX_LD_OPT\"
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
123 echo
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
124 exit 1
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
125 fi
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
126 fi
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
127
3362
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
128
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
129 ngx_feature="gcc builtin atomic operations"
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
130 ngx_feature_name=NGX_HAVE_GCC_ATOMIC
3366
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
131 ngx_feature_run=yes
3362
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
132 ngx_feature_incs=
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
133 ngx_feature_path=
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
134 ngx_feature_libs=
3366
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
135 ngx_feature_test="long n = 0;
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
136 if (!__sync_bool_compare_and_swap(&n, 0, 1))
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
137 return 1;
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
138 if (__sync_fetch_and_add(&n, 1) != 1)
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
139 return 1;
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
140 if (n != 2)
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
141 return 1;
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3362
diff changeset
142 __sync_synchronize();"
3362
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
143 . auto/feature
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
144
b57a4a704f3c GCC 4.1 builtin atomic operations
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
145
517
dadfa78d2270 nginx-0.1.33-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
146 if [ "$NGX_CC_NAME" = "ccc" ]; then
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
147 echo "checking for C99 variadic macros ... disabled"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
148 else
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
149 ngx_feature="C99 variadic macros"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
150 ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
151 ngx_feature_run=yes
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
152 ngx_feature_incs="#include <stdio.h>
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
153 #define var(dummy, ...) sprintf(__VA_ARGS__)"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
154 ngx_feature_path=
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
155 ngx_feature_libs=
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
156 ngx_feature_test="char buf[30]; buf[0] = '0';
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
157 var(0, buf, \"%d\", 1);
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
158 if (buf[0] != '1') return 1"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
159 . auto/feature
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 487
diff changeset
160 fi
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
161
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
162
3673
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
163 ngx_feature="gcc variadic macros"
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
164 ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS"
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
165 ngx_feature_run=yes
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
166 ngx_feature_incs="#include <stdio.h>
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
167 #define var(dummy, args...) sprintf(args)"
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
168 ngx_feature_path=
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
169 ngx_feature_libs=
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
170 ngx_feature_test="char buf[30]; buf[0] = '0';
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
171 var(0, buf, \"%d\", 1);
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
172 if (buf[0] != '1') return 1"
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
173 . auto/feature
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
174
e27070fb6c6b try to use C99 variadic macros first:
Igor Sysoev <igor@sysoev.ru>
parents: 3367
diff changeset
175
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
176 # ngx_feature="inline"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
177 # ngx_feature_name=
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
178 # ngx_feature_run=no
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
179 # ngx_feature_incs="int inline f(void) { return 1 }"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
180 # ngx_feature_path=
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
181 # ngx_feature_libs=
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
182 # ngx_feature_test=
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
183 # . auto/feature
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
184 #
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
185 # if [ $ngx_found = yes ]; then
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
186 # fi
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
187
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
188 fi