OSDN Git Service

[BUILD][CMAKE] Change optimise parameters.
[csp-qt/common_source_project-fm7.git] / source / build-cmake / params / buildvars_linux_params_gcc.dat
1 ################
2 #
3 # This is build-parameters fo GCC/Linux.
4 # Neither for GCC/MinGW and LLVM.
5 #
6 CCMAKE_CC=gcc
7 CCMAKE_CXX=g++
8
9 if [ -v CC_SUFFIX ] ; then
10    CCMAKE_CC=${CCMAKE_CC}-${CC_SUFFIX}
11    CCMAKE_CXX=${CCMAKE_CXX}-${CC_SUFFIX}
12 fi
13 if [ -v CC_PREFIX ] ; then
14    CCMAKE_CC=${CC_PREFIX}-${CCMAKE_CC}
15    CCMAKE_CXX=${CC_PREFIX}-${CCMAKE_CXX}
16 fi
17 if [ -v CC_PATH ] ; then
18    CCMAKE_CC=${CC_PATH}/${CCMAKE_CC}
19    CCMAKE_CXX=${CC_PATH}/${CCMAKE_CXX}
20 fi
21
22 case ${USE_RADICAL_OPTIMIZE} in
23    "Yes" | "yes" | "YES" )
24       MAKEFLAGS_BASE3=" \
25                -O3 \
26                -msse -msse2 \
27                -Wall \
28                ${MAKEFLAGS_BASE} \
29                "
30                ;;
31    "No" | "no" | "NO" | * )
32       MAKEFLAGS_BASE3=" \
33                -O2 \
34                -mtune=generic \
35                -ftree-vectorize \
36                -funroll-loops \
37                -msse -msse2 \
38                -Wall \
39                ${MAKEFLAGS_BASE} \
40                "
41                ;;
42 esac
43 #              -ftree-vectorize \
44 #              -ftree-loop-vectorize \
45 #               -ftree-loop-distribute-patterns \
46 #              -ftree-loop-optimize \
47 #              -ftree-loop-if-convert-stores \
48 #              -ftree-loop-distribution \
49 #              -ftree-loop-ivcanon \
50 #              -fvect-cost-model=unlimited \
51 #              -fsimd-cost-model=unlimited \
52 #              -fivopts \
53 #              -fbranch-probabilities \
54 #              -fbranch-target-load-optimize \
55 #              -fbranch-target-load-optimize2 \
56 #              -fbtr-bb-exclusive \
57 #              -fselective-scheduling \
58 #              -fsel-sched-pipelining \
59 #              -fsel-sched-pipelining-outer-loops \
60 #              -funroll-loops \
61 #              -fvariable-expansion-in-unroller \
62 #              -fprefetch-loop-arrays \
63 #              -fgraphite-identity \
64 #              -floop-nest-optimize \
65
66 case ${USE_WHOLE_PROGRAM_OPTIMIZE} in
67    "Yes" | "yes" | "YES" )
68       LTO_FLAGS="-fwhole-program"
69       ;;
70    * )
71       LTO_FLAGS=""
72       ;;
73 esac
74
75 case ${COMPRESS_SYMBOLS} in
76    "Yes" | "yes" | "YES" )
77    COMPRESS_CFLAGS="-gz"
78    ;;
79    "No" | "no" | "NO" | * )
80    COMPRESS_CFLAGS=""
81    ;;
82 esac
83
84 case ${CSP_DEBUG} in
85    "Yes" | "yes" | "YES" )
86       MAKEFLAGS_DLL_LINK_BASE="-g -ggdb ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
87       MAKEFLAGS_BASE2="-g -ggdb ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
88       ;;
89    "No" | "no" | "NO" | * )
90       MAKEFLAGS_DLL_LINK_BASE="${MAKEFLAGS_BASE3}"
91       MAKEFLAGS_BASE2="${MAKEFLAGS_BASE3}"
92       ;;
93 esac
94
95 case ${USE_LTO} in
96    "Yes" | "yes" | "YES" )
97        MAKEFLAGS_LINK_BASE2="-flto=6 ${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
98        MAKEFLAGS_BASE2="-flto -ffat-lto-objects ${MAKEFLAGS_BASE2}"
99        ;;
100    "No" | "no" | "NO" | * )
101        MAKEFLAGS_LINK_BASE2="${MAKEFLAGS_BASE2}"
102        MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
103        ;;
104 esac
105
106 case ${USE_OPENMP} in
107    "Yes" | "yes" | "YES" )
108      CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=YES"
109    ;;
110    "No" | "no" | "NO" | * )
111      CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=NO"
112    ;;
113 esac
114
115 CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} \
116                   -DCMAKE_AR:STRING=gcc-ar \
117                   -DCMAKE_NM:STRING=gcc-nm \
118                   -DCMAKE_RANLIB:STRING=gcc-ranlib \
119                   "