OSDN Git Service

[BUILD] Separate threads definition for LTO.
[csp-qt/common_source_project-fm7.git] / source / build-cmake / params / buildvars_mingw_params_llvm.dat
1 ################
2 #
3 # This is build-parameters fo LLVM/MinGW.
4 # Neither for GCC and LLVM/Linux .
5 #
6
7 if [ -v CC_SUFFIX ] ; then
8    CCMAKE_CC=${CCMAKE_CC}-${CC_SUFFIX}
9    CCMAKE_CXX=${CCMAKE_CXX}-${CC_SUFFIX}
10 fi
11 if [ -v CC_PREFIX ] ; then
12    CCMAKE_CC=${CC_PREFIX}-${CCMAKE_CC}
13    CCMAKE_CXX=${CC_PREFIX}-${CCMAKE_CXX}
14 fi
15 if [ -v CC_PATH ] ; then
16    CCMAKE_CC=${CC_PATH}/${CCMAKE_CC}
17    CCMAKE_CXX=${CC_PATH}/${CCMAKE_CXX}
18 fi
19
20 case ${USE_RADICAL_OPTIMIZE} in
21    "Yes" | "yes" | "YES" )
22       MAKEFLAGS_BASE3=" \
23                -O3 \
24                -fvect-cost-model=dynamic -ftree-vectorize \
25                -ftree-loop-distribute-patterns \
26                -ftree-loop-optimize -ftree-loop-if-convert-stores \
27                -fbranch-probabilities -fbranch-target-load-optimize \
28                -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops \
29                -funroll-loops \
30                -fgraphite-identity \
31                -floop-nest-optimize \
32                -msse -msse2 \
33                -Wall \
34                ${MAKEFLAGS_BASE} \
35                "
36                ;;
37    "No" | "no" | "NO" | * )
38       MAKEFLAGS_BASE3=" \
39                -O2 \
40                -mtune=generic \
41                -ftree-vectorize \
42                -funroll-loops \
43                -msse -msse2 \
44                -Wall \
45                ${MAKEFLAGS_BASE} \
46                "
47                ;;
48 esac
49
50 case ${USE_WHOLE_PROGRAM_OPTIMIZE} in
51    "Yes" | "yes" | "YES" )
52       LTO_FLAGS="-fwhole-program"
53       ;;
54    * )
55       LTO_FLAGS=""
56       ;;
57 esac
58 case ${USE_SANITIZER} in
59    "Yes" | "yes" | "YES" )
60       MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
61                -fsanitize=address \
62                -fsanitize=undefined \
63                -fsanitize=vptr \
64                    "
65                    ;;
66    "No" | "no" | "NO" | * )
67                    ;;
68 esac    
69
70 case ${USE_STACK_PROTECTION} in
71    "Yes" | "yes" | "YES" )
72       MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
73                -fstack-protector \
74                    "
75                    ;;
76    "All" | "all" | "ALL" )
77       MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
78                -fstack-protector-all \
79                    "
80                    ;;
81    "Strong" | "strong" | "STRONG" )
82       MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
83                -fstack-protector-strong \
84                    "
85                    ;;
86    "No" | "no" | "NO" )
87       MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
88                -fno-stack-protector \
89                    "               
90                    ;;
91    "Default" | "default" | "DEFAULT" | * )
92            ;;
93 esac    
94
95 case ${COMPRESS_SYMBOLS} in
96    "Yes" | "yes" | "YES" )
97    COMPRESS_CFLAGS="-gz"
98    ;;
99    "No" | "no" | "NO" | * )
100    COMPRESS_CFLAGS=""
101    ;;
102 esac
103
104 case ${CSP_DEBUG} in
105    "Yes" | "yes" | "YES" )
106          MAKEFLAGS_BASE2="-g -ggdb ${MAKEFLAGS_BASE} -DNDEBUG"
107          MAKEFLAGS_LINK_BASE="-g -ggdb ${MAKEFLAGS_BASE}"
108          ;;
109    "No" | "no" | "NO" | * )
110          MAKEFLAGS_BASE2="-O3 ${MAKEFLAGS_BASE} -DNDEBUG \
111                                                   -std=c++0x \
112                                                   -Wreserved-user-defined-literal \
113                                                   -D_HAS_EXCEPTIONS \
114                                                   -D__float128=\"long double\"
115                                                   "
116          MAKEFLAGS_LINK_BASE="-s ${MAKEFLAGS_BASE}"
117          ;;
118 esac
119
120 case ${USE_LTO} in
121    "Yes" | "yes" | "YES" )
122        MAKEFLAGS_LINK_BASE2="-flto=${LTO_THREADS} ${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
123        MAKEFLAGS_BASE2="-flto -ffat-lto-objects ${MAKEFLAGS_BASE2}"
124        ;;
125    "No" | "no" | "NO" | * )
126        MAKEFLAGS_LINK_BASE2="${MAKEFLAGS_BASE2}"
127        MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
128        ;;
129 esac
130 case ${USE_OPENMP} in
131    "Yes" | "yes" | "YES" )
132      CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=YES"
133    ;;
134    "No" | "no" | "NO" | * )
135      CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=NO"
136    ;;
137 esac
138
139 CMAKE_APPENDFLAG="-DUSE_QT5_4_APIS=ON -DUSE_MOVIE_LOADER=ON \
140                    -DUSE_MOVIE_SAVER=ON \
141                    -DCMAKE_AR:STRING=llvm-ar-3.9 \
142                    -DCMAKE_LD:STRING=i686-w64-mingw32-ld \
143                    -DCMAKE_NM:STRING=llvm-nm-3.9 \
144                    -DCMAKE_RANLIB:STRING=llvm-ranlib-3.9 \
145                    "