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
|
682
|
59 clang)
|
|
60 # Clang C compiler
|
|
61
|
|
62 . auto/cc/clang
|
|
63 ;;
|
|
64
|
4
|
65 icc)
|
64
|
66 # Intel C++ compiler 7.1, 8.0, 8.1
|
4
|
67
|
|
68 . auto/cc/icc
|
|
69 ;;
|
|
70
|
110
|
71 sunc)
|
|
72 # Sun C 5.7 Patch 117837-04 2005/05/11
|
|
73
|
|
74 . auto/cc/sunc
|
|
75 ;;
|
|
76
|
16
|
77 ccc)
|
64
|
78 # Compaq C V6.5-207
|
|
79
|
|
80 . auto/cc/ccc
|
16
|
81 ;;
|
4
|
82
|
64
|
83 acc)
|
|
84 # aCC: HP ANSI C++ B3910B A.03.55.02
|
|
85
|
|
86 . auto/cc/acc
|
|
87 ;;
|
4
|
88
|
10
|
89 msvc*)
|
|
90 # MSVC++ 6.0 SP2, MSVC++ Toolkit 2003
|
4
|
91
|
|
92 . auto/cc/msvc
|
|
93 ;;
|
|
94
|
|
95 owc)
|
|
96 # Open Watcom C 1.0, 1.2
|
|
97
|
|
98 . auto/cc/owc
|
|
99 ;;
|
|
100
|
|
101 bcc)
|
|
102 # Borland C++ 5.5
|
|
103
|
|
104 . auto/cc/bcc
|
|
105 ;;
|
|
106
|
|
107 esac
|
|
108
|
64
|
109 CC_TEST_FLAGS="$CC_TEST_FLAGS $NGX_CC_OPT"
|
4
|
110
|
|
111 fi
|
|
112
|
|
113 CFLAGS="$CFLAGS $NGX_CC_OPT"
|
554
|
114 NGX_TEST_LD_OPT="$NGX_LD_OPT"
|
4
|
115
|
18
|
116 if [ "$NGX_PLATFORM" != win32 ]; then
|
4
|
117
|
10
|
118 if test -n "$NGX_LD_OPT"; then
|
|
119 ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\"
|
18
|
120 ngx_feature_name=
|
10
|
121 ngx_feature_run=no
|
|
122 ngx_feature_incs=
|
258
|
123 ngx_feature_path=
|
10
|
124 ngx_feature_libs=
|
|
125 ngx_feature_test=
|
|
126 . auto/feature
|
|
127
|
|
128 if [ $ngx_found = no ]; then
|
|
129 echo $0: error: the invalid value in --with-ld-opt=\"$NGX_LD_OPT\"
|
|
130 echo
|
|
131 exit 1
|
|
132 fi
|
|
133 fi
|
|
134
|
554
|
135
|
|
136 ngx_feature="gcc builtin atomic operations"
|
|
137 ngx_feature_name=NGX_HAVE_GCC_ATOMIC
|
|
138 ngx_feature_run=yes
|
|
139 ngx_feature_incs=
|
|
140 ngx_feature_path=
|
|
141 ngx_feature_libs=
|
|
142 ngx_feature_test="long n = 0;
|
|
143 if (!__sync_bool_compare_and_swap(&n, 0, 1))
|
|
144 return 1;
|
|
145 if (__sync_fetch_and_add(&n, 1) != 1)
|
|
146 return 1;
|
|
147 if (n != 2)
|
|
148 return 1;
|
|
149 __sync_synchronize();"
|
|
150 . auto/feature
|
|
151
|
|
152
|
66
|
153 if [ "$NGX_CC_NAME" = "ccc" ]; then
|
64
|
154 echo "checking for C99 variadic macros ... disabled"
|
|
155 else
|
|
156 ngx_feature="C99 variadic macros"
|
|
157 ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS"
|
|
158 ngx_feature_run=yes
|
|
159 ngx_feature_incs="#include <stdio.h>
|
|
160 #define var(dummy, ...) sprintf(__VA_ARGS__)"
|
258
|
161 ngx_feature_path=
|
64
|
162 ngx_feature_libs=
|
|
163 ngx_feature_test="char buf[30]; buf[0] = '0';
|
|
164 var(0, buf, \"%d\", 1);
|
|
165 if (buf[0] != '1') return 1"
|
|
166 . auto/feature
|
|
167 fi
|
4
|
168
|
16
|
169
|
584
|
170 ngx_feature="gcc variadic macros"
|
|
171 ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS"
|
|
172 ngx_feature_run=yes
|
|
173 ngx_feature_incs="#include <stdio.h>
|
|
174 #define var(dummy, args...) sprintf(args)"
|
|
175 ngx_feature_path=
|
|
176 ngx_feature_libs=
|
|
177 ngx_feature_test="char buf[30]; buf[0] = '0';
|
|
178 var(0, buf, \"%d\", 1);
|
|
179 if (buf[0] != '1') return 1"
|
|
180 . auto/feature
|
|
181
|
|
182
|
16
|
183 # ngx_feature="inline"
|
18
|
184 # ngx_feature_name=
|
16
|
185 # ngx_feature_run=no
|
|
186 # ngx_feature_incs="int inline f(void) { return 1 }"
|
258
|
187 # ngx_feature_path=
|
16
|
188 # ngx_feature_libs=
|
|
189 # ngx_feature_test=
|
|
190 # . auto/feature
|
|
191 #
|
|
192 # if [ $ngx_found = yes ]; then
|
|
193 # fi
|
|
194
|
4
|
195 fi
|