config/functions: rework setup_toolchain, add cmake configuration

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2016-09-23 14:29:49 -07:00 committed by Lukas Rusak
parent e726b1a358
commit ccb0683056
No known key found for this signature in database
GPG Key ID: 8C310C807E7393A3
2 changed files with 79 additions and 62 deletions

View File

@ -1,62 +1,81 @@
setup_toolchain() { setup_toolchain() {
if [ "$1" = target ]; then case "$1" in
export DESTIMAGE="target" target)
export DESTIMAGE="target"
unset CPP export CC="$TARGET_CC"
export CXX="$TARGET_CXX"
export CC=$TARGET_CC export CPP="$TARGET_CPP"
export CXX=$TARGET_CXX export LD="$TARGET_LD"
export LD=$TARGET_LD export AS="$TARGET_AS"
export AS=$TARGET_AS export AR="$TARGET_AR"
export AR=$TARGET_AR export NM="$TARGET_NM"
export NM=$TARGET_NM export RANLIB=$TARGET_RANLIB
export RANLIB=$TARGET_RANLIB export OBJCOPY=$TARGET_OBJCOPY
export OBJCOPY=$TARGET_OBJCOPY export OBJDUMP=$TARGET_OBJDUMP
export OBJDUMP=$TARGET_OBJDUMP export STRIP=$TARGET_STRIP
export STRIP=$TARGET_STRIP export CPPFLAGS="$TARGET_CPPFLAGS"
export CPPFLAGS="$TARGET_CPPFLAGS" export CFLAGS="$TARGET_CFLAGS"
export CFLAGS="$TARGET_CFLAGS" export CXXFLAGS="$TARGET_CXXFLAGS"
export CXXFLAGS="$TARGET_CXXFLAGS" export LDFLAGS="$TARGET_LDFLAGS"
export LDFLAGS="$TARGET_LDFLAGS" export PKG_CONFIG_PATH="$TARGET_PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="$TARGET_PKG_CONFIG_PATH" export PKG_CONFIG_LIBDIR="$TARGET_PKG_CONFIG_LIBDIR"
export PKG_CONFIG_LIBDIR="$TARGET_PKG_CONFIG_LIBDIR" export PKG_CONFIG_SYSROOT_DIR="$TARGET_PKG_CONFIG_SYSROOT_DIR"
export PKG_CONFIG_SYSROOT_DIR="$TARGET_PKG_CONFIG_SYSROOT_DIR" export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$TARGET_NAME.conf
export CMAKE="cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF -DCMAKE_INSTALL_PREFIX=/usr"
# set python defaults if [ ! -f $CMAKE_CONF ] ; then
export _python_sysroot="$SYSROOT_PREFIX" mkdir -p $ROOT/$TOOLCHAIN/etc
export _python_prefix=/usr echo "SET(CMAKE_SYSTEM_NAME Linux)" >> $CMAKE_CONF
export _python_exec_prefix=/usr echo "SET(CMAKE_SYSTEM_VERSION 1)" >> $CMAKE_CONF
echo "SET(CMAKE_SYSTEM_PROCESSOR $TARGET_ARCH)" >> $CMAKE_CONF
# set CMAKE configfile for target echo "SET(CMAKE_C_COMPILER $CC)" >> $CMAKE_CONF
export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$TARGET_NAME.conf echo "SET(CMAKE_CXX_COMPILER $CXX)" >> $CMAKE_CONF
echo "SET(CMAKE_CPP_COMPILER $CPP)" >> $CMAKE_CONF
elif [ "$1" = host ]; then echo "SET(CMAKE_FIND_ROOT_PATH $SYSROOT_PREFIX)" >> $CMAKE_CONF
export DESTIMAGE="host" echo "SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $CMAKE_CONF
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)" >> $CMAKE_CONF
unset CPP echo "SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $CMAKE_CONF
fi
export AWK=$HOST_AWK export _python_sysroot="$SYSROOT_PREFIX"
export CC=$HOST_CC export _python_prefix=/usr
export CXX=$HOST_CXX export _python_exec_prefix=/usr
export LD=$HOST_LD ;;
export AS=$HOST_AS host)
export AR=$HOST_AR export DESTIMAGE="host"
export NM=$HOST_NM export AWK=$HOST_AWK
export RANLIB=$HOST_RANLIB export CC="$HOST_CC"
export OBJCOPY=$HOST_OBJCOPY export CXX="$HOST_CXX"
export STRIP=$HOST_STRIP export CPP="$HOST_CPP"
export CPPFLAGS="$HOST_CPPFLAGS" export LD="$HOST_LD"
export CFLAGS="$HOST_CFLAGS" export AS="$HOST_AS"
export CXXFLAGS="$HOST_CXXFLAGS" export AR="$HOST_AR"
export LDFLAGS="$HOST_LDFLAGS" export NM="$HOST_NM"
export PKG_CONFIG_PATH="$HOST_PKG_CONFIG_PATH" export RANLIB="$HOST_RANLIB"
export PKG_CONFIG_LIBDIR="$HOST_PKG_CONFIG_LIBDIR" export OBJCOPY="$HOST_OBJCOPY"
export PKG_CONFIG_SYSROOT_DIR="$HOST_PKG_CONFIG_SYSROOT_DIR" export STRIP="$HOST_STRIP"
export CPPFLAGS="$HOST_CPPFLAGS"
# set CMAKE configfile for host export CFLAGS="$HOST_CFLAGS"
export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$HOST_NAME.conf export CXXFLAGS="$HOST_CXXFLAGS"
export LDFLAGS="$HOST_LDFLAGS"
fi export PKG_CONFIG_PATH="$HOST_PKG_CONFIG_PATH"
export PKG_CONFIG_LIBDIR="$HOST_PKG_CONFIG_LIBDIR"
export PKG_CONFIG_SYSROOT_DIR="$HOST_PKG_CONFIG_SYSROOT_DIR"
export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$HOST_NAME.conf
export CMAKE="cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF -DCMAKE_INSTALL_PREFIX=$ROOT/$TOOLCHAIN"
if [ ! -f $CMAKE_CONF ] ; then
mkdir -p $TOOLCHAIN/etc
echo "SET(CMAKE_SYSTEM_NAME Linux)" >> $CMAKE_CONF
echo "SET(CMAKE_SYSTEM_VERSION 1)" >> $CMAKE_CONF
echo "SET(CMAKE_C_COMPILER $CC)" >> $CMAKE_CONF
echo "SET(CMAKE_CXX_COMPILER $CXX)" >> $CMAKE_CONF
echo "SET(CMAKE_CPP_COMPILER $CXX)" >> $CMAKE_CONF
echo "SET(CMAKE_AR $AR)" >> $CMAKE_CONF # hum?
echo "SET(CMAKE_FIND_ROOT_PATH $ROOT/$TOOLCHAIN)" >> $CMAKE_CONF
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)" >> $CMAKE_CONF
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)" >> $CMAKE_CONF
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)" >> $CMAKE_CONF
fi
;;
esac
} }
kernel_path() { kernel_path() {

View File

@ -168,10 +168,9 @@ XORG_PATH_DRIVERS=/usr/lib/xorg/modules/drivers
TOOLCHAIN_LANGUAGES=c TOOLCHAIN_LANGUAGES=c
[ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++ [ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++
unset TARGET_CPP
TARGET_CC=${TARGET_PREFIX}gcc TARGET_CC=${TARGET_PREFIX}gcc
TARGET_CXX=${TARGET_PREFIX}g++ TARGET_CXX=${TARGET_PREFIX}g++
TARGET_CPP=${TARGET_PREFIX}cpp
TARGET_LD=${TARGET_PREFIX}ld TARGET_LD=${TARGET_PREFIX}ld
TARGET_AS=${TARGET_PREFIX}as TARGET_AS=${TARGET_PREFIX}as
TARGET_AR=${TARGET_PREFIX}ar TARGET_AR=${TARGET_PREFIX}ar
@ -187,11 +186,10 @@ TARGET_PKG_CONFIG_PATH=""
TARGET_PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig" TARGET_PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig"
TARGET_PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX" TARGET_PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX"
unset HOST_CPP
HOST_AWK=gawk HOST_AWK=gawk
HOST_CC=$ROOT/$TOOLCHAIN/bin/host-gcc HOST_CC=$ROOT/$TOOLCHAIN/bin/host-gcc
HOST_CXX=$ROOT/$TOOLCHAIN/bin/host-g++ HOST_CXX=$ROOT/$TOOLCHAIN/bin/host-g++
HOST_CPP=cpp
HOST_LD=ld HOST_LD=ld
HOST_AS=as HOST_AS=as
HOST_AR=ar HOST_AR=ar