set -e . config/functions # setup initial directorys (relative to root) CONFIG=config SCRIPTS=scripts PACKAGES=packages SOURCES=sources BUILD_BASE=build TARGET=target ADDONS=addons # include ARCH specific options if [ -f config/arch.$TARGET_ARCH ]; then . config/arch.$TARGET_ARCH fi HOST_NAME=`$LOCAL_CC -dumpmachine` TARGET_NAME=$(echo $TARGET_SUBARCH | sed -e "s,-,,")-openelec-linux-gnu${TARGET_ABI} BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION TARGET_IMG=$ROOT/$TARGET TARGET_ADDONS="$TARGET_IMG/$ADDONS/$ADDON_PATH" ADDON_BUILD="$BUILD/$ADDONS/$1" STAMPS_NOARCH=.stamps STAMPS=$BUILD/.stamps STAMPS_INSTALL=$BUILD/image/.stamps DOCS=DOCS TOOLCHAIN=$BUILD/toolchain SYSROOT_PREFIX=$ROOT/$TOOLCHAIN/$TARGET_NAME/sysroot LIB_PREFIX=$SYSROOT_PREFIX/usr TARGET_PREFIX=$ROOT/$TOOLCHAIN/bin/$TARGET_NAME- FAKEROOT_SCRIPT=$ROOT/.fakeroot.$PROJECT.$TARGET_ARCH if [ -z "$INSTALL" ]; then INSTALL=$BUILD/image/system fi INSTALL_INIT=$BUILD/image/initramfs/root-image . config/sources MAKE="$ROOT/$TOOLCHAIN/bin/make" MAKEINSTALL="$ROOT/$TOOLCHAIN/bin/make -j1 DESTDIR=$SYSROOT_PREFIX install" SED="sed -i" # set package metadata PKG_NAME="$1" PKG_VERSION="0.0invalid" PKG_REV="0" PKG_ARCH="any" PKG_LICENSE="unknown" PKG_SITE="" PKG_URL="" PKG_DEPENDS_TARGET="" PKG_DEPENDS_HOST="" PKG_DEPENDS_INIT="" PKG_DEPENDS_BOOTSTRAP="" PKG_PRIORITY="optional" PKG_SECTION="" PKG_SHORTDESC="$1 (autogenerated)" PKG_LONGDESC="" PKG_IS_ADDON="no" if [ -n "$1" ]; then FOUND=0 for DIR in $ROOT/`find $PACKAGES -type d -name $(echo $1| awk -F : '{print $1}') ! -wholename \*\/source\/\* 2>/dev/null` ; do # keep track of dirs with meta for debugging if [ -z "$ALL_DIRS" ] ; then ALL_DIRS="$DIR" else ALL_DIRS="$ALL_DIRS\\n$DIR" fi if [ -f "$DIR/package.mk" ] ; then FOUND=$((FOUND+1)) # found first. set $PKG_DIR PKG_DIR="$DIR" if [ $FOUND -gt 1 ] ; then # found more ? fail echo "Error - multiple package folders:" echo -e "$ALL_DIRS" exit 1 fi fi done fi if [ -r $PKG_DIR/package.mk ]; then . $PKG_DIR/package.mk fi 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" fi PKG_BUILD="$BUILD/${PKG_NAME}-${PKG_VERSION}" XORG_PATH_DRI=/usr/lib/dri XORG_PATH_XKB=/usr/share/X11/xkb XORG_PATH_XKB_OUTPUT=/var/lib/xkb XORG_PATH_RGB=/usr/lib/X11/rgb XORG_PATH_MODULES=/usr/lib/xorg/modules XORG_PATH_DRIVERS=/usr/lib/xorg/modules/drivers SSL_CERTIFICATES="/etc/pki/tls" TOOLCHAIN_LANGUAGES=c [ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++ unset TARGET_CPP TARGET_CC=${TARGET_PREFIX}gcc TARGET_CXX=${TARGET_PREFIX}g++ TARGET_LD=${TARGET_PREFIX}ld TARGET_AS=${TARGET_PREFIX}as TARGET_AR=${TARGET_PREFIX}ar TARGET_NM=${TARGET_PREFIX}nm TARGET_RANLIB=${TARGET_PREFIX}ranlib TARGET_OBJCOPY=${TARGET_PREFIX}objcopy TARGET_OBJDUMP=${TARGET_PREFIX}objdump TARGET_STRIP=${TARGET_PREFIX}strip . config/optimize 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" unset HOST_CPP HOST_AWK=gawk HOST_CC=$ROOT/$TOOLCHAIN/bin/host-gcc HOST_CXX=$ROOT/$TOOLCHAIN/bin/host-g++ HOST_LD=ld HOST_AS=as HOST_AR=ar HOST_NM=nm HOST_RANLIB=ranlib HOST_OBJCOPY=objcopy HOST_STRIP=strip HOST_PKG_CONFIG_PATH="" HOST_PKG_CONFIG_LIBDIR="$ROOT/$TOOLCHAIN/lib/pkgconfig:$ROOT/$TOOLCHAIN/share/pkgconfig" HOST_PKG_CONFIG_SYSROOT_DIR="" if [ -z "$CCACHE_DIR" ]; then export CCACHE_DIR=$HOME/.ccache-openelec fi export MAKEFLAGS=-j$CONCURRENCY_MAKE_LEVEL export PKG_CONFIG=$ROOT/$TOOLCHAIN/bin/pkg-config if [ -z "$PATH" -o "$PATH" = "${PATH#$ROOT/$TOOLCHAIN/bin:}" ]; then export PATH="$ROOT/$TOOLCHAIN/bin:$ROOT/$TOOLCHAIN/sbin:$PATH" fi if [ -z "$LD_LIBRARY_PATH" -o "$LD_LIBRARY_PATH" = "${LD_LIBRARY_PATH#$ROOT/$TOOLCHAIN/lib:}" ]; then export LD_LIBRARY_PATH="$ROOT/$TOOLCHAIN/lib:$LD_LIBRARY_PATH" fi VERSION_SUFFIX=$TARGET_ARCH check_path check_config setup_toolchain target SILENT_OUT=3 VERBOSE_OUT=4 if [ "$VERBOSE" = yes ]; then exec 3>&1 exec 4>&2 else exec 3>&2 exec 4>/dev/null fi BUILD_INDENT_SIZE=4 # define colors black="\e[0;30m" boldblack="\e[1;30m" red="\e[0;31m" boldred="\e[1;31m" green="\e[0;32m" boldgreen="\e[1;32m" yellow="\e[0;33m" boldyellow="\e[1;33m" blue="\e[0;34m" boldblue="\e[1;34m" magenta="\e[0;35m" boldmagenta="\e[1;35m" cyan="\e[0;36m" boldcyan="\e[1;36m" white="\e[0;37m" boldwhite="\e[1;37m" endcolor="\e[0m" # multilib? nah unset CONFIG_SITE # meh suse unset PYTHONSTARTUP unset PYTHONPATH