File tree 2 files changed +15
-8
lines changed
2 files changed +15
-8
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ matrix:
30
30
cache :
31
31
directories :
32
32
- $HOME/.cargo
33
+ - $HOME/.llvm-builds
33
34
34
35
before_install : . ./ci/before_install.sh
35
36
Original file line number Diff line number Diff line change @@ -6,25 +6,31 @@ if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
6
6
rvm get head || true
7
7
fi
8
8
9
- function llvm_download () {
9
+ function llvm_download_if_needed () {
10
10
export LLVM_VERSION_TRIPLE=" ${LLVM_VERSION} "
11
11
export LLVM=clang+llvm-${LLVM_VERSION_TRIPLE} -x86_64-$1
12
12
13
- wget http://llvm.org/releases/${LLVM_VERSION_TRIPLE} /${LLVM} .tar.xz
14
- mkdir llvm
15
- tar -xf ${LLVM} .tar.xz -C llvm --strip-components=1
13
+ local llvm_build_dir=" $HOME /.llvm-builds/${LLVM} "
16
14
17
- export LLVM_CONFIG_PATH=` pwd` /llvm/bin/llvm-config
15
+ if [ -d " ${llvm_build_dir} " ]; then
16
+ echo " Using cached LLVM build for ${LLVM} in ${llvm_build_dir} " ;
17
+ else
18
+ wget http://llvm.org/releases/${LLVM_VERSION_TRIPLE} /${LLVM} .tar.xz
19
+ mkdir -p " ${llvm_build_dir} "
20
+ tar -xf ${LLVM} .tar.xz -C " ${llvm_build_dir} " --strip-components=1
21
+ fi
22
+
23
+ export LLVM_CONFIG_PATH=" ${llvm_build_dir} /bin/llvm-config"
18
24
if [ " ${TRAVIS_OS_NAME} " == " osx" ]; then
19
- cp llvm /lib/libclang.dylib /usr/local/lib/libclang.dylib
25
+ cp " ${llvm_build_dir} /lib/libclang.dylib" /usr/local/lib/libclang.dylib
20
26
fi
21
27
}
22
28
23
29
24
30
if [ " ${TRAVIS_OS_NAME} " == " linux" ]; then
25
- llvm_download linux-gnu-ubuntu-14.04
31
+ llvm_download_if_needed linux-gnu-ubuntu-14.04
26
32
else
27
- llvm_download apple-darwin
33
+ llvm_download_if_needed apple-darwin
28
34
fi
29
35
30
36
popd
You can’t perform that action at this time.
0 commit comments