mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 21:26:49 +00:00
Merge pull request #2080 from MilhouseVH/le90_more_bs_optimisations
buildsystem: more optimisations
This commit is contained in:
commit
1d7f6e733e
@ -6,7 +6,7 @@
|
|||||||
# determine architecture's family
|
# determine architecture's family
|
||||||
TARGET_SUBARCH=x86_64
|
TARGET_SUBARCH=x86_64
|
||||||
|
|
||||||
TARGET_GCC_ARCH=$(echo $TARGET_SUBARCH | sed -e "s,-,,")
|
TARGET_GCC_ARCH="${TARGET_SUBARCH/-/}"
|
||||||
TARGET_KERNEL_ARCH=x86
|
TARGET_KERNEL_ARCH=x86
|
||||||
|
|
||||||
# setup ARCH specific *FLAGS
|
# setup ARCH specific *FLAGS
|
||||||
|
@ -189,6 +189,11 @@ get_pkg_variable() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# return 0 if $2 in space-separated list $1, otherwise return 1
|
||||||
|
listcontains() {
|
||||||
|
[[ ${1} =~ (^|[[:space:]])${2}($|[[:space:]]) ]] && return 0 || return 1
|
||||||
|
}
|
||||||
|
|
||||||
install_binary_addon() {
|
install_binary_addon() {
|
||||||
local addon_id="$1" addon_so
|
local addon_id="$1" addon_so
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ HOST_CPPFLAGS=""
|
|||||||
HOST_CFLAGS="-O2 -Wall -pipe -I$TOOLCHAIN/include"
|
HOST_CFLAGS="-O2 -Wall -pipe -I$TOOLCHAIN/include"
|
||||||
HOST_CXXFLAGS="$HOST_CFLAGS"
|
HOST_CXXFLAGS="$HOST_CFLAGS"
|
||||||
HOST_LDFLAGS="-Wl,-rpath,$TOOLCHAIN/lib -L$TOOLCHAIN/lib"
|
HOST_LDFLAGS="-Wl,-rpath,$TOOLCHAIN/lib -L$TOOLCHAIN/lib"
|
||||||
HOST_LIBDIR="$TOOLCHAIN/lib"
|
HOST_INCDIR="$TOOLCHAIN/include /usr/include"
|
||||||
|
|
||||||
# work around Ubuntu default C*FLAGS
|
# work around Ubuntu default C*FLAGS
|
||||||
# see https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-Wformat_-Wformat-security
|
# see https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-Wformat_-Wformat-security
|
||||||
@ -39,8 +39,13 @@ HOST_CFLAGS="$HOST_CFLAGS -Wno-format-security"
|
|||||||
HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security"
|
HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security"
|
||||||
|
|
||||||
# add distro specific library dirs
|
# add distro specific library dirs
|
||||||
|
if [ -z "$HOST_LIBDIR" ]; then
|
||||||
|
HOST_LIBDIR="$TOOLCHAIN/lib"
|
||||||
|
|
||||||
# ubuntu/debian specific "multiarch support"
|
# ubuntu/debian specific "multiarch support"
|
||||||
FAMILY_TRIPLET=$(echo $HOST_NAME | sed -e "s,$(uname -m),$(uname -i),")
|
MACHINE_HARDWARE_NAME="$(uname -m)"
|
||||||
|
MACHINE_HARDWARE_PLATFORM="$(uname -i)"
|
||||||
|
FAMILY_TRIPLET=${HOST_NAME/${MACHINE_HARDWARE_NAME}/${MACHINE_HARDWARE_PLATFORM}}
|
||||||
if [ -d /lib/$FAMILY_TRIPLET ]; then
|
if [ -d /lib/$FAMILY_TRIPLET ]; then
|
||||||
HOST_LIBDIR="$HOST_LIBDIR /lib/$FAMILY_TRIPLET"
|
HOST_LIBDIR="$HOST_LIBDIR /lib/$FAMILY_TRIPLET"
|
||||||
fi
|
fi
|
||||||
@ -49,7 +54,7 @@ HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security"
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# default multiarch support
|
# default multiarch support
|
||||||
case "`uname -m`" in
|
case "${MACHINE_HARDWARE_NAME}" in
|
||||||
i*86)
|
i*86)
|
||||||
if [ -d /lib32 ]; then
|
if [ -d /lib32 ]; then
|
||||||
HOST_LIBDIR="$HOST_LIBDIR /lib32"
|
HOST_LIBDIR="$HOST_LIBDIR /lib32"
|
||||||
@ -69,5 +74,5 @@ HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security"
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# default dirs
|
# default dirs
|
||||||
HOST_LIBDIR="$HOST_LIBDIR /lib /usr/lib"
|
export HOST_LIBDIR="$HOST_LIBDIR /lib /usr/lib"
|
||||||
HOST_INCDIR="$TOOLCHAIN/include /usr/include"
|
fi
|
||||||
|
@ -25,7 +25,7 @@ else
|
|||||||
TARGET_ARCH="$ARCH"
|
TARGET_ARCH="$ARCH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ROOT=`pwd`
|
ROOT="${PWD}"
|
||||||
DISTRO_DIR="$ROOT/distributions"
|
DISTRO_DIR="$ROOT/distributions"
|
||||||
PROJECT_DIR="$ROOT/projects"
|
PROJECT_DIR="$ROOT/projects"
|
||||||
LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/linux.$TARGET_ARCH.conf $ROOT/packages/linux/package.mk"
|
LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/linux.$TARGET_ARCH.conf $ROOT/packages/linux/package.mk"
|
||||||
@ -56,7 +56,7 @@ LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $PROJECT_DIR/
|
|||||||
|
|
||||||
# Need to point to your actual cc
|
# Need to point to your actual cc
|
||||||
# If you have ccache installed, take care that LOCAL_CC don't point to it
|
# If you have ccache installed, take care that LOCAL_CC don't point to it
|
||||||
LOCAL_CC=`which gcc`
|
[ -z "${LOCAL_CC}" ] && export LOCAL_CC="$(which gcc)"
|
||||||
|
|
||||||
if [ -z "$LOCAL_CC" ] ; then
|
if [ -z "$LOCAL_CC" ] ; then
|
||||||
echo "***** Please install gcc *****"
|
echo "***** Please install gcc *****"
|
||||||
@ -65,7 +65,7 @@ fi
|
|||||||
|
|
||||||
# Need to point to your actual g++
|
# Need to point to your actual g++
|
||||||
# If you have ccache installed, take care that LOCAL_CXX don't point to it
|
# If you have ccache installed, take care that LOCAL_CXX don't point to it
|
||||||
LOCAL_CXX=`which g++`
|
[ -z "${LOCAL_CXX}" ] && export LOCAL_CXX="$(which g++)"
|
||||||
|
|
||||||
# verbose compilation mode (yes/no)
|
# verbose compilation mode (yes/no)
|
||||||
VERBOSE="yes"
|
VERBOSE="yes"
|
||||||
@ -73,9 +73,7 @@ fi
|
|||||||
# Concurrency make level (-j option)
|
# Concurrency make level (-j option)
|
||||||
# Try value 1 (default) to 4 on single CPU computer, or more on
|
# Try value 1 (default) to 4 on single CPU computer, or more on
|
||||||
# multi-processor computer (like hyperthreading SMP CPU)
|
# multi-processor computer (like hyperthreading SMP CPU)
|
||||||
if test -z "${CONCURRENCY_MAKE_LEVEL}"; then
|
[ -z "${CONCURRENCY_MAKE_LEVEL}" ] && export CONCURRENCY_MAKE_LEVEL=$(grep -c '^processor[[:cntrl:]]*:' /proc/cpuinfo)
|
||||||
CONCURRENCY_MAKE_LEVEL=`cat /proc/cpuinfo | grep -c '^processor[[:cntrl:]]*:'`
|
|
||||||
fi
|
|
||||||
|
|
||||||
# cache size for ccache
|
# cache size for ccache
|
||||||
# Set the maximum size of the files stored in the cache. You can specify a
|
# Set the maximum size of the files stored in the cache. You can specify a
|
||||||
|
@ -16,7 +16,7 @@ set -e
|
|||||||
. config/arch.$TARGET_ARCH
|
. config/arch.$TARGET_ARCH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
HOST_NAME=`$LOCAL_CC -dumpmachine`
|
[ -z "${HOST_NAME}" ] && export HOST_NAME="$($LOCAL_CC -dumpmachine)"
|
||||||
TARGET_NAME=$TARGET_GCC_ARCH-libreelec-linux-gnu${TARGET_ABI}
|
TARGET_NAME=$TARGET_GCC_ARCH-libreelec-linux-gnu${TARGET_ABI}
|
||||||
|
|
||||||
BUILD=$ROOT/$BUILD_BASE.$DISTRONAME-${DEVICE:-$PROJECT}.$TARGET_ARCH-$LIBREELEC_VERSION
|
BUILD=$ROOT/$BUILD_BASE.$DISTRONAME-${DEVICE:-$PROJECT}.$TARGET_ARCH-$LIBREELEC_VERSION
|
||||||
@ -118,7 +118,7 @@ unset LD_LIBRARY_PATH
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$PKG_IS_ADDON" = "yes" ] ; then
|
if [ "$PKG_IS_ADDON" = "yes" ] ; then
|
||||||
[ -z $PKG_SECTION ] && PKG_ADDON_ID="$PKG_NAME" || PKG_ADDON_ID="`echo $PKG_SECTION | sed 's,/,.,g'`.$PKG_NAME"
|
[ -z $PKG_SECTION ] && PKG_ADDON_ID="$PKG_NAME" || PKG_ADDON_ID="${PKG_SECTION//\//.}.$PKG_NAME"
|
||||||
PKG_NEED_UNPACK="${PKG_NEED_UNPACK} $(get_pkg_directory $MEDIACENTER)"
|
PKG_NEED_UNPACK="${PKG_NEED_UNPACK} $(get_pkg_directory $MEDIACENTER)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ unset LD_LIBRARY_PATH
|
|||||||
echo "$PKG_URL"
|
echo "$PKG_URL"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
PKG_SOURCE_NAME="$(basename "$PKG_URL")"
|
PKG_SOURCE_NAME="${PKG_URL##*/}"
|
||||||
case $PKG_SOURCE_NAME in
|
case $PKG_SOURCE_NAME in
|
||||||
${PKG_NAME}-${PKG_VERSION}.*)
|
${PKG_NAME}-${PKG_VERSION}.*)
|
||||||
PKG_SOURCE_NAME=$PKG_SOURCE_NAME
|
PKG_SOURCE_NAME=$PKG_SOURCE_NAME
|
||||||
|
@ -32,8 +32,4 @@ PKG_AUTORECONF="no"
|
|||||||
|
|
||||||
get_graphicdrivers
|
get_graphicdrivers
|
||||||
|
|
||||||
for drv in $GRAPHIC_DRIVERS; do
|
listcontains "$GRAPHIC_DRIVERS" "vmware" && PKG_DEPENDS_TARGET+=" open-vm-tools"
|
||||||
if [ "$drv" = "vmware" ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET open-vm-tools"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
@ -35,11 +35,14 @@ fi
|
|||||||
PKG_MAKE_OPTS=""
|
PKG_MAKE_OPTS=""
|
||||||
PKG_MAKEINSTALL_OPTS=""
|
PKG_MAKEINSTALL_OPTS=""
|
||||||
|
|
||||||
PACKAGE_NAME=$(echo $1 | awk -F : '{print $1}')
|
if [ "${1//:/}" != "${1}" ]; then
|
||||||
TARGET=$(echo $1 | awk -F : '{print $2}')
|
PACKAGE_NAME="${1%:*}"
|
||||||
if [ -z "$TARGET" ]; then
|
TARGET="${1#*:}"
|
||||||
TARGET="target"
|
else
|
||||||
|
PACKAGE_NAME=$1
|
||||||
|
TARGET=
|
||||||
fi
|
fi
|
||||||
|
[ -z "$TARGET" ] && TARGET="target"
|
||||||
|
|
||||||
if [ -n "$PKG_ARCH" -a ! "$PKG_ARCH" = "any" ]; then
|
if [ -n "$PKG_ARCH" -a ! "$PKG_ARCH" = "any" ]; then
|
||||||
echo "$PKG_ARCH" | grep -q "$TARGET_ARCH" || exit 0
|
echo "$PKG_ARCH" | grep -q "$TARGET_ARCH" || exit 0
|
||||||
|
@ -32,11 +32,14 @@ if [ -z "$INSTALL" ] ; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# set defaults
|
# set defaults
|
||||||
PACKAGE_NAME=$(echo $1 | awk -F : '{print $1}')
|
if [ "${1//:/}" != "${1}" ]; then
|
||||||
TARGET=$(echo $1 | awk -F : '{print $2}')
|
PACKAGE_NAME="${1%:*}"
|
||||||
if [ -z "$TARGET" ]; then
|
TARGET="${1#*:}"
|
||||||
TARGET="target"
|
else
|
||||||
|
PACKAGE_NAME=$1
|
||||||
|
TARGET=
|
||||||
fi
|
fi
|
||||||
|
[ -z "$TARGET" ] && TARGET="target"
|
||||||
|
|
||||||
STAMP=$STAMPS_INSTALL/$PACKAGE_NAME/install_$TARGET
|
STAMP=$STAMPS_INSTALL/$PACKAGE_NAME/install_$TARGET
|
||||||
mkdir -p $STAMPS_INSTALL/$PACKAGE_NAME
|
mkdir -p $STAMPS_INSTALL/$PACKAGE_NAME
|
||||||
|
@ -25,11 +25,14 @@ if [ -z "$1" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PACKAGE_NAME=$(echo $1 | awk -F : '{print $1}')
|
if [ "${1//:/}" != "${1}" ]; then
|
||||||
TARGET=$(echo $1 | awk -F : '{print $2}')
|
PACKAGE_NAME="${1%:*}"
|
||||||
if [ -z "$TARGET" ]; then
|
TARGET="${1#*:}"
|
||||||
TARGET="target"
|
else
|
||||||
|
PACKAGE_NAME=$1
|
||||||
|
TARGET=
|
||||||
fi
|
fi
|
||||||
|
[ -z "$TARGET" ] && TARGET="target"
|
||||||
|
|
||||||
if [ -n "$PKG_ARCH" -a ! "$PKG_ARCH" = "any" ]; then
|
if [ -n "$PKG_ARCH" -a ! "$PKG_ARCH" = "any" ]; then
|
||||||
echo "$PKG_ARCH" | grep -q "$TARGET_ARCH" || exit 0
|
echo "$PKG_ARCH" | grep -q "$TARGET_ARCH" || exit 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user