2018-02-26 20:20:11 +01:00
|
|
|
#!/bin/bash
|
|
|
|
# Build setup script for travis-ci.org continuous integration testing.
|
|
|
|
# See travis-build.sh for the actual test steps.
|
|
|
|
|
|
|
|
# Stop script early on any error; check variables; be verbose
|
|
|
|
set -eux
|
|
|
|
|
2018-06-28 21:03:41 +02:00
|
|
|
MAIN_DIR=${PWD}
|
|
|
|
BUILD_DIR=${PWD}/travis_build
|
2018-06-28 21:15:42 +02:00
|
|
|
CACHE_DIR=${PWD}/travis_cache
|
|
|
|
mkdir -p ${BUILD_DIR} ${CACHE_DIR}
|
2018-06-18 19:04:17 +02:00
|
|
|
|
2018-02-26 20:20:11 +01:00
|
|
|
|
|
|
|
######################################################################
|
|
|
|
# Install embedded arm gcc
|
|
|
|
######################################################################
|
|
|
|
|
|
|
|
echo "=============== Install embedded arm gcc"
|
|
|
|
GCC_ARM_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2"
|
|
|
|
GCC_ARM_SHA="96a029e2ae130a1210eaa69e309ea40463028eab18ba19c1086e4c2dafe69a6a gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2"
|
|
|
|
GCC_ARM_FILE="$(basename ${GCC_ARM_URL})"
|
|
|
|
|
2018-06-28 21:15:42 +02:00
|
|
|
cd ${CACHE_DIR}
|
2018-06-18 19:04:17 +02:00
|
|
|
if [ ! -f ${GCC_ARM_FILE} ]; then
|
|
|
|
wget "$GCC_ARM_URL"
|
|
|
|
fi
|
2018-02-26 20:20:11 +01:00
|
|
|
FOUND_SHA=`sha256sum "$GCC_ARM_FILE"`
|
|
|
|
if [ "$FOUND_SHA" != "$GCC_ARM_SHA" ]; then
|
|
|
|
echo "ERROR: Mismatch on gcc arm sha256"
|
|
|
|
exit -1
|
|
|
|
fi
|
2018-06-28 21:03:41 +02:00
|
|
|
cd ${BUILD_DIR}
|
2018-06-28 21:15:42 +02:00
|
|
|
tar xf "${CACHE_DIR}/${GCC_ARM_FILE}"
|
|
|
|
|
|
|
|
|
|
|
|
######################################################################
|
|
|
|
# Install (or build) pru gcc
|
|
|
|
######################################################################
|
|
|
|
|
|
|
|
PRU_FILE=${CACHE_DIR}/gnupru.tar.gz
|
|
|
|
PRU_DIR=${BUILD_DIR}/pru-gcc
|
|
|
|
|
|
|
|
if [ ! -f ${PRU_FILE} ]; then
|
|
|
|
cd ${BUILD_DIR}
|
|
|
|
git clone https://github.com/dinuxbg/gnupru -b 2018.03-beta-rc3
|
|
|
|
cd gnupru
|
|
|
|
export PREFIX=${PRU_DIR}
|
|
|
|
./download-and-patch.sh 2>&1 | pv -nli 30 > ${BUILD_DIR}/gnupru-build.log
|
|
|
|
./build.sh 2>&1 | pv -nli 30 >> ${BUILD_DIR}/gnupru-build.log
|
|
|
|
cd ${BUILD_DIR}
|
|
|
|
tar cfz ${PRU_FILE} pru-gcc/
|
|
|
|
else
|
|
|
|
cd ${BUILD_DIR}
|
|
|
|
tar xfz ${PRU_FILE}
|
|
|
|
fi
|
2018-02-26 20:20:11 +01:00
|
|
|
|
|
|
|
|
|
|
|
######################################################################
|
|
|
|
# Create python virtualenv environment
|
|
|
|
######################################################################
|
|
|
|
|
|
|
|
echo "=============== Install python virtualenv"
|
2018-06-28 21:03:41 +02:00
|
|
|
cd ${MAIN_DIR}
|
|
|
|
virtualenv ${BUILD_DIR}/python-env
|
|
|
|
${BUILD_DIR}/python-env/bin/pip install cffi==1.6.0 pyserial==3.2.1 greenlet==0.4.10
|