3 # This is build-parameters fo GCC/Linux.
4 # Neither for GCC/MinGW and LLVM.
9 if [ -v CC_SUFFIX ] ; then
10 CCMAKE_CC=${CCMAKE_CC}-${CC_SUFFIX}
11 CCMAKE_CXX=${CCMAKE_CXX}-${CC_SUFFIX}
12 if [ ${CC_SUFFIX} -le 5 ] ; then
13 MAKEFLAGS_BASE="-std=gnu++11 ${MAKEFLAGS_BASE}"
16 if [ -v CC_PREFIX ] ; then
17 CCMAKE_CC=${CC_PREFIX}-${CCMAKE_CC}
18 CCMAKE_CXX=${CC_PREFIX}-${CCMAKE_CXX}
20 if [ -v CC_PATH ] ; then
21 CCMAKE_CC=${CC_PATH}/${CCMAKE_CC}
22 CCMAKE_CXX=${CC_PATH}/${CCMAKE_CXX}
25 case ${USE_RADICAL_OPTIMIZE} in
26 "Yes" | "yes" | "YES" )
34 "No" | "no" | "NO" | * )
47 case ${USE_SANITIZER} in
48 "Yes" | "yes" | "YES" )
49 MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
51 -fsanitize=undefined \
55 "No" | "no" | "NO" | * )
59 case ${USE_STACK_PROTECTION} in
60 "Yes" | "yes" | "YES" )
61 MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
65 "All" | "all" | "ALL" )
66 MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
67 -fstack-protector-all \
70 "Strong" | "strong" | "STRONG" )
71 MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
72 -fstack-protector-strong \
76 MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
77 -fno-stack-protector \
80 "Default" | "default" | "DEFAULT" | * )
84 # -fstack-clash-protection \
86 # -ftree-loop-vectorize \
87 # -ftree-loop-distribute-patterns \
88 # -ftree-loop-optimize \
89 # -ftree-loop-if-convert-stores \
90 # -ftree-loop-distribution \
91 # -ftree-loop-ivcanon \
92 # -fvect-cost-model=unlimited \
93 # -fsimd-cost-model=unlimited \
95 # -fbranch-probabilities \
96 # -fbranch-target-load-optimize \
97 # -fbranch-target-load-optimize2 \
98 # -fbtr-bb-exclusive \
99 # -fselective-scheduling \
100 # -fsel-sched-pipelining \
101 # -fsel-sched-pipelining-outer-loops \
103 # -fvariable-expansion-in-unroller \
104 # -fprefetch-loop-arrays \
105 # -fgraphite-identity \
106 # -floop-nest-optimize \
108 case ${USE_WHOLE_PROGRAM_OPTIMIZE} in
109 "Yes" | "yes" | "YES" )
110 LTO_FLAGS="-fwhole-program"
117 case ${COMPRESS_SYMBOLS} in
118 "Yes" | "yes" | "YES" )
119 COMPRESS_CFLAGS="-gz=zlib"
121 "No" | "no" | "NO" | * )
127 "Yes" | "yes" | "YES" )
128 MAKEFLAGS_DLL_LINK_BASE="-ggdb ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
129 MAKEFLAGS_BASE2="-ggdb ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
131 "No" | "no" | "NO" | * )
132 MAKEFLAGS_DLL_LINK_BASE="${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3}"
133 MAKEFLAGS_BASE2="${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3}"
138 "Yes" | "yes" | "YES" )
139 MAKEFLAGS_LINK_BASE2="-flto=6 -flto-compression-level=9 ${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
140 MAKEFLAGS_BASE2="-flto -flto-compression-level=9 -ffat-lto-objects ${MAKEFLAGS_BASE2}"
142 "No" | "no" | "NO" | * )
143 MAKEFLAGS_LINK_BASE2="${MAKEFLAGS_BASE2}"
144 MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
148 case ${USE_OPENMP} in
149 "Yes" | "yes" | "YES" )
150 CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=YES"
152 "No" | "no" | "NO" | * )
153 CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=NO"
157 CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} \
158 -DCMAKE_AR:STRING=gcc-ar \
159 -DCMAKE_NM:STRING=gcc-nm \
160 -DCMAKE_RANLIB:STRING=gcc-ranlib \