OSDN Git Service

[Build][Linux] buildvars.dat: Add "USE_SHRINK_DEBUG_SYMBOL" flag to save disk space.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 27 Feb 2019 15:20:48 +0000 (00:20 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 27 Feb 2019 15:20:48 +0000 (00:20 +0900)
source/build-cmake/buildvars.dat.tmpl
source/build-cmake/params/buildvars_linux_params_gcc.dat

index 3d10bf0..4ec2b71 100644 (file)
@@ -26,6 +26,10 @@ USE_WHOLE_PROGRAM_OPTIMIZE="No"
 # Threads when using LTO.
 LTO_THREADS=6
 
+# Shrinked debug symbols;
+# This may not be used both LTO.
+USE_SHRINK_DEBUG_SYMBOL="No"
+
 # "No" or "Yes"
 USE_OPENMP="No"
 
index 4e90ded..9cbcb13 100644 (file)
@@ -123,10 +123,24 @@ case ${COMPRESS_SYMBOLS} in
    ;;
 esac
 
+#ToDo: Its ugly hack.
+if [ -z ${EXTRA_DLL_DIR} ] ; then
+   EXTRA_DLL_DIR="/usr/local/lib/x86_64-linux-gnu"
+fi
+    
+
+case ${USE_SHRINK_DEBUG_SYMBOL} in
+   "Yes" | "yes" | "YES" )
+       EXTRA_LINKER_FLAGS="-L${EXTRA_DLL_DIR} -fuse-ld=gold -Wl,--gdb-index -Wl,--compress-debug-sections,zlib ${EXTRA_LINKER_FLAGS}"
+       EXTRA_LINKER_DLL_FLAGS="-L${EXTRA_DLL_DIR} -fuse-ld=gold -Wl,--gdb-index -Wl,--compress-debug-sections,zlib ${EXTRA_LINKER_DLL_FLAGS}"
+       MAKEFLAGS_BASE3="-gsplit-dwarf ${MAKEFLAGS_BASE3}"
+       ;;
+esac
+
 case ${CSP_DEBUG} in
    "Yes" | "yes" | "YES" )
-      MAKEFLAGS_DLL_LINK_BASE="-ggdb ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
-      MAKEFLAGS_BASE2="-ggdb  ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
+      MAKEFLAGS_DLL_LINK_BASE="${EXTRA_LINKER_DLL_FLAGS} ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
+      MAKEFLAGS_BASE2="-ggdb ${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3} -DNDEBUG"
       ;;
    "No" | "no" | "NO" | * )
       MAKEFLAGS_DLL_LINK_BASE="${COMPRESS_CFLAGS} ${MAKEFLAGS_BASE3}"
@@ -144,7 +158,7 @@ fi
 
 case ${USE_LTO} in
    "Yes" | "yes" | "YES" )
-       MAKEFLAGS_LINK_BASE2="${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
+       MAKEFLAGS_LINK_BASE2="${EXTRA_LINKER_FLAGS} ${LTO_FLAGS} ${MAKEFLAGS_BASE2}"
        MAKEFLAGS_BASE2="${LTO_FLAGS2} ${MAKEFLAGS_BASE2}"
        ;;
    "No" | "no" | "NO" | * )