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

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

View File

@ -7,8 +7,8 @@ set -eux
MAIN_DIR=${PWD}
BUILD_DIR=${PWD}/travis_build
DOWNLOAD_DIR=${PWD}/travis_cache
mkdir -p ${BUILD_DIR} ${DOWNLOAD_DIR}
CACHE_DIR=${PWD}/travis_cache
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_FILE="$(basename ${GCC_ARM_URL})"
cd ${DOWNLOAD_DIR}
cd ${CACHE_DIR}
if [ ! -f ${GCC_ARM_FILE} ]; then
wget "$GCC_ARM_URL"
fi
@ -30,7 +30,29 @@ if [ "$FOUND_SHA" != "$GCC_ARM_SHA" ]; then
exit -1
fi
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
######################################################################