blob: fcc00ea2cc721193ab6066caa81a4490ce22daff [file] [log] [blame]
set -ex
pushd ~
# Workaround for Travis CI macOS bug (https://github.com/travis-ci/travis-ci/issues/6307)
if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
rvm get head || true
fi
function llvm_linux_target_triple() {
if [ "$1" == "5.0" ]; then
echo "linux-x86_64-ubuntu14.04"
else
echo "x86_64-linux-gnu-ubuntu-14.04"
fi
}
function llvm_version_triple() {
if [ "$1" == "3.5" ]; then
echo "3.5.2"
elif [ "$1" == "3.6" ]; then
echo "3.6.2"
elif [ "$1" == "3.7" ]; then
echo "3.7.1"
elif [ "$1" == "3.8" ]; then
echo "3.8.1"
elif [ "$1" == "3.9" ]; then
echo "3.9.0"
elif [ "$1" == "4.0" ]; then
echo "4.0.0"
elif [ "$1" == "5.0" ]; then
echo "5.0.0"
fi
}
function llvm_download() {
export LLVM_VERSION_TRIPLE=`llvm_version_triple ${LLVM_VERSION}`
export LLVM=clang+llvm-${LLVM_VERSION_TRIPLE}-$1
export LLVM_DIRECTORY="$HOME/.llvm/${LLVM}"
if [ -d "${LLVM_DIRECTORY}" ]; then
echo "Using cached LLVM download for ${LLVM}..."
else
wget http://releases.llvm.org/${LLVM_VERSION_TRIPLE}/${LLVM}.tar.xz
mkdir -p "${LLVM_DIRECTORY}"
tar xf ${LLVM}.tar.xz -C "${LLVM_DIRECTORY}" --strip-components=1
fi
export LLVM_CONFIG_PATH="${LLVM_DIRECTORY}/bin/llvm-config"
}
if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
llvm_download `llvm_linux_target_triple ${LLVM_VERSION}`
export LD_LIBRARY_PATH="${LLVM_DIRECTORY}/lib":$LD_LIBRARY_PATH
else
llvm_download x86_64-apple-darwin
cp "${LLVM_DIRECTORY}/lib/libclang.dylib" /usr/local/lib/libclang.dylib
export DYLD_LIBRARY_PATH="${LLVM_DIRECTORY}/lib":$DYLD_LIBRARY_PATH
fi
popd
set +e