OSDN Git Service

[BUILD] Separate threads definition for LTO.
[csp-qt/common_source_project-fm7.git] / source / build-cmake / params / buildvars_linux_params_gcc.dat
index 923da63..4619863 100644 (file)
 CCMAKE_CC=gcc
 CCMAKE_CXX=g++
 
+if [ -v CC_SUFFIX ] ; then
+   CCMAKE_CC=${CCMAKE_CC}-${CC_SUFFIX}
+   CCMAKE_CXX=${CCMAKE_CXX}-${CC_SUFFIX}
+   if [ ${CC_SUFFIX} -le 5 ] ; then
+      MAKEFLAGS_BASE="-std=gnu++11 ${MAKEFLAGS_BASE}"
+   fi
+fi
+if [ -v CC_PREFIX ] ; then
+   CCMAKE_CC=${CC_PREFIX}-${CCMAKE_CC}
+   CCMAKE_CXX=${CC_PREFIX}-${CCMAKE_CXX}
+fi
+if [ -v CC_PATH ] ; then
+   CCMAKE_CC=${CC_PATH}/${CCMAKE_CC}
+   CCMAKE_CXX=${CC_PATH}/${CCMAKE_CXX}
+fi
+
 case ${USE_RADICAL_OPTIMIZE} in
    "Yes" | "yes" | "YES" )
-   MAKEFLAGS_BASE3= "
+      MAKEFLAGS_BASE3=" \
                -O3 \
-               -fvect-cost-model=dynamic -ftree-vectorize \
-               -ftree-loop-distribute-patterns \
-              -ftree-loop-optimize -ftree-loop-if-convert-stores \
-              -fbranch-probabilities -fbranch-target-load-optimize \
-              -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops \
-              -funroll-loops \
-              -fgraphite-identity \
-              -floop-nest-optimize \
               -msse -msse2 \
+              -Wall \
                ${MAKEFLAGS_BASE} \
               "
-              
+              ;;
    "No" | "no" | "NO" | * )
-   MAKEFLAGS_BASE3="-g -ggdb \
+      MAKEFLAGS_BASE3=" \
                -O2 \
+              -mtune=generic \
+              -ftree-vectorize \
               -funroll-loops \
-              -floop-nest-optimize \
               -msse -msse2 \
+              -Wall \
                ${MAKEFLAGS_BASE} \
               "
               ;;
 esac
 
+case ${USE_SANITIZER} in
+   "Yes" | "yes" | "YES" )
+      MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
+              -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_BASE3="${MAKEFLAGS_BASE3} \
+              -fstack-protector-all \
+                  "
+                  ;;
+   "Strong" | "strong" | "STRONG" )
+      MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
+              -fstack-protector-strong \
+                  "
+                  ;;
+   "No" | "no" | "NO" )
+      MAKEFLAGS_BASE3="${MAKEFLAGS_BASE3} \
+              -fno-stack-protector \
+                  "
+                  ;;
+   "Default" | "default" | "DEFAULT" | * )
+           ;;
+esac   
+
+#             -fstack-clash-protection \
+#             -ftree-vectorize \
+#             -ftree-loop-vectorize \
+#               -ftree-loop-distribute-patterns \
+#             -ftree-loop-optimize \
+#             -ftree-loop-if-convert-stores \
+#             -ftree-loop-distribution \
+#             -ftree-loop-ivcanon \
+#              -fvect-cost-model=unlimited \
+#             -fsimd-cost-model=unlimited \
+#             -fivopts \
+#             -fbranch-probabilities \
+#             -fbranch-target-load-optimize \
+#             -fbranch-target-load-optimize2 \
+#             -fbtr-bb-exclusive \
+#             -fselective-scheduling \
+#             -fsel-sched-pipelining \
+#             -fsel-sched-pipelining-outer-loops \
+#             -funroll-loops \
+#             -fvariable-expansion-in-unroller \
+#             -fprefetch-loop-arrays \
+#             -fgraphite-identity \
+#             -floop-nest-optimize \
+
+case ${USE_WHOLE_PROGRAM_OPTIMIZE} in
+   "Yes" | "yes" | "YES" )
+      LTO_FLAGS="-fwhole-program"
+      ;;
+   * )
+      LTO_FLAGS=""
+      ;;
+esac
+
+case ${COMPRESS_SYMBOLS} in
+   "Yes" | "yes" | "YES" )
+   COMPRESS_CFLAGS="-gz=zlib"
+   ;;
+   "No" | "no" | "NO" | * )
+   COMPRESS_CFLAGS=""
+   ;;
+esac
+
 case ${CSP_DEBUG} in
    "Yes" | "yes" | "YES" )
-      MAKEFLAGS_BASE2="-g -ggdb ${MAKEFLAGS_BASE3} -DNDEBUG"
+      MAKEFLAGS_DLL_LINK_BASE="-ggdb ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
+      MAKEFLAGS_BASE2="-ggdb  ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
       ;;
    "No" | "no" | "NO" | * )
-      MAKEFLAGS_BASE2="-g -ggdb ${MAKEFLAGS_BASE3}"
-       ;;
+      MAKEFLAGS_DLL_LINK_BASE="${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3}"
+      MAKEFLAGS_BASE2="${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3}"
+      ;;
 esac
 
 case ${USE_LTO} in
    "Yes" | "yes" | "YES" )
-       MAKEFLAGS_LINK_BASE2="-flto=6 -fwhole-program ${MAKEFLAGS_BASE2}"
-       MAKEFLAGS_BASE2="-flto -ffat-lto-objects ${MAKEFLAGS_BASE2}"
+       MAKEFLAGS_LINK_BASE2="-flto=${LTO_THREADS} -flto-compression-level=9 ${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
+       MAKEFLAGS_BASE2="-flto -flto-compression-level=9 -ffat-lto-objects ${MAKEFLAGS_BASE2}"
        ;;
    "No" | "no" | "NO" | * )
        MAKEFLAGS_LINK_BASE2="${MAKEFLAGS_BASE2}"
@@ -53,6 +145,15 @@ case ${USE_LTO} in
        ;;
 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="${CMAKE_APPENDFLAG} \
                   -DCMAKE_AR:STRING=gcc-ar \
                  -DCMAKE_NM:STRING=gcc-nm \