summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2018-03-31 22:55:40 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2018-04-03 11:27:46 +0200
commit21ff022970d488be09f0ba29f5eeb00c6b55e755 (patch)
treeb2d096de3a4f0d36291cbff24749ec99178ed634
parentae0fdf7a5519a175d887389c80399234637bdc29 (diff)
ci: Update before_install to handle target change in LLVM's server.
Straight from: https://raw.githubusercontent.com/KyleMayes/clang-sys/master/ci/before_install.sh
-rw-r--r--ci/before_install.sh58
1 files changed, 41 insertions, 17 deletions
diff --git a/ci/before_install.sh b/ci/before_install.sh
index 0a2535ea..318f372c 100644
--- a/ci/before_install.sh
+++ b/ci/before_install.sh
@@ -1,4 +1,4 @@
-set -ex
+set -e
pushd ~
# Workaround for Travis CI macOS bug (https://github.com/travis-ci/travis-ci/issues/6307)
@@ -6,31 +6,55 @@ if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
rvm get head || true
fi
-function llvm_download_if_needed() {
- export LLVM_VERSION_TRIPLE="${LLVM_VERSION}"
- export LLVM=clang+llvm-${LLVM_VERSION_TRIPLE}-x86_64-$1
-
- local llvm_build_dir="$HOME/.llvm-builds/${LLVM}"
-
- if [ -d "${llvm_build_dir}" ]; then
- echo "Using cached LLVM build for ${LLVM} in ${llvm_build_dir}";
+function llvm_linux_target_triple() {
+ if [ "$1" == "5.0" ]; then
+ echo "linux-x86_64-ubuntu14.04"
else
- wget http://llvm.org/releases/${LLVM_VERSION_TRIPLE}/${LLVM}.tar.xz
- mkdir -p "${llvm_build_dir}"
- tar -xf ${LLVM}.tar.xz -C "${llvm_build_dir}" --strip-components=1
+ echo "x86_64-linux-gnu-ubuntu-14.04"
fi
+}
- export LLVM_CONFIG_PATH="${llvm_build_dir}/bin/llvm-config"
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
- cp "${llvm_build_dir}/lib/libclang.dylib" /usr/local/lib/libclang.dylib
+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.1"
+ 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_if_needed linux-gnu-ubuntu-14.04
+ llvm_download `llvm_linux_target_triple ${LLVM_VERSION}`
+ export LD_LIBRARY_PATH="${LLVM_DIRECTORY}/lib":$LD_LIBRARY_PATH
else
- llvm_download_if_needed apple-darwin
+ 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