mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
buildsystem: add package flags to set compiler optimization
speed: use O3 size: use Os default: use O2 The priority order is to use speed if set, then size, and fallback to default when neither are set. Signed-off-by: Ian Leonard <antonlacon@gmail.com>
This commit is contained in:
parent
77c88ba2ee
commit
c5e535505c
@ -221,6 +221,18 @@ setup_toolchain() {
|
|||||||
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_GOLD"
|
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_GOLD"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# compiler optimization, descending priority: speed, size, default
|
||||||
|
if flag_enabled "speed" "no"; then
|
||||||
|
TARGET_CFLAGS+=" $CFLAGS_OPTIM_SPEED"
|
||||||
|
TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_SPEED"
|
||||||
|
elif flag_enabled "size" "no"; then
|
||||||
|
TARGET_CFLAGS+=" $CFLAGS_OPTIM_SIZE"
|
||||||
|
TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_SIZE"
|
||||||
|
else
|
||||||
|
TARGET_CFLAGS+=" $CXXFLAGS_OPTIM_DEFAULT"
|
||||||
|
TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_DEFAULT"
|
||||||
|
fi
|
||||||
|
|
||||||
# position-independent code
|
# position-independent code
|
||||||
if flag_enabled "pic" "no"; then
|
if flag_enabled "pic" "no"; then
|
||||||
TARGET_CFLAGS+=" $CFLAGS_OPTIM_PIC"
|
TARGET_CFLAGS+=" $CFLAGS_OPTIM_PIC"
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
GCC_OPTIM="-Os"
|
|
||||||
# Linker hash-style is set to gnu via gcc default
|
# Linker hash-style is set to gnu via gcc default
|
||||||
LD_OPTIM="-Wl,--as-needed"
|
LD_OPTIM="-Wl,--as-needed"
|
||||||
|
|
||||||
@ -15,7 +14,7 @@ fi
|
|||||||
NINJA_OPTS=""
|
NINJA_OPTS=""
|
||||||
|
|
||||||
TARGET_CPPFLAGS=""
|
TARGET_CPPFLAGS=""
|
||||||
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $PROJECT_CFLAGS"
|
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $PROJECT_CFLAGS"
|
||||||
TARGET_CXXFLAGS="$TARGET_CFLAGS"
|
TARGET_CXXFLAGS="$TARGET_CFLAGS"
|
||||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM"
|
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM"
|
||||||
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
|
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
|
||||||
@ -43,6 +42,16 @@ LDFLAGS_OPTIM_LTO_COMMON="-fuse-linker-plugin"
|
|||||||
# gold flags
|
# gold flags
|
||||||
LDFLAGS_OPTIM_GOLD="-fuse-ld=gold"
|
LDFLAGS_OPTIM_GOLD="-fuse-ld=gold"
|
||||||
|
|
||||||
|
# default compiler optimization
|
||||||
|
CFLAGS_OPTIM_DEFAULT="-O2"
|
||||||
|
CXXFLAGS_OPTIM_DEFAULT="$CFLAGS_OPTIM_DEFAULT"
|
||||||
|
# speed flag
|
||||||
|
CFLAGS_OPTIM_SPEED="-O3"
|
||||||
|
CXXFLAGS_OPTIM_SPEED="$CFLAGS_OPTIM_SPEED"
|
||||||
|
# size flag
|
||||||
|
CFLAGS_OPTIM_SIZE="-Os"
|
||||||
|
CXXFLAGS_OPTIM_SIZE="$CFLAGS_OPTIM_SIZE"
|
||||||
|
|
||||||
# position-independent code
|
# position-independent code
|
||||||
CFLAGS_OPTIM_PIC="-fPIC -DPIC"
|
CFLAGS_OPTIM_PIC="-fPIC -DPIC"
|
||||||
CXXFLAGS_OPTIM_PIC="-fPIC -DPIC"
|
CXXFLAGS_OPTIM_PIC="-fPIC -DPIC"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user