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 ######################################################################