• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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