66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # Build setup script for travis-ci.org continuous integration testing.
 | |
| # See travis-build.sh for the actual test steps.
 | |
| 
 | |
| # Stop script early on any error; check variables; be verbose
 | |
| set -eux
 | |
| 
 | |
| MAIN_DIR=${PWD}
 | |
| BUILD_DIR=${PWD}/travis_build
 | |
| CACHE_DIR=${PWD}/travis_cache
 | |
| mkdir -p ${BUILD_DIR} ${CACHE_DIR}
 | |
| 
 | |
| 
 | |
| ######################################################################
 | |
| # Install embedded arm gcc
 | |
| ######################################################################
 | |
| 
 | |
| echo "=============== Install embedded arm gcc"
 | |
| GCC_ARM_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2017q4/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})"
 | |
| 
 | |
| cd ${CACHE_DIR}
 | |
| if [ ! -f ${GCC_ARM_FILE} ]; then
 | |
|     wget "$GCC_ARM_URL"
 | |
| fi
 | |
| FOUND_SHA=`sha256sum "$GCC_ARM_FILE"`
 | |
| if [ "$FOUND_SHA" != "$GCC_ARM_SHA" ]; then
 | |
|     echo "ERROR: Mismatch on gcc arm sha256"
 | |
|     exit -1
 | |
| fi
 | |
| cd ${BUILD_DIR}
 | |
| 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
 | |
| 
 | |
| 
 | |
| ######################################################################
 | |
| # Create python virtualenv environment
 | |
| ######################################################################
 | |
| 
 | |
| echo "=============== Install python virtualenv"
 | |
| cd ${MAIN_DIR}
 | |
| virtualenv ${BUILD_DIR}/python-env
 | |
| ${BUILD_DIR}/python-env/bin/pip install cffi==1.6.0 pyserial==3.2.1 greenlet==0.4.10
 |