buildsystem: eliminate other unecessary sub process usage

This commit is contained in:
MilhouseVH 2017-10-09 06:18:29 +01:00
parent cf6ed26936
commit 9928350609
3 changed files with 38 additions and 33 deletions

View File

@ -31,7 +31,7 @@ HOST_CPPFLAGS=""
HOST_CFLAGS="-O2 -Wall -pipe -I$TOOLCHAIN/include"
HOST_CXXFLAGS="$HOST_CFLAGS"
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
# see https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-Wformat_-Wformat-security
@ -39,35 +39,40 @@ HOST_CFLAGS="$HOST_CFLAGS -Wno-format-security"
HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security"
# add distro specific library dirs
if [ -z "$HOST_LIBDIR" ]; then
HOST_LIBDIR="$TOOLCHAIN/lib"
# ubuntu/debian specific "multiarch support"
FAMILY_TRIPLET=$(echo $HOST_NAME | sed -e "s,$(uname -m),$(uname -i),")
if [ -d /lib/$FAMILY_TRIPLET ]; then
HOST_LIBDIR="$HOST_LIBDIR /lib/$FAMILY_TRIPLET"
fi
if [ -d /usr/lib/$FAMILY_TRIPLET ]; then
HOST_LIBDIR="$HOST_LIBDIR /usr/lib/$FAMILY_TRIPLET"
fi
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
HOST_LIBDIR="$HOST_LIBDIR /lib/$FAMILY_TRIPLET"
fi
if [ -d /usr/lib/$FAMILY_TRIPLET ]; then
HOST_LIBDIR="$HOST_LIBDIR /usr/lib/$FAMILY_TRIPLET"
fi
# default multiarch support
case "`uname -m`" in
i*86)
if [ -d /lib32 ]; then
HOST_LIBDIR="$HOST_LIBDIR /lib32"
fi
if [ -d /usr/lib32 ]; then
HOST_LIBDIR="$HOST_LIBDIR /usr/lib32"
fi
;;
x86_64)
if [ -d /lib64 ]; then
HOST_LIBDIR="$HOST_LIBDIR /lib64"
fi
if [ -d /usr/lib64 ]; then
HOST_LIBDIR="$HOST_LIBDIR /usr/lib64"
fi
;;
esac
case "${MACHINE_HARDWARE_NAME}" in
i*86)
if [ -d /lib32 ]; then
HOST_LIBDIR="$HOST_LIBDIR /lib32"
fi
if [ -d /usr/lib32 ]; then
HOST_LIBDIR="$HOST_LIBDIR /usr/lib32"
fi
;;
x86_64)
if [ -d /lib64 ]; then
HOST_LIBDIR="$HOST_LIBDIR /lib64"
fi
if [ -d /usr/lib64 ]; then
HOST_LIBDIR="$HOST_LIBDIR /usr/lib64"
fi
;;
esac
# default dirs
HOST_LIBDIR="$HOST_LIBDIR /lib /usr/lib"
HOST_INCDIR="$TOOLCHAIN/include /usr/include"
export HOST_LIBDIR="$HOST_LIBDIR /lib /usr/lib"
fi

View File

@ -25,7 +25,7 @@ else
TARGET_ARCH="$ARCH"
fi
ROOT=`pwd`
ROOT="${PWD}"
DISTRO_DIR="$ROOT/distributions"
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"
@ -56,7 +56,7 @@ LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $PROJECT_DIR/
# Need to point to your actual cc
# 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
echo "***** Please install gcc *****"
@ -65,7 +65,7 @@ fi
# Need to point to your actual g++
# 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="yes"

View File

@ -16,7 +16,7 @@ set -e
. config/arch.$TARGET_ARCH
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}
BUILD=$ROOT/$BUILD_BASE.$DISTRONAME-${DEVICE:-$PROJECT}.$TARGET_ARCH-$LIBREELEC_VERSION
@ -134,7 +134,7 @@ unset LD_LIBRARY_PATH
echo "$PKG_URL"
exit 1
fi
PKG_SOURCE_NAME="$(basename "$PKG_URL")"
PKG_SOURCE_NAME="${PKG_URL##*/}"
case $PKG_SOURCE_NAME in
${PKG_NAME}-${PKG_VERSION}.*)
PKG_SOURCE_NAME=$PKG_SOURCE_NAME