xref: /f-stack/app/nginx-1.16.1/auto/cc/conf (revision 3da8d17d)
1*3da8d17dSfengbojiang(姜凤波)
2*3da8d17dSfengbojiang(姜凤波)# Copyright (C) Igor Sysoev
3*3da8d17dSfengbojiang(姜凤波)# Copyright (C) Nginx, Inc.
4*3da8d17dSfengbojiang(姜凤波)
5*3da8d17dSfengbojiang(姜凤波)
6*3da8d17dSfengbojiang(姜凤波)LINK="\$(CC)"
7*3da8d17dSfengbojiang(姜凤波)
8*3da8d17dSfengbojiang(姜凤波)MAIN_LINK=
9*3da8d17dSfengbojiang(姜凤波)MODULE_LINK="-shared"
10*3da8d17dSfengbojiang(姜凤波)
11*3da8d17dSfengbojiang(姜凤波)ngx_include_opt="-I "
12*3da8d17dSfengbojiang(姜凤波)ngx_compile_opt="-c"
13*3da8d17dSfengbojiang(姜凤波)ngx_pic_opt="-fPIC"
14*3da8d17dSfengbojiang(姜凤波)ngx_objout="-o "
15*3da8d17dSfengbojiang(姜凤波)ngx_binout="-o "
16*3da8d17dSfengbojiang(姜凤波)ngx_objext="o"
17*3da8d17dSfengbojiang(姜凤波)ngx_binext=
18*3da8d17dSfengbojiang(姜凤波)ngx_modext=".so"
19*3da8d17dSfengbojiang(姜凤波)
20*3da8d17dSfengbojiang(姜凤波)ngx_long_start=
21*3da8d17dSfengbojiang(姜凤波)ngx_long_end=
22*3da8d17dSfengbojiang(姜凤波)
23*3da8d17dSfengbojiang(姜凤波)ngx_regex_dirsep="\/"
24*3da8d17dSfengbojiang(姜凤波)ngx_dirsep='/'
25*3da8d17dSfengbojiang(姜凤波)
26*3da8d17dSfengbojiang(姜凤波)ngx_regex_cont=' \\\
27*3da8d17dSfengbojiang(姜凤波)	'
28*3da8d17dSfengbojiang(姜凤波)ngx_cont=' \
29*3da8d17dSfengbojiang(姜凤波)	'
30*3da8d17dSfengbojiang(姜凤波)ngx_tab=' \
31*3da8d17dSfengbojiang(姜凤波)		'
32*3da8d17dSfengbojiang(姜凤波)ngx_spacer=
33*3da8d17dSfengbojiang(姜凤波)
34*3da8d17dSfengbojiang(姜凤波)ngx_long_regex_cont=$ngx_regex_cont
35*3da8d17dSfengbojiang(姜凤波)ngx_long_cont=$ngx_cont
36*3da8d17dSfengbojiang(姜凤波)
37*3da8d17dSfengbojiang(姜凤波). auto/cc/name
38*3da8d17dSfengbojiang(姜凤波)
39*3da8d17dSfengbojiang(姜凤波)if test -n "$CFLAGS"; then
40*3da8d17dSfengbojiang(姜凤波)
41*3da8d17dSfengbojiang(姜凤波)    CC_TEST_FLAGS="$CFLAGS $NGX_CC_OPT"
42*3da8d17dSfengbojiang(姜凤波)
43*3da8d17dSfengbojiang(姜凤波)    case $NGX_CC_NAME in
44*3da8d17dSfengbojiang(姜凤波)
45*3da8d17dSfengbojiang(姜凤波)        ccc)
46*3da8d17dSfengbojiang(姜凤波)            # Compaq C V6.5-207
47*3da8d17dSfengbojiang(姜凤波)
48*3da8d17dSfengbojiang(姜凤波)            ngx_include_opt="-I"
49*3da8d17dSfengbojiang(姜凤波)        ;;
50*3da8d17dSfengbojiang(姜凤波)
51*3da8d17dSfengbojiang(姜凤波)        sunc)
52*3da8d17dSfengbojiang(姜凤波)
53*3da8d17dSfengbojiang(姜凤波)            MAIN_LINK=
54*3da8d17dSfengbojiang(姜凤波)            MODULE_LINK="-G"
55*3da8d17dSfengbojiang(姜凤波)
56*3da8d17dSfengbojiang(姜凤波)            case "$NGX_MACHINE" in
57*3da8d17dSfengbojiang(姜凤波)
58*3da8d17dSfengbojiang(姜凤波)                i86pc)
59*3da8d17dSfengbojiang(姜凤波)                    NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
60*3da8d17dSfengbojiang(姜凤波)                ;;
61*3da8d17dSfengbojiang(姜凤波)
62*3da8d17dSfengbojiang(姜凤波)                sun4u | sun4v)
63*3da8d17dSfengbojiang(姜凤波)                    NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il"
64*3da8d17dSfengbojiang(姜凤波)                ;;
65*3da8d17dSfengbojiang(姜凤波)
66*3da8d17dSfengbojiang(姜凤波)            esac
67*3da8d17dSfengbojiang(姜凤波)
68*3da8d17dSfengbojiang(姜凤波)            case $CPU in
69*3da8d17dSfengbojiang(姜凤波)
70*3da8d17dSfengbojiang(姜凤波)                amd64)
71*3da8d17dSfengbojiang(姜凤波)                    NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
72*3da8d17dSfengbojiang(姜凤波)                ;;
73*3da8d17dSfengbojiang(姜凤波)
74*3da8d17dSfengbojiang(姜凤波)            esac
75*3da8d17dSfengbojiang(姜凤波)        ;;
76*3da8d17dSfengbojiang(姜凤波)
77*3da8d17dSfengbojiang(姜凤波)    esac
78*3da8d17dSfengbojiang(姜凤波)
79*3da8d17dSfengbojiang(姜凤波)else
80*3da8d17dSfengbojiang(姜凤波)
81*3da8d17dSfengbojiang(姜凤波)    case $NGX_CC_NAME in
82*3da8d17dSfengbojiang(姜凤波)        gcc)
83*3da8d17dSfengbojiang(姜凤波)            # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2
84*3da8d17dSfengbojiang(姜凤波)            #     3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2
85*3da8d17dSfengbojiang(姜凤波)            #     4.0.0, 4.0.1, 4.1.0
86*3da8d17dSfengbojiang(姜凤波)
87*3da8d17dSfengbojiang(姜凤波)            . auto/cc/gcc
88*3da8d17dSfengbojiang(姜凤波)        ;;
89*3da8d17dSfengbojiang(姜凤波)
90*3da8d17dSfengbojiang(姜凤波)        clang)
91*3da8d17dSfengbojiang(姜凤波)            # Clang C compiler
92*3da8d17dSfengbojiang(姜凤波)
93*3da8d17dSfengbojiang(姜凤波)            . auto/cc/clang
94*3da8d17dSfengbojiang(姜凤波)        ;;
95*3da8d17dSfengbojiang(姜凤波)
96*3da8d17dSfengbojiang(姜凤波)        icc)
97*3da8d17dSfengbojiang(姜凤波)            # Intel C++ compiler 7.1, 8.0, 8.1
98*3da8d17dSfengbojiang(姜凤波)
99*3da8d17dSfengbojiang(姜凤波)            . auto/cc/icc
100*3da8d17dSfengbojiang(姜凤波)        ;;
101*3da8d17dSfengbojiang(姜凤波)
102*3da8d17dSfengbojiang(姜凤波)        sunc)
103*3da8d17dSfengbojiang(姜凤波)            # Sun C 5.7 Patch 117837-04 2005/05/11
104*3da8d17dSfengbojiang(姜凤波)
105*3da8d17dSfengbojiang(姜凤波)            . auto/cc/sunc
106*3da8d17dSfengbojiang(姜凤波)        ;;
107*3da8d17dSfengbojiang(姜凤波)
108*3da8d17dSfengbojiang(姜凤波)        ccc)
109*3da8d17dSfengbojiang(姜凤波)            # Compaq C V6.5-207
110*3da8d17dSfengbojiang(姜凤波)
111*3da8d17dSfengbojiang(姜凤波)            . auto/cc/ccc
112*3da8d17dSfengbojiang(姜凤波)        ;;
113*3da8d17dSfengbojiang(姜凤波)
114*3da8d17dSfengbojiang(姜凤波)        acc)
115*3da8d17dSfengbojiang(姜凤波)            # aCC: HP ANSI C++ B3910B A.03.55.02
116*3da8d17dSfengbojiang(姜凤波)
117*3da8d17dSfengbojiang(姜凤波)            . auto/cc/acc
118*3da8d17dSfengbojiang(姜凤波)        ;;
119*3da8d17dSfengbojiang(姜凤波)
120*3da8d17dSfengbojiang(姜凤波)        msvc*)
121*3da8d17dSfengbojiang(姜凤波)            # MSVC++ 6.0 SP2, MSVC++ Toolkit 2003
122*3da8d17dSfengbojiang(姜凤波)
123*3da8d17dSfengbojiang(姜凤波)            . auto/cc/msvc
124*3da8d17dSfengbojiang(姜凤波)        ;;
125*3da8d17dSfengbojiang(姜凤波)
126*3da8d17dSfengbojiang(姜凤波)        owc)
127*3da8d17dSfengbojiang(姜凤波)            # Open Watcom C 1.0, 1.2
128*3da8d17dSfengbojiang(姜凤波)
129*3da8d17dSfengbojiang(姜凤波)            . auto/cc/owc
130*3da8d17dSfengbojiang(姜凤波)        ;;
131*3da8d17dSfengbojiang(姜凤波)
132*3da8d17dSfengbojiang(姜凤波)        bcc)
133*3da8d17dSfengbojiang(姜凤波)            # Borland C++ 5.5
134*3da8d17dSfengbojiang(姜凤波)
135*3da8d17dSfengbojiang(姜凤波)            . auto/cc/bcc
136*3da8d17dSfengbojiang(姜凤波)        ;;
137*3da8d17dSfengbojiang(姜凤波)
138*3da8d17dSfengbojiang(姜凤波)    esac
139*3da8d17dSfengbojiang(姜凤波)
140*3da8d17dSfengbojiang(姜凤波)    CC_TEST_FLAGS="$CC_TEST_FLAGS $NGX_CC_OPT"
141*3da8d17dSfengbojiang(姜凤波)
142*3da8d17dSfengbojiang(姜凤波)fi
143*3da8d17dSfengbojiang(姜凤波)
144*3da8d17dSfengbojiang(姜凤波)CFLAGS="$CFLAGS $NGX_CC_OPT"
145*3da8d17dSfengbojiang(姜凤波)NGX_TEST_LD_OPT="$NGX_LD_OPT"
146*3da8d17dSfengbojiang(姜凤波)
147*3da8d17dSfengbojiang(姜凤波)if [ "$NGX_PLATFORM" != win32 ]; then
148*3da8d17dSfengbojiang(姜凤波)
149*3da8d17dSfengbojiang(姜凤波)    if test -n "$NGX_LD_OPT"; then
150*3da8d17dSfengbojiang(姜凤波)        ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\"
151*3da8d17dSfengbojiang(姜凤波)        ngx_feature_name=
152*3da8d17dSfengbojiang(姜凤波)        ngx_feature_run=no
153*3da8d17dSfengbojiang(姜凤波)        ngx_feature_incs=
154*3da8d17dSfengbojiang(姜凤波)        ngx_feature_path=
155*3da8d17dSfengbojiang(姜凤波)        ngx_feature_libs=
156*3da8d17dSfengbojiang(姜凤波)        ngx_feature_test=
157*3da8d17dSfengbojiang(姜凤波)        . auto/feature
158*3da8d17dSfengbojiang(姜凤波)
159*3da8d17dSfengbojiang(姜凤波)        if [ $ngx_found = no ]; then
160*3da8d17dSfengbojiang(姜凤波)            echo $0: error: the invalid value in --with-ld-opt=\"$NGX_LD_OPT\"
161*3da8d17dSfengbojiang(姜凤波)            echo
162*3da8d17dSfengbojiang(姜凤波)            exit 1
163*3da8d17dSfengbojiang(姜凤波)        fi
164*3da8d17dSfengbojiang(姜凤波)    fi
165*3da8d17dSfengbojiang(姜凤波)
166*3da8d17dSfengbojiang(姜凤波)
167*3da8d17dSfengbojiang(姜凤波)    ngx_feature="-Wl,-E switch"
168*3da8d17dSfengbojiang(姜凤波)    ngx_feature_name=
169*3da8d17dSfengbojiang(姜凤波)    ngx_feature_run=no
170*3da8d17dSfengbojiang(姜凤波)    ngx_feature_incs=
171*3da8d17dSfengbojiang(姜凤波)    ngx_feature_path=
172*3da8d17dSfengbojiang(姜凤波)    ngx_feature_libs=-Wl,-E
173*3da8d17dSfengbojiang(姜凤波)    ngx_feature_test=
174*3da8d17dSfengbojiang(姜凤波)    . auto/feature
175*3da8d17dSfengbojiang(姜凤波)
176*3da8d17dSfengbojiang(姜凤波)    if [ $ngx_found = yes ]; then
177*3da8d17dSfengbojiang(姜凤波)        MAIN_LINK="-Wl,-E"
178*3da8d17dSfengbojiang(姜凤波)    fi
179*3da8d17dSfengbojiang(姜凤波)
180*3da8d17dSfengbojiang(姜凤波)
181*3da8d17dSfengbojiang(姜凤波)    if [ "$NGX_CC_NAME" = "sunc" ]; then
182*3da8d17dSfengbojiang(姜凤波)        echo "checking for gcc builtin atomic operations ... disabled"
183*3da8d17dSfengbojiang(姜凤波)    else
184*3da8d17dSfengbojiang(姜凤波)        ngx_feature="gcc builtin atomic operations"
185*3da8d17dSfengbojiang(姜凤波)        ngx_feature_name=NGX_HAVE_GCC_ATOMIC
186*3da8d17dSfengbojiang(姜凤波)        ngx_feature_run=yes
187*3da8d17dSfengbojiang(姜凤波)        ngx_feature_incs=
188*3da8d17dSfengbojiang(姜凤波)        ngx_feature_path=
189*3da8d17dSfengbojiang(姜凤波)        ngx_feature_libs=
190*3da8d17dSfengbojiang(姜凤波)        ngx_feature_test="long  n = 0;
191*3da8d17dSfengbojiang(姜凤波)                          if (!__sync_bool_compare_and_swap(&n, 0, 1))
192*3da8d17dSfengbojiang(姜凤波)                              return 1;
193*3da8d17dSfengbojiang(姜凤波)                          if (__sync_fetch_and_add(&n, 1) != 1)
194*3da8d17dSfengbojiang(姜凤波)                              return 1;
195*3da8d17dSfengbojiang(姜凤波)                          if (n != 2)
196*3da8d17dSfengbojiang(姜凤波)                              return 1;
197*3da8d17dSfengbojiang(姜凤波)                          __sync_synchronize();"
198*3da8d17dSfengbojiang(姜凤波)        . auto/feature
199*3da8d17dSfengbojiang(姜凤波)    fi
200*3da8d17dSfengbojiang(姜凤波)
201*3da8d17dSfengbojiang(姜凤波)
202*3da8d17dSfengbojiang(姜凤波)    if [ "$NGX_CC_NAME" = "ccc" ]; then
203*3da8d17dSfengbojiang(姜凤波)        echo "checking for C99 variadic macros ... disabled"
204*3da8d17dSfengbojiang(姜凤波)    else
205*3da8d17dSfengbojiang(姜凤波)        ngx_feature="C99 variadic macros"
206*3da8d17dSfengbojiang(姜凤波)        ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS"
207*3da8d17dSfengbojiang(姜凤波)        ngx_feature_run=yes
208*3da8d17dSfengbojiang(姜凤波)        ngx_feature_incs="#include <stdio.h>
209*3da8d17dSfengbojiang(姜凤波)#define var(dummy, ...)  sprintf(__VA_ARGS__)"
210*3da8d17dSfengbojiang(姜凤波)        ngx_feature_path=
211*3da8d17dSfengbojiang(姜凤波)        ngx_feature_libs=
212*3da8d17dSfengbojiang(姜凤波)        ngx_feature_test="char  buf[30]; buf[0] = '0';
213*3da8d17dSfengbojiang(姜凤波)                          var(0, buf, \"%d\", 1);
214*3da8d17dSfengbojiang(姜凤波)                          if (buf[0] != '1') return 1"
215*3da8d17dSfengbojiang(姜凤波)        . auto/feature
216*3da8d17dSfengbojiang(姜凤波)    fi
217*3da8d17dSfengbojiang(姜凤波)
218*3da8d17dSfengbojiang(姜凤波)
219*3da8d17dSfengbojiang(姜凤波)    ngx_feature="gcc variadic macros"
220*3da8d17dSfengbojiang(姜凤波)    ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS"
221*3da8d17dSfengbojiang(姜凤波)    ngx_feature_run=yes
222*3da8d17dSfengbojiang(姜凤波)    ngx_feature_incs="#include <stdio.h>
223*3da8d17dSfengbojiang(姜凤波)#define var(dummy, args...)  sprintf(args)"
224*3da8d17dSfengbojiang(姜凤波)    ngx_feature_path=
225*3da8d17dSfengbojiang(姜凤波)    ngx_feature_libs=
226*3da8d17dSfengbojiang(姜凤波)    ngx_feature_test="char  buf[30]; buf[0] = '0';
227*3da8d17dSfengbojiang(姜凤波)                      var(0, buf, \"%d\", 1);
228*3da8d17dSfengbojiang(姜凤波)                      if (buf[0] != '1') return 1"
229*3da8d17dSfengbojiang(姜凤波)    . auto/feature
230*3da8d17dSfengbojiang(姜凤波)
231*3da8d17dSfengbojiang(姜凤波)
232*3da8d17dSfengbojiang(姜凤波)    ngx_feature="gcc builtin 64 bit byteswap"
233*3da8d17dSfengbojiang(姜凤波)    ngx_feature_name="NGX_HAVE_GCC_BSWAP64"
234*3da8d17dSfengbojiang(姜凤波)    ngx_feature_run=no
235*3da8d17dSfengbojiang(姜凤波)    ngx_feature_incs=
236*3da8d17dSfengbojiang(姜凤波)    ngx_feature_path=
237*3da8d17dSfengbojiang(姜凤波)    ngx_feature_libs=
238*3da8d17dSfengbojiang(姜凤波)    ngx_feature_test="if (__builtin_bswap64(0)) return 1"
239*3da8d17dSfengbojiang(姜凤波)    . auto/feature
240*3da8d17dSfengbojiang(姜凤波)
241*3da8d17dSfengbojiang(姜凤波)
242*3da8d17dSfengbojiang(姜凤波)#    ngx_feature="inline"
243*3da8d17dSfengbojiang(姜凤波)#    ngx_feature_name=
244*3da8d17dSfengbojiang(姜凤波)#    ngx_feature_run=no
245*3da8d17dSfengbojiang(姜凤波)#    ngx_feature_incs="int inline f(void) { return 1 }"
246*3da8d17dSfengbojiang(姜凤波)#    ngx_feature_path=
247*3da8d17dSfengbojiang(姜凤波)#    ngx_feature_libs=
248*3da8d17dSfengbojiang(姜凤波)#    ngx_feature_test=
249*3da8d17dSfengbojiang(姜凤波)#    . auto/feature
250*3da8d17dSfengbojiang(姜凤波)#
251*3da8d17dSfengbojiang(姜凤波)#    if [ $ngx_found = yes ]; then
252*3da8d17dSfengbojiang(姜凤波)#    fi
253*3da8d17dSfengbojiang(姜凤波)
254*3da8d17dSfengbojiang(姜凤波)fi
255