From 6aba3c552ba43c8e2ffbe494ec4de5db403624f4 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Thu, 28 Jun 2018 15:15:42 -0400 Subject: [PATCH] build: Build pru gcc in travis-ci scripts and then cache it for later use Signed-off-by: Kevin O'Connor --- .travis.yml | 11 ++++++----- scripts/travis-install.sh | 30 ++++++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9b8c6c92..220a5615 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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: diff --git a/scripts/travis-install.sh b/scripts/travis-install.sh index fa3bb50d..18eb0477 100755 --- a/scripts/travis-install.sh +++ b/scripts/travis-install.sh @@ -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 ######################################################################