4
|
1
|
|
2 # Copyright (C) Igor Sysoev
|
660
|
3 # Copyright (C) Nginx, Inc.
|
4
|
4
|
|
5
|
36
|
6 LINK="\$(CC)"
|
|
7
|
4
|
8 ngx_include_opt="-I "
|
|
9 ngx_compile_opt="-c"
|
|
10 ngx_objout="-o "
|
|
11 ngx_binout="-o "
|
|
12 ngx_objext="o"
|
|
13 ngx_binext=
|
|
14
|
122
|
15 ngx_long_start=
|
|
16 ngx_long_end=
|
|
17
|
4
|
18 ngx_regex_dirsep="\/"
|
|
19 ngx_dirsep='/'
|
|
20
|
|
21 ngx_regex_cont=' \\\
|
|
22 '
|
|
23 ngx_cont=' \
|
|
24 '
|
|
25 ngx_tab=' \
|
|
26 '
|
|
27 ngx_spacer=
|
|
28
|
122
|
29 ngx_long_regex_cont=$ngx_regex_cont
|
|
30 ngx_long_cont=$ngx_cont
|
|
31
|
4
|
32 . auto/cc/name
|
|
33
|
|
34 if test -n "$CFLAGS"; then
|
|
35
|
|
36 CC_TEST_FLAGS="$CFLAGS $NGX_CC_OPT"
|
|
37
|
|
38 case $NGX_CC_NAME in
|
|
39
|
|
40 ccc)
|
|
41 # Compaq C V6.5-207
|
|
42
|
|
43 ngx_include_opt="-I"
|
|
44 ;;
|
|
45
|
|
46 esac
|
|
47
|
|
48 else
|
|
49
|
|
50 case $NGX_CC_NAME in
|
|
51 gcc)
|
64
|
52 # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2
|
|
53 # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2
|
110
|
54 # 4.0.0, 4.0.1, 4.1.0
|
4
|
55
|
|
56 . auto/cc/gcc
|
|
57 ;;
|
|
58
|
|
59 icc)
|
64
|
60 # Intel C++ compiler 7.1, 8.0, 8.1
|
4
|
61
|
|
62 . auto/cc/icc
|
|
63 ;;
|
|
64
|
110
|
65 sunc)
|
|
66 # Sun C 5.7 Patch 117837-04 2005/05/11
|
|
67
|
|
68 . auto/cc/sunc
|
|
69 ;;
|
|
70
|
16
|
71 ccc)
|
64
|
72 # Compaq C V6.5-207
|
|
73
|
|
74 . auto/cc/ccc
|
16
|
75 ;;
|
4
|
76
|
64
|
77 acc)
|
|
78 # aCC: HP ANSI C++ B3910B A.03.55.02
|
|
79
|
|
80 . auto/cc/acc
|
|
81 ;;
|
4
|
82
|
10
|
83 msvc*)
|
|
84 # MSVC++ 6.0 SP2, MSVC++ Toolkit 2003
|
4
|
85
|
|
86 . auto/cc/msvc
|
|
87 ;;
|
|
88
|
|
89 owc)
|
|
90 # Open Watcom C 1.0, 1.2
|
|
91
|
|
92 . auto/cc/owc
|
|
93 ;;
|
|
94
|
|
95 bcc)
|
|
96 # Borland C++ 5.5
|
|
97
|
|
98 . auto/cc/bcc
|
|
99 ;;
|
|
100
|
|
101 esac
|
|
102
|
64
|
103 CC_TEST_FLAGS="$CC_TEST_FLAGS $NGX_CC_OPT"
|
4
|
104
|
|
105 fi
|
|
106
|
|
107 CFLAGS="$CFLAGS $NGX_CC_OPT"
|
554
|
108 NGX_TEST_LD_OPT="$NGX_LD_OPT"
|
4
|
109
|
18
|
110 if [ "$NGX_PLATFORM" != win32 ]; then
|
4
|
111
|
10
|
112 if test -n "$NGX_LD_OPT"; then
|
|
113 ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\"
|
18
|
114 ngx_feature_name=
|
10
|
115 ngx_feature_run=no
|
|
116 ngx_feature_incs=
|
258
|
117 ngx_feature_path=
|
10
|
118 ngx_feature_libs=
|
|
119 ngx_feature_test=
|
|
120 . auto/feature
|
|
121
|
|
122 if [ $ngx_found = no ]; then
|
|
123 echo $0: error: the invalid value in --with-ld-opt=\"$NGX_LD_OPT\"
|
|
124 echo
|
|
125 exit 1
|
|
126 fi
|
|
127 fi
|
|
128
|
554
|
129
|
|
130 ngx_feature="gcc builtin atomic operations"
|
|
131 ngx_feature_name=NGX_HAVE_GCC_ATOMIC
|
|
132 ngx_feature_run=yes
|
|
133 ngx_feature_incs=
|
|
134 ngx_feature_path=
|
|
135 ngx_feature_libs=
|
|
136 ngx_feature_test="long n = 0;
|
|
137 if (!__sync_bool_compare_and_swap(&n, 0, 1))
|
|
138 return 1;
|
|
139 if (__sync_fetch_and_add(&n, 1) != 1)
|
|
140 return 1;
|
|
141 if (n != 2)
|
|
142 return 1;
|
|
143 __sync_synchronize();"
|
|
144 . auto/feature
|
|
145
|
|
146
|
66
|
147 if [ "$NGX_CC_NAME" = "ccc" ]; then
|
64
|
148 echo "checking for C99 variadic macros ... disabled"
|
|
149 else
|
|
150 ngx_feature="C99 variadic macros"
|
|
151 ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS"
|
|
152 ngx_feature_run=yes
|
|
153 ngx_feature_incs="#include <stdio.h>
|
|
154 #define var(dummy, ...) sprintf(__VA_ARGS__)"
|
258
|
155 ngx_feature_path=
|
64
|
156 ngx_feature_libs=
|
|
157 ngx_feature_test="char buf[30]; buf[0] = '0';
|
|
158 var(0, buf, \"%d\", 1);
|
|
159 if (buf[0] != '1') return 1"
|
|
160 . auto/feature
|
|
161 fi
|
4
|
162
|
16
|
163
|
584
|
164 ngx_feature="gcc variadic macros"
|
|
165 ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS"
|
|
166 ngx_feature_run=yes
|
|
167 ngx_feature_incs="#include <stdio.h>
|
|
168 #define var(dummy, args...) sprintf(args)"
|
|
169 ngx_feature_path=
|
|
170 ngx_feature_libs=
|
|
171 ngx_feature_test="char buf[30]; buf[0] = '0';
|
|
172 var(0, buf, \"%d\", 1);
|
|
173 if (buf[0] != '1') return 1"
|
|
174 . auto/feature
|
|
175
|
|
176
|
16
|
177 # ngx_feature="inline"
|
18
|
178 # ngx_feature_name=
|
16
|
179 # ngx_feature_run=no
|
|
180 # ngx_feature_incs="int inline f(void) { return 1 }"
|
258
|
181 # ngx_feature_path=
|
16
|
182 # ngx_feature_libs=
|
|
183 # ngx_feature_test=
|
|
184 # . auto/feature
|
|
185 #
|
|
186 # if [ $ngx_found = yes ]; then
|
|
187 # fi
|
|
188
|
4
|
189 fi
|