#!/bin/bash # # Copyright (c) 2016 Dream Property GmbH, Germany # https://dreambox.de/ # Author: # Andreas Oberritter # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. # oe_set_aliases() { local SCRIPT="${BASH_SOURCE[0]}" if [ -z "${SCRIPT}" ]; then echo "Could not determine script location! Not using bash?" return fi while [ -h "${SCRIPT}" ]; do SCRIPT="$(readlink "${SCRIPT}")" done local SCRIPTDIR="$(cd -P `dirname "${SCRIPT}"` && pwd)" local MACHINE="$1" local MACHINE_ENV=".cross-compile-${MACHINE}.env" local MAKE=${MAKE:-make} ${MAKE} -C "${SCRIPTDIR}" -s MACHINE=${MACHINE} ${MACHINE_ENV} || echo "Trying to continue with possibly outdated environment." . ${SCRIPTDIR}/${MACHINE_ENV} || return PATH="${STAGING_BINDIR_NATIVE}/python-native:${PATH}" local OE_ENV=" \ BUILD_SYS=\"${BUILD_SYS}\" \ HOST_SYS=\"${HOST_SYS}\" \ STAGING_LIBDIR=\"${STAGING_LIBDIR}\" \ STAGING_INCDIR=\"${STAGING_INCDIR}\" \ PATH=\"${PATH}\" \ CC=\"${CC}\" \ CXX=\"${CXX}\" \ F77=\"${F77}\" \ CPP=\"${CPP}\" \ LD=\"${LD}\" \ CCLD=\"${CCLD}\" \ AR=\"${AR}\" \ AS=\"${AS}\" \ RANLIB=\"${RANLIB}\" \ STRIP=\"${STRIP}\" \ OBJCOPY=\"${OBJCOPY}\" \ OBJDUMP=\"${OBJDUMP}\" \ NM=\"${NM}\" \ PKG_CONFIG_DIR=\"${PKG_CONFIG_DIR}\" \ PKG_CONFIG_PATH=\"${PKG_CONFIG_PATH}\" \ PKG_CONFIG_LIBDIR=\"${PKG_CONFIG_LIBDIR}\" \ PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" \ PKG_CONFIG_DISABLE_UNINSTALLED=\"${PKG_CONFIG_DISABLE_UNINSTALLED}\" \ " local OE_ENV_KERNEL=" \ PATH=\"${PATH}\" \ CROSS_COMPILE=\"${HOST_PREFIX}\" \ KCFLAGS=--sysroot=${STAGING_DIR_HOST} \ " echo "Creating shell command aliases:" echo "* oe_autoreconf" alias oe_autoreconf="${OE_ENV} autoreconf -Wcross --verbose --install --force --exclude=autopoint" echo "* oe_runconf" alias oe_runconf=" \ ./configure \ --build=${BUILD_SYS} \ --host=${HOST_SYS} \ --target=${TARGET_SYS} \ --prefix=${prefix} \ --exec_prefix=${exec_prefix} \ --bindir=${bindir} \ --sbindir=${sbindir} \ --libexecdir=${libexecdir} \ --datadir=${datadir} \ --sysconfdir=${sysconfdir} \ --sharedstatedir=${sharedstatedir} \ --localstatedir=${localstatedir} \ --libdir=${libdir} \ --includedir=${includedir} \ --oldincludedir=${oldincludedir} \ --infodir=${infodir} \ --mandir=${mandir} \ --with-libtool-sysroot=${STAGING_DIR_HOST} \ ${OE_ENV} \ " echo "* oe_runmake" alias oe_runmake="${OE_ENV} ${MAKE} ${PARALLEL_MAKE}" echo "* oe_runmake_kernel" alias oe_runmake_kernel="${OE_ENV_KERNEL} ${MAKE} ${PARALLEL_MAKE}" echo "* oe_env" alias oe_env="${OE_ENV}" echo "* oe_env_kernel" alias oe_env_kernel="${OE_ENV_KERNEL}" echo "* oe_setenv" alias oe_setenv="export ${OE_ENV}" echo "* oe_setenv_kernel" alias oe_setenv_kernel="export ${OE_ENV_KERNEL}" echo "* oe_cmake" alias oe_cmake=" \ ${OE_ENV} cmake \ -DCMAKE_FIND_ROOT_PATH:PATH=\"${STAGING_DIR_HOST};${STAGING_DIR_NATIVE}\" \ -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE:STRING=ONLY \ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM:STRING=BOTH \ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY:STRING=ONLY \ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE:STRING=ONLY \ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \ -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \ -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \ -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \ -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \ -DCMAKE_INSTALL_SO_NO_EXE=0 \ " } if [ $# -ne 1 ]; then echo "usage: . ${BASH_SOURCE[0]} \${MACHINE}" else oe_set_aliases $1 fi