OSDN Git Service

[BUILD] Separate threads definition for LTO.
[csp-qt/common_source_project-fm7.git] / source / build-cmake / params / buildvars_mingw_params_gcc.dat
1 ################
2 #
3 # This is build-parameters fo GCC/MinGW.
4 # Neither for GCC/Linux and LLVM.
5 #
6 case ${LOCAL_ARCH_TYPE} in 
7    "SSE2" | "sse2" )
8       ARCH_FLAGS="-march=pentium4 -mfpmath=sse"
9       ;;
10    "SSE3" | "sse3" )
11       ARCH_FLAGS="-march=prescott  -mfpmath=sse"
12       ;;
13    "AVX" | "avx" )
14       ARCH_FLAGS="-march=pentium4 -msse3  -mssse3 -msse4.1 -msse4.2 -mavx -mfpmath=sse"
15       ;;
16    "SSE1" | "sse1" | "pentium3" | "PENTIUM3" )
17       ARCH_FLAGS="-march=pentium3 -mfpmath=sse"
18       ;;
19    "No" | "no" | "686" )
20       ARCH_FLAGS="-march=i686"
21       ;;
22    * )
23       ARCH_FLAGS="-march=i686 -mtune=generic"
24       ;;
25  esac
26
27 case ${CSP_DEBUG} in
28    "Yes" | "yes" | "YES" )
29      MAKEFLAGS_BASE2="-ggdb ${ARCH_FLAGS} ${MAKEFLAGS_BASE} ${ADDITIONAL_CFLAGS} -DNDEBUG"
30      ;;
31    "No" | "no" | "NO" | * )
32      MAKEFLAGS_BASE2="${MAKEFLAGS_BASE} -O3 \
33                 ${ARCH_FLAGS} \
34                 -ftree-vectorize \
35                 -ftree-loop-optimize \
36                 -floop-nest-optimize \
37                 -std=c++11 \
38                 ${ADDITIONAL_CFLAGS} \
39                 -DNDEBUG "
40      ;;
41 esac
42
43 case ${USE_WHOLE_PROGRAM_OPTIMIZE} in
44    "Yes" | "yes" | "YES" )
45       LTO_FLAGS="-fwhole-program"
46       ;;
47    * )
48       LTO_FLAGS=""
49       ;;
50 esac
51
52 case ${USE_SANITIZER} in
53    "Yes" | "yes" | "YES" )
54       MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2} \
55                -fsanitize=address \
56                -fsanitize=undefined \
57                -fsanitize=vptr \
58                    "
59                    ;;
60    "No" | "no" | "NO" | * )
61                    ;;
62 esac    
63
64 case ${USE_STACK_PROTECTION} in
65    "Yes" | "yes" | "YES" )
66       MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
67                -fstack-protector \
68                    "
69                    ;;
70    "All" | "all" | "ALL" )
71       MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2} \
72                -fstack-protector-all \
73                    "
74                    ;;
75    "Strong" | "strong" | "STRONG" )
76       MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2} \
77                -fstack-protector-strong \
78                    "
79                    ;;
80    "No" | "no" | "NO" )
81       MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2} \
82                -fno-stack-protector \
83                    "
84                    ;;
85    "Default" | "default" | "DEFAULT" | * )
86            ;;
87 esac    
88
89 case ${USE_LTO} in
90    "Yes" | "yes" | "YES" )
91        MAKEFLAGS_LINK_BASE="-flto=${LTO_THREADS} ${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
92        MAKEFLAGS_BASE2="-flto -ffat-lto-objects ${MAKEFLAGS_BASE2}"
93        ;;
94    "No" | "no" | "NO" | * )
95        MAKEFLAGS_LINK_BASE="${MAKEFLAGS_BASE2}"
96        MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
97        ;;
98 esac
99 case ${STRIP_SYMBOLS} in
100    "Yes" | "yes" | "YES" )
101      MAKEFLAGS_BASE2="-s ${MAKEFLAGS_BASE2}"
102      MAKEFLAGS_LINK_BASE="-s ${MAKEFLAGS_LINK_BASE}"
103    ;;
104    "No" | "no" | "NO" | * )
105      MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
106      MAKEFLAGS_LINK_BASE="${MAKEFLAGS_LINK_BASE}"
107    ;;
108 esac
109 case ${USE_OPENMP} in
110    "Yes" | "yes" | "YES" )
111      CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=YES"
112    ;;
113    "No" | "no" | "NO" | * )
114      CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=NO"
115    ;;
116 esac
117
118 #CMAKE_APPENDFLAG="-DUSE_QT5_4_APIS=ON -DUSE_MOVIE_LOADER=ON \
119
120 CMAKE_APPENDFLAG=" -DUSE_QT5_4_APIS=ON \
121                    -DUSE_MOVIE_LOADER=ON \
122                    -DUSE_MOVIE_SAVER=ON \
123                    -DCMAKE_AR:STRING=i686-w64-mingw32-gcc-ar \
124                    -DCMAKE_LD:STRING=i686-w64-mingw32-gcc-ld \
125                    -DCMAKE_NM:STRING=i686-w64-mingw32-gcc-nm \
126                    -DCMAKE_RANLIB:STRING=i686-w64-mingw32-gcc-ranlib \
127            "
128