build: Build pru gcc in travis-ci scripts and then cache it for later use

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2018-06-28 15:15:42 -04:00
parent 52ab93be6d
commit 6aba3c552b
2 changed files with 32 additions and 9 deletions

View File

@ -4,9 +4,10 @@ language: c
addons: addons:
apt: apt:
packages: packages:
- gcc-avr # AVR GCC packages
- avr-libc - gcc-avr avr-libc
- wget # PRU GCC build packages
- pv libmpfr-dev libgmp-dev libmpc-dev texinfo libncurses5-dev bison flex
cache: cache:
directories: directories:

View File

@ -7,8 +7,8 @@ set -eux
MAIN_DIR=${PWD} MAIN_DIR=${PWD}
BUILD_DIR=${PWD}/travis_build BUILD_DIR=${PWD}/travis_build
DOWNLOAD_DIR=${PWD}/travis_cache CACHE_DIR=${PWD}/travis_cache
mkdir -p ${BUILD_DIR} ${DOWNLOAD_DIR} mkdir -p ${BUILD_DIR} ${CACHE_DIR}
###################################################################### ######################################################################
@ -20,7 +20,7 @@ GCC_ARM_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2017q4/g
GCC_ARM_SHA="96a029e2ae130a1210eaa69e309ea40463028eab18ba19c1086e4c2dafe69a6a 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})" GCC_ARM_FILE="$(basename ${GCC_ARM_URL})"
cd ${DOWNLOAD_DIR} cd ${CACHE_DIR}
if [ ! -f ${GCC_ARM_FILE} ]; then if [ ! -f ${GCC_ARM_FILE} ]; then
wget "$GCC_ARM_URL" wget "$GCC_ARM_URL"
fi fi
@ -30,7 +30,29 @@ if [ "$FOUND_SHA" != "$GCC_ARM_SHA" ]; then
exit -1 exit -1
fi fi
cd ${BUILD_DIR} cd ${BUILD_DIR}
tar xf "${DOWNLOAD_DIR}/${GCC_ARM_FILE}" 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
###################################################################### ######################################################################