# This is build-parameters fo GCC/MinGW.
# Neither for GCC/Linux and LLVM.
#
+case ${LOCAL_ARCH_TYPE} in
+ "SSE2" | "sse2" )
+ ARCH_FLAGS="-march=pentium4 -mfpmath=sse"
+ ;;
+ "SSE3" | "sse3" )
+ ARCH_FLAGS="-march=prescott -mfpmath=sse"
+ ;;
+ "AVX" | "avx" )
+ ARCH_FLAGS="-march=pentium4 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mfpmath=sse"
+ ;;
+ "SSE1" | "sse1" | "pentium3" | "PENTIUM3" )
+ ARCH_FLAGS="-march=pentium3 -mfpmath=sse"
+ ;;
+ "No" | "no" | "686" )
+ ARCH_FLAGS="-march=i686"
+ ;;
+ * )
+ ARCH_FLAGS="-march=i686 -mtune=generic"
+ ;;
+ esac
case ${CSP_DEBUG} in
"Yes" | "yes" | "YES" )
- MAKEFLAGS_BASE2="-g -ggdb ${MAKEFLAGS_BASE} -DNDEBUG"
+ MAKEFLAGS_BASE2="-ggdb ${ARCH_FLAGS} ${MAKEFLAGS_BASE} ${ADDITIONAL_CFLAGS} -DNDEBUG"
;;
"No" | "no" | "NO" | * )
- MAKEFLAGS_BASE2="${MAKEFLAGS_BASE} -O3 \
- -fvect-cost-model=dynamic -ftree-vectorize \
- -ftree-loop-optimize -ftree-loop-if-convert-stores \
- -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops \
- -funroll-loops \
- -floop-nest-optimize \
- -msse -msse2 -mfpmath=sse \
+ MAKEFLAGS_BASE2="${MAKEFLAGS_BASE} -O2 \
+ ${ARCH_FLAGS} \
-std=c++11 \
+ ${ADDITIONAL_CFLAGS} \
-DNDEBUG "
+# -ftree-vectorize \
+# -ftree-loop-optimize \
+# -floop-nest-optimize \
;;
esac
+case ${USE_WHOLE_PROGRAM_OPTIMIZE} in
+ "Yes" | "yes" | "YES" )
+ LTO_FLAGS="-fwhole-program"
+ ;;
+ * )
+ LTO_FLAGS=""
+ ;;
+esac
+
+case ${USE_SANITIZER} in
+ "Yes" | "yes" | "YES" )
+ MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2} \
+ -fsanitize=address \
+ -fsanitize=undefined \
+ -fsanitize=vptr \
+ "
+ ;;
+ "No" | "no" | "NO" | * )
+ ;;
+esac
+
+case ${USE_STACK_PROTECTION} in
+ "Yes" | "yes" | "YES" )
+ MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
+ -fstack-protector \
+ "
+ ;;
+ "All" | "all" | "ALL" )
+ MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2} \
+ -fstack-protector-all \
+ "
+ ;;
+ "Strong" | "strong" | "STRONG" )
+ MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2} \
+ -fstack-protector-strong \
+ "
+ ;;
+ "No" | "no" | "NO" )
+ MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2} \
+ -fno-stack-protector \
+ "
+ ;;
+ "Default" | "default" | "DEFAULT" | * )
+ ;;
+esac
+
case ${USE_LTO} in
"Yes" | "yes" | "YES" )
- MAKEFLAGS_LINK_BASE="-flto -fwhole-program ${MAKEFLAGS_BASE2}"
+ MAKEFLAGS_LINK_BASE="-flto=${LTO_THREADS} ${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
+ MAKEFLAGS_BASE2="-flto -ffat-lto-objects ${MAKEFLAGS_BASE2}"
;;
"No" | "no" | "NO" | * )
MAKEFLAGS_LINK_BASE="${MAKEFLAGS_BASE2}"
+ MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
;;
esac
+case ${STRIP_SYMBOLS} in
+ "Yes" | "yes" | "YES" )
+ MAKEFLAGS_BASE2="-s ${MAKEFLAGS_BASE2}"
+ MAKEFLAGS_LINK_BASE="-s ${MAKEFLAGS_LINK_BASE}"
+ ;;
+ "No" | "no" | "NO" | * )
+ MAKEFLAGS_BASE2="${MAKEFLAGS_BASE2}"
+ MAKEFLAGS_LINK_BASE="${MAKEFLAGS_LINK_BASE}"
+ ;;
+esac
+case ${USE_OPENMP} in
+ "Yes" | "yes" | "YES" )
+ CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=YES"
+ ;;
+ "No" | "no" | "NO" | * )
+ CMAKE_APPENDFLAG="${CMAKE_APPENDFLAG} -DUSE_OPENMP=NO"
+ ;;
+esac
+
+#CMAKE_APPENDFLAG="-DUSE_QT5_4_APIS=ON -DUSE_MOVIE_LOADER=ON \
-CMAKE_APPENDFLAG="-DUSE_QT5_4_APIS=ON -DUSE_MOVIE_LOADER=ON \
+CMAKE_APPENDFLAG=" -DUSE_QT5_4_APIS=ON \
+ -DUSE_MOVIE_LOADER=ON \
-DUSE_MOVIE_SAVER=ON \
-DCMAKE_AR:STRING=i686-w64-mingw32-gcc-ar \
-DCMAKE_LD:STRING=i686-w64-mingw32-gcc-ld \