install-dependencies.sh 1.4 KB

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