xref: /f-stack/app/nginx-1.16.1/auto/cc/clang (revision 3da8d17d)
1
2# Copyright (C) Nginx, Inc.
3
4
5# clang
6
7
8NGX_CLANG_VER=`$CC -v 2>&1 | grep 'version' 2>&1 \
9                           | sed -n -e 's/^.*clang version \(.*\)/\1/p' \
10                                    -e 's/^.*LLVM version \(.*\)/\1/p'`
11
12echo " + clang version: $NGX_CLANG_VER"
13
14have=NGX_COMPILER value="\"clang $NGX_CLANG_VER\"" . auto/define
15
16
17CC_TEST_FLAGS="-pipe"
18
19
20# optimizations
21
22#NGX_CLANG_OPT="-O2"
23#NGX_CLANG_OPT="-Oz"
24NGX_CLANG_OPT="-O"
25
26case $CPU in
27    pentium)
28        # optimize for Pentium
29        CPU_OPT="-march=pentium"
30        NGX_CPU_CACHE_LINE=32
31    ;;
32
33    pentiumpro | pentium3)
34        # optimize for Pentium Pro, Pentium II and Pentium III
35        CPU_OPT="-march=pentiumpro"
36        NGX_CPU_CACHE_LINE=32
37    ;;
38
39    pentium4)
40        # optimize for Pentium 4
41        CPU_OPT="-march=pentium4"
42        NGX_CPU_CACHE_LINE=128
43    ;;
44
45    athlon)
46        # optimize for Athlon
47        CPU_OPT="-march=athlon"
48        NGX_CPU_CACHE_LINE=64
49    ;;
50
51    opteron)
52        # optimize for Opteron
53        CPU_OPT="-march=opteron"
54        NGX_CPU_CACHE_LINE=64
55    ;;
56
57esac
58
59CC_AUX_FLAGS="$CC_AUX_FLAGS $CPU_OPT"
60
61
62CFLAGS="$CFLAGS -pipe $CPU_OPT"
63
64if [ ".$PCRE_OPT" = "." ]; then
65    PCRE_OPT="-O2 -pipe $CPU_OPT"
66else
67    PCRE_OPT="$PCRE_OPT -pipe"
68fi
69
70if [ ".$ZLIB_OPT" = "." ]; then
71    ZLIB_OPT="-O2 -pipe $CPU_OPT"
72else
73    ZLIB_OPT="$ZLIB_OPT -pipe"
74fi
75
76
77# warnings
78
79CFLAGS="$CFLAGS $NGX_CLANG_OPT -Wall -Wextra -Wpointer-arith"
80CFLAGS="$CFLAGS -Wconditional-uninitialized"
81#CFLAGS="$CFLAGS -Wmissing-prototypes"
82
83# we have a lot of unused function arguments
84CFLAGS="$CFLAGS -Wno-unused-parameter"
85
86# deprecated system OpenSSL library on OS X
87if [ "$NGX_SYSTEM" = "Darwin" ]; then
88    CFLAGS="$CFLAGS -Wno-deprecated-declarations"
89fi
90
91# stop on warning
92CFLAGS="$CFLAGS -Werror"
93
94# debug
95CFLAGS="$CFLAGS -g"
96
97if [ ".$CPP" = "." ]; then
98    CPP="$CC -E"
99fi
100