mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
config/optimize, config/functions: refactor lto flags
Split up the LTO flags in config/optimize and assemble full C/CXX/LDFLAGS in config/functions. Add flags for parallel/single-threaded lto and fat/non-fat lto object creation. Change the default lto build flag to use non-fat lto objects. Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
57832185cc
commit
b03cb4cc2f
@ -2,9 +2,9 @@ setup_toolchain() {
|
||||
TARGET_AR_NM_RANLIB_PREFIX=""
|
||||
|
||||
if [ "$LTO_SUPPORT" = "yes" ] && flag_enabled "lto" "no"; then
|
||||
TARGET_CFLAGS+=" $CFLAGS_OPTIM_LTO"
|
||||
TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_LTO"
|
||||
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO"
|
||||
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"
|
||||
# static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of
|
||||
# default binutils versions
|
||||
TARGET_AR_NM_RANLIB_PREFIX="gcc-"
|
||||
|
@ -32,12 +32,12 @@ HOST_CFLAGS="$HOST_CFLAGS -Wno-format-security"
|
||||
HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security"
|
||||
|
||||
# lto flags
|
||||
CFLAGS_OPTIM_LTO="-flto -ffat-lto-objects"
|
||||
CXXFLAGS_OPTIM_LTO="-flto -ffat-lto-objects"
|
||||
LDFLAGS_OPTIM_LTO="-fuse-linker-plugin -flto"
|
||||
CFLAGS_OPTIM_NOLTO="-fno-lto"
|
||||
CXXFLAGS_OPTIM_NOLTO="-fno-lto"
|
||||
LDFLAGS_OPTIM_NOLTO="-fno-lto"
|
||||
FLAGS_OPTIM_LTO_NO_PARALLEL="-flto"
|
||||
FLAGS_OPTIM_LTO_PARALLEL="-flto=${CONCURRENCY_MAKE_LEVEL}"
|
||||
FLAGS_OPTIM_LTO_NO_FAT="-fno-fat-lto-objects"
|
||||
FLAGS_OPTIM_LTO_FAT="-ffat-lto-objects"
|
||||
FLAGS_OPTIM_LTO_OFF="-fno-lto"
|
||||
LDFLAGS_OPTIM_LTO_COMMON="-fuse-linker-plugin"
|
||||
|
||||
# gold flags
|
||||
LDFLAGS_OPTIM_GOLD="-fuse-ld=gold"
|
||||
|
Loading…
x
Reference in New Issue
Block a user