aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-06-28 15:15:42 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-06-28 17:01:11 -0400
commit6aba3c552ba43c8e2ffbe494ec4de5db403624f4 (patch)
tree49c0141a62d7d4fe3bf95a1ddd8dae7d60ffc5f2
parent52ab93be6d083534dd042274da968db5e41aed03 (diff)
downloadkutter-6aba3c552ba43c8e2ffbe494ec4de5db403624f4.tar.gz
kutter-6aba3c552ba43c8e2ffbe494ec4de5db403624f4.tar.xz
kutter-6aba3c552ba43c8e2ffbe494ec4de5db403624f4.zip
build: Build pru gcc in travis-ci scripts and then cache it for later use
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--.travis.yml11
-rwxr-xr-xscripts/travis-install.sh30
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
######################################################################