1#!/usr/bin/env bash 2# Exit if anything fails. 3set -eux 4 5HERE=$PWD 6 7# Override gcc version to $GCC_VER. 8# Put an appropriate symlink at the front of the path. 9mkdir -pv $HOME/bin 10for g in gcc g++ gcov gcc-ar gcc-nm gcc-ranlib 11do 12 test -x $( type -p ${g}-$GCC_VER ) 13 ln -sv $(type -p ${g}-$GCC_VER) $HOME/bin/${g} 14done 15 16if [[ -n ${CLANG_VER:-} ]]; then 17 # There are cases where the directory exists, but the exe is not available. 18 # Use this workaround for now. 19 if [[ ! -x llvm-${LLVM_VERSION}/bin/llvm-config ]] && [[ -d llvm-${LLVM_VERSION} ]]; then 20 rm -fr llvm-${LLVM_VERSION} 21 fi 22 if [[ ! -d llvm-${LLVM_VERSION} ]]; then 23 mkdir llvm-${LLVM_VERSION} 24 LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-14.04.tar.xz" 25 wget -O - ${LLVM_URL} | tar -Jxvf - --strip 1 -C llvm-${LLVM_VERSION} 26 fi 27 llvm-${LLVM_VERSION}/bin/llvm-config --version; 28 export LLVM_CONFIG="llvm-${LLVM_VERSION}/bin/llvm-config"; 29fi 30 31# NOTE, changed from PWD -> HOME 32export PATH=$HOME/bin:$PATH 33 34# What versions are we ACTUALLY running? 35if [ -x $HOME/bin/g++ ]; then 36 $HOME/bin/g++ -v 37fi 38if [ -x $HOME/bin/clang ]; then 39 $HOME/bin/clang -v 40fi 41 42# Avoid `spurious errors` caused by ~/.npm permission issues 43# Does it already exist? Who owns? What permissions? 44ls -lah ~/.npm || mkdir ~/.npm 45 46# Make sure we own it 47chown -Rc $USER ~/.npm 48