diff --git a/config/functions b/config/functions index 228feeb359..371f5e2cb5 100644 --- a/config/functions +++ b/config/functions @@ -1,62 +1,81 @@ setup_toolchain() { - if [ "$1" = target ]; then - export DESTIMAGE="target" - - unset CPP - - export CC=$TARGET_CC - export CXX=$TARGET_CXX - export LD=$TARGET_LD - export AS=$TARGET_AS - export AR=$TARGET_AR - export NM=$TARGET_NM - export RANLIB=$TARGET_RANLIB - export OBJCOPY=$TARGET_OBJCOPY - export OBJDUMP=$TARGET_OBJDUMP - export STRIP=$TARGET_STRIP - export CPPFLAGS="$TARGET_CPPFLAGS" - export CFLAGS="$TARGET_CFLAGS" - export CXXFLAGS="$TARGET_CXXFLAGS" - export LDFLAGS="$TARGET_LDFLAGS" - export PKG_CONFIG_PATH="$TARGET_PKG_CONFIG_PATH" - export PKG_CONFIG_LIBDIR="$TARGET_PKG_CONFIG_LIBDIR" - export PKG_CONFIG_SYSROOT_DIR="$TARGET_PKG_CONFIG_SYSROOT_DIR" - - # set python defaults - export _python_sysroot="$SYSROOT_PREFIX" - export _python_prefix=/usr - export _python_exec_prefix=/usr - - # set CMAKE configfile for target - export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$TARGET_NAME.conf - - elif [ "$1" = host ]; then - export DESTIMAGE="host" - - unset CPP - - export AWK=$HOST_AWK - export CC=$HOST_CC - export CXX=$HOST_CXX - export LD=$HOST_LD - export AS=$HOST_AS - export AR=$HOST_AR - export NM=$HOST_NM - export RANLIB=$HOST_RANLIB - export OBJCOPY=$HOST_OBJCOPY - export STRIP=$HOST_STRIP - export CPPFLAGS="$HOST_CPPFLAGS" - export CFLAGS="$HOST_CFLAGS" - export CXXFLAGS="$HOST_CXXFLAGS" - export LDFLAGS="$HOST_LDFLAGS" - 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" - - # set CMAKE configfile for host - export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$HOST_NAME.conf - - fi + case "$1" in + target) + export DESTIMAGE="target" + export CC="$TARGET_CC" + export CXX="$TARGET_CXX" + export CPP="$TARGET_CPP" + export LD="$TARGET_LD" + export AS="$TARGET_AS" + export AR="$TARGET_AR" + export NM="$TARGET_NM" + export RANLIB=$TARGET_RANLIB + export OBJCOPY=$TARGET_OBJCOPY + export OBJDUMP=$TARGET_OBJDUMP + export STRIP=$TARGET_STRIP + export CPPFLAGS="$TARGET_CPPFLAGS" + export CFLAGS="$TARGET_CFLAGS" + export CXXFLAGS="$TARGET_CXXFLAGS" + export LDFLAGS="$TARGET_LDFLAGS" + export PKG_CONFIG_PATH="$TARGET_PKG_CONFIG_PATH" + export PKG_CONFIG_LIBDIR="$TARGET_PKG_CONFIG_LIBDIR" + 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" + if [ ! -f $CMAKE_CONF ] ; then + mkdir -p $ROOT/$TOOLCHAIN/etc + echo "SET(CMAKE_SYSTEM_NAME Linux)" >> $CMAKE_CONF + echo "SET(CMAKE_SYSTEM_VERSION 1)" >> $CMAKE_CONF + echo "SET(CMAKE_SYSTEM_PROCESSOR $TARGET_ARCH)" >> $CMAKE_CONF + echo "SET(CMAKE_C_COMPILER $CC)" >> $CMAKE_CONF + echo "SET(CMAKE_CXX_COMPILER $CXX)" >> $CMAKE_CONF + echo "SET(CMAKE_CPP_COMPILER $CPP)" >> $CMAKE_CONF + echo "SET(CMAKE_FIND_ROOT_PATH $SYSROOT_PREFIX)" >> $CMAKE_CONF + echo "SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $CMAKE_CONF + echo "SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)" >> $CMAKE_CONF + echo "SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $CMAKE_CONF + fi + export _python_sysroot="$SYSROOT_PREFIX" + export _python_prefix=/usr + export _python_exec_prefix=/usr + ;; + host) + export DESTIMAGE="host" + export AWK=$HOST_AWK + export CC="$HOST_CC" + export CXX="$HOST_CXX" + export CPP="$HOST_CPP" + export LD="$HOST_LD" + export AS="$HOST_AS" + export AR="$HOST_AR" + export NM="$HOST_NM" + export RANLIB="$HOST_RANLIB" + export OBJCOPY="$HOST_OBJCOPY" + export STRIP="$HOST_STRIP" + export CPPFLAGS="$HOST_CPPFLAGS" + export CFLAGS="$HOST_CFLAGS" + export CXXFLAGS="$HOST_CXXFLAGS" + export LDFLAGS="$HOST_LDFLAGS" + 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() { diff --git a/config/path b/config/path index 40f9f30b01..ba85b70a76 100644 --- a/config/path +++ b/config/path @@ -168,10 +168,9 @@ XORG_PATH_DRIVERS=/usr/lib/xorg/modules/drivers 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_CPP=${TARGET_PREFIX}cpp TARGET_LD=${TARGET_PREFIX}ld TARGET_AS=${TARGET_PREFIX}as 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_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_CPP=cpp HOST_LD=ld HOST_AS=as HOST_AR=ar