#!/bin/bash
#untar the SDK into a tmp directory
SDK_FILE=../build/tmp/deploy/sdk/poky-eglibc-x86_64-core-image-full-cmdline-i586-toolchain-1.6.sh
mkdir -p sdk_dir
sudo rm -rf sdk_dir/*
payload_offset=$(($(grep -na -m1 "^MARKER:$" $SDK_FILE|cut -d':' -f1) + 1))
preamble_size=$(($payload_offset - 1))
echo preamble size is $preamble_size
tail -n +$payload_offset $SDK_FILE | sudo tar xj -C sdk_dir

#Build the LLVM/clang stuff
pushd ..
. ./oe-init-build-env
bitbake llvm
popd
#Install LLVM/clang from the rpm created in the build 
rpm_dir_realpath=`realpath sdk_dir/sysroots/x86_64-pokysdk-linux/usr`
sudo rpm -i  --relocate /usr=$rpm_dir_realpath --force --nodeps --badreloc --ignorearch ../build/tmp/deploy/rpm/x86_64_nativesdk/nativesdk-llvm-3.5.0-r0.x86_64_nativesdk.rpm
#add scan-build and view-build
tools_from=../build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-llvm/3.5.0-r0/llvm-3.5.0/tools/clang/tools
sudo cp $tools_from/scan-build/* $rpm_dir/bin
sudo cp -a $tools_from/scan-view/* $rpm_dir/bin
sudo rm -f $rpm_dir/bin/scan-build.1
#update the template environment-setup file with cmake and clang stuff
me=$USER
sudo chown $me sdk_dir/environment-setup-i586-poky-linux
cat >>sdk_dir/environment-setup-i586-poky-linux <<EOD
export KDIR=/opt/poky/1.6/sysroots/i586-poky-linux/usr/src/kernel
export CMAKE_TOOLCHAIN_FILE=/opt/poky/1.6/toolchain.cmake
export CMTC=\$CMAKE_TOOLCHAIN_FILE
alias cmake='cmake -DCMAKE_TOOLCHAIN_FILE=\$CMAKE_TOOLCHAIN_FILE'
export PYTHONPATH=/opt/poky/1.6/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7
export PYTHON_EXECUTABLE=/opt/poky/1.6/sysroots/x86_64-pokysdk-linux/usr/bin/python
EOD
sudo chown root sdk_dir/environment-setup-i586-poky-linux
# Add our toolchain.cmake file
sudo cp toolchain.cmake sdk_dir
#Re-assemble the SDK install script and tar.
head -$preamble_size $SDK_FILE >images/SpectraOS_install_toolchain.sh
pushd sdk_dir
sudo tar cj * >>../images/SpectraOS_install_toolchain.sh
popd

