mirror of
https://github.com/libretro/Lakka-LibreELEC.git
synced 2025-02-07 01:06:49 +00:00
config/path: split *FLAGS optimization to an seperate file 'config/optimize', cleanup, add -fPIC to LDFLAGS (for host and target), thanks to Wintemrute
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
0006f62633
commit
d8a3ea4c1b
28
config/optimize
Normal file
28
config/optimize
Normal file
@ -0,0 +1,28 @@
|
||||
if [ "$OPTIMIZATIONS" = speed ];then
|
||||
GCC_OPTIM="-O4"
|
||||
LD_OPTIM=""
|
||||
fi
|
||||
|
||||
if [ "$OPTIMIZATIONS" = normal ];then
|
||||
GCC_OPTIM="-O2"
|
||||
LD_OPTIM=""
|
||||
fi
|
||||
|
||||
if [ "$OPTIMIZATIONS" = size ];then
|
||||
GCC_OPTIM="-Os"
|
||||
LD_OPTIM=""
|
||||
fi
|
||||
|
||||
GCC_OPTIM="$GCC_OPTIM -ffast-math"
|
||||
GCC_OPTIM="$GCC_OPTIM -ftree-loop-distribution"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-interchange"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-strip-mine"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-block"
|
||||
GCC_OPTIM="$GCC_OPTIM -fgraphite-identity"
|
||||
GCC_OPTIM="$GCC_OPTIM -fexcess-precision=fast"
|
||||
GCC_OPTIM="$GCC_OPTIM -flto"
|
||||
|
||||
LD_OPTIM="$LD_OPTIM -fuse-linker-plugin"
|
||||
LD_OPTIM="$LD_OPTIM -fuse-ld=gold"
|
||||
LD_OPTIM="$LD_OPTIM -Wl,--as-needed"
|
||||
|
59
config/path
59
config/path
@ -101,27 +101,7 @@ XORG_PATH_DRIVERS=/usr/lib/xorg/modules/drivers
|
||||
TOOLCHAIN_LANGUAGES=c
|
||||
[ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++
|
||||
|
||||
if [ "$OPTIMIZATIONS" = speed ];then
|
||||
GCC_OPTIM="-O3 -ffast-math $PROJECT_CFLAGS"
|
||||
GCC_OPTIM="$GCC_OPTIM -ftree-loop-distribution"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-interchange"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-strip-mine"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-block"
|
||||
GCC_OPTIM="$GCC_OPTIM -fgraphite-identity"
|
||||
fi
|
||||
|
||||
if [ "$OPTIMIZATIONS" = normal ];then
|
||||
GCC_OPTIM="-O2 -ffast-math $PROJECT_CFLAGS"
|
||||
fi
|
||||
|
||||
if [ "$OPTIMIZATIONS" = size ];then
|
||||
GCC_OPTIM="-Os -ffast-math $PROJECT_CFLAGS"
|
||||
GCC_OPTIM="$GCC_OPTIM -ftree-loop-distribution"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-interchange"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-strip-mine"
|
||||
GCC_OPTIM="$GCC_OPTIM -floop-block"
|
||||
GCC_OPTIM="$GCC_OPTIM -fgraphite-identity"
|
||||
fi
|
||||
. config/optimize
|
||||
|
||||
TARGET_CC=${TARGET_PREFIX}gcc
|
||||
TARGET_CXX=${TARGET_PREFIX}g++
|
||||
@ -132,33 +112,37 @@ TARGET_NM=${TARGET_PREFIX}nm
|
||||
TARGET_RANLIB=${TARGET_PREFIX}ranlib
|
||||
TARGET_OBJCOPY=${TARGET_PREFIX}objcopy
|
||||
TARGET_STRIP=${TARGET_PREFIX}strip
|
||||
|
||||
TARGET_CPPFLAGS=
|
||||
TARGET_CFLAGS="$GCC_OPTIM -Wall -pipe"
|
||||
TARGET_CFLAGS="-Wall -pipe $GCC_OPTIM $PROJECT_CFLAGS"
|
||||
TARGET_CXXFLAGS="$TARGET_CFLAGS"
|
||||
TARGET_LDFLAGS=""
|
||||
TARGET_PKG_CONFIG_PATH=""
|
||||
TARGET_PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig"
|
||||
TARGET_PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX"
|
||||
TARGET_LDFLAGS="$GCC_OPTIM $LD_OPTIM"
|
||||
|
||||
case $TARGET_ARCH in
|
||||
i386)
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -march=$TARGET_CPU -m32 -fexcess-precision=fast"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -march=$TARGET_CPU -m32 -fexcess-precision=fast"
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -march=$TARGET_CPU -m32"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -march=$TARGET_CPU -m32"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS -march=$TARGET_CPU -m32"
|
||||
;;
|
||||
x86_64)
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -fPIC -march=$TARGET_CPU -m64 -fexcess-precision=fast"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -fPIC -march=$TARGET_CPU -m64 -fexcess-precision=fast"
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -fPIC -march=$TARGET_CPU -m64"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -fPIC -march=$TARGET_CPU -m64"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS -fPIC -march=$TARGET_CPU -m64"
|
||||
;;
|
||||
esac
|
||||
|
||||
TARGET_PKG_CONFIG_PATH=""
|
||||
TARGET_PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig"
|
||||
TARGET_PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX"
|
||||
|
||||
if [ "$DEBUG" = yes ]; then
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -ggdb"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -ggdb"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS -ggdb"
|
||||
else
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -flto -fomit-frame-pointer"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -flto -fomit-frame-pointer"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS -s -fuse-linker-plugin -fuse-ld=gold -flto -Wl,--as-needed"
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS-fomit-frame-pointer"
|
||||
TARGET_CXXFLAGS="$TARGET_CXXFLAGS -fomit-frame-pointer"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS -s"
|
||||
fi
|
||||
|
||||
HOST_AWK=gawk
|
||||
@ -171,22 +155,25 @@ HOST_NM=nm
|
||||
HOST_RANLIB=ranlib
|
||||
HOST_OBJCOPY=objcopy
|
||||
HOST_STRIP=strip
|
||||
|
||||
HOST_CPPFLAGS=""
|
||||
HOST_CFLAGS="-O2 -Wall -pipe -I$ROOT/$TOOLCHAIN/include"
|
||||
HOST_CXXFLAGS="$HOST_CFLAGS"
|
||||
HOST_LDFLAGS="-Wl,-rpath,$ROOT/$TOOLCHAIN/lib -L$ROOT/$TOOLCHAIN/lib"
|
||||
HOST_PKG_CONFIG_PATH=""
|
||||
HOST_PKG_CONFIG_LIBDIR="$ROOT/$TOOLCHAIN/lib/pkgconfig:$ROOT/$TOOLCHAIN/share/pkgconfig"
|
||||
HOST_PKG_CONFIG_SYSROOT_DIR=""
|
||||
|
||||
# use -fPIC when necessary
|
||||
case "`uname -m`" in
|
||||
x86_64|ppc64|arm|armeb|armel)
|
||||
HOST_CFLAGS="$HOST_CFLAGS -fPIC"
|
||||
HOST_CXXFLAGS="$HOST_CXXFLAGS -fPIC"
|
||||
HOST_LDFLAGS="$HOST_LDFLAGS -fPIC"
|
||||
;;
|
||||
esac
|
||||
|
||||
HOST_PKG_CONFIG_PATH=""
|
||||
HOST_PKG_CONFIG_LIBDIR="$ROOT/$TOOLCHAIN/lib/pkgconfig:$ROOT/$TOOLCHAIN/share/pkgconfig"
|
||||
HOST_PKG_CONFIG_SYSROOT_DIR=""
|
||||
|
||||
export CCACHE_DIR=$ROOT/$BUILD/.ccache
|
||||
export MAKEFLAGS=-j$CONCURRENCY_MAKE_LEVEL
|
||||
export PKG_CONFIG=$ROOT/$TOOLCHAIN/bin/pkg-config
|
||||
|
Loading…
x
Reference in New Issue
Block a user