OSDN Git Service

[Build][GCC] Fix FTBFS without setting LTO_THREADS value and selecting USE_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="-g  ${ARCH_FLAGS} ${MAKEFLAGS_BASE} ${ADDITIONAL_CFLAGS} -DNDEBUG"
30      ;;
31    "No" | "no" | "NO" | * )
32      MAKEFLAGS_BASE2="${MAKEFLAGS_BASE} -O3 \
33                 ${ARCH_FLAGS} \
34                 -std=c++11 \
35                 ${ADDITIONAL_CFLAGS} \
36                 -DNDEBUG "
37 #                -ftree-vectorize \
38 #               -ftree-loop-optimize \
39 #               -floop-nest-optimize \
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 if [ -n "${LTO_THREADS}" ] ;  then 
90    LTO_FLAGS="-flto=${LTO_THREADS} -flto-compression-level=9 ${LTO_FLAGS}"
91    LTO_FLAGS2="-flto -ffat-lto-objects"
92 else
93    LTO_FLAGS=""
94    LTO_FLAGS2=""
95 fi
96 case ${USE_LTO} in
97    "Yes" | "yes" | "YES" )
98        MAKEFLAGS_LINK_BASE="${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
99        MAKEFLAGS_BASE2="${LTO_FLAGS2} ${MAKEFLAGS_BASE2}"
100        ;;
101    "No" | "no" | "NO" | * )
102        MAKEFLAGS_LINK_BASE="${MAKEFLAGS_BASE2}"
103        MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
104        ;;
105 esac
106 case ${STRIP_SYMBOLS} in
107    "Yes" | "yes" | "YES" )
108      MAKEFLAGS_BASE2="-s ${MAKEFLAGS_BASE2}"
109      MAKEFLAGS_LINK_BASE="-s ${MAKEFLAGS_LINK_BASE}"
110    ;;
111    "No" | "no" | "NO" | * )
112      MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
113      MAKEFLAGS_LINK_BASE="${MAKEFLAGS_LINK_BASE}"
114    ;;
115 esac
116 case ${USE_OPENMP} in
117    "Yes" | "yes" | "YES" )
118      CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=YES"
119    ;;
120    "No" | "no" | "NO" | * )
121      CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=NO"
122    ;;
123 esac
124
125 #CMAKE_APPENDFLAG="-DUSE_QT5_4_APIS=ON -DUSE_MOVIE_LOADER=ON \
126
127 CMAKE_APPENDFLAG=" -DUSE_QT5_4_APIS=ON \
128                    -DUSE_MOVIE_LOADER=ON \
129                    -DUSE_MOVIE_SAVER=ON \
130                    -DCMAKE_AR:STRING=i686-w64-mingw32-gcc-ar \
131                    -DCMAKE_LD:STRING=i686-w64-mingw32-gcc-ld \
132                    -DCMAKE_NM:STRING=i686-w64-mingw32-gcc-nm \
133                    -DCMAKE_RANLIB:STRING=i686-w64-mingw32-gcc-ranlib \
134            "
135