config/functions: support lto-parallel, lto-fat and lto-off build flags

Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
Matthias Reichl 2018-05-30 15:54:29 +02:00
parent b03cb4cc2f
commit fc6144ba37

View File

@ -1,13 +1,31 @@
setup_toolchain() { setup_toolchain() {
TARGET_AR_NM_RANLIB_PREFIX="" TARGET_AR_NM_RANLIB_PREFIX=""
if [ "$LTO_SUPPORT" = "yes" ] && flag_enabled "lto" "no"; then if [ "$LTO_SUPPORT" = "yes" ]; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" if flag_enabled "lto-parallel" "no"; then
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL" TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
# static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_PARALLEL"
# default binutils versions # static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of
TARGET_AR_NM_RANLIB_PREFIX="gcc-" # default binutils versions
TARGET_AR_NM_RANLIB_PREFIX="gcc-"
elif flag_enabled "lto-fat" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT"
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL"
TARGET_AR_NM_RANLIB_PREFIX="gcc-"
elif flag_enabled "lto" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL"
TARGET_AR_NM_RANLIB_PREFIX="gcc-"
fi
fi
if flag_enabled "lto-off" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_OFF"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_OFF"
TARGET_LDFLAGS+=" $FLAGS_OPTIM_LTO_OFF"
fi fi
# gold flag # gold flag