Merge pull request #3524 from antonlacon/speed-flag

buildsystem: add "speed" flag for package building
This commit is contained in:
MilhouseVH 2019-06-12 14:56:59 +01:00 committed by GitHub
commit 7ee271342a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 3 deletions

View File

@ -221,6 +221,18 @@ setup_toolchain() {
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_GOLD"
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
if flag_enabled "pic" "no"; then
TARGET_CFLAGS+=" $CFLAGS_OPTIM_PIC"

View File

@ -1,4 +1,3 @@
GCC_OPTIM="-Os"
# Linker hash-style is set to gnu via gcc default
LD_OPTIM="-Wl,--as-needed"
@ -15,7 +14,7 @@ fi
NINJA_OPTS=""
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_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM"
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
@ -43,6 +42,16 @@ LDFLAGS_OPTIM_LTO_COMMON="-fuse-linker-plugin"
# gold flags
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
CFLAGS_OPTIM_PIC="-fPIC -DPIC"
CXXFLAGS_OPTIM_PIC="-fPIC -DPIC"

View File

@ -10,7 +10,7 @@ PKG_SITE="http://www.gnu.org/software/gdb/"
PKG_URL="http://ftpmirror.gnu.org/gdb/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain zlib ncurses expat"
PKG_LONGDESC="GNU Project debugger, allows you to see what is going on inside another program while it executes."
# gdb could fail on runtime if build with LTO support
PKG_BUILD_FLAGS="+size"
PKG_CONFIGURE_OPTS_TARGET="bash_cv_have_mbstate_t=set \
--disable-shared \

View File

@ -7,6 +7,7 @@ PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv"
PKG_DEPENDS_TARGET="toolchain JsonSchemaBuilder:host TexturePacker:host Python2 zlib systemd lzo pcre swig:host libass curl fontconfig fribidi tinyxml libjpeg-turbo freetype libcdio taglib libxml2 libxslt rapidjson sqlite ffmpeg crossguid giflib libdvdnav libhdhomerun libfmt lirc libfstrcmp flatbuffers:host flatbuffers"
PKG_LONGDESC="A free and open source cross-platform media player."
PKG_BUILD_FLAGS="+speed"
PKG_PATCH_DIRS="$KODI_VENDOR"