|
8 | 8 | # Give a pipeline a non-zero exit code if one of its constituents fails
|
9 | 9 | set -o pipefail
|
10 | 10 |
|
11 |
| -function llvm_linux_target_triple() { |
12 |
| - case "$1" in |
13 |
| - 9.0.1) echo "x86_64-linux-gnu-ubuntu-16.04" ;; |
14 |
| - *) echo "x86_64-linux-gnu-ubuntu-18.04" ;; |
15 |
| - esac |
16 |
| -} |
17 |
| - |
18 |
| -function llvm_macos_target_triple() { |
19 |
| - case "$1" in |
20 |
| - 9.0.1) echo "x86_64-apple-darwin" ;; |
21 |
| - *) echo "arm64-apple-darwin22.0" ;; |
22 |
| - esac |
23 |
| -} |
24 |
| - |
25 |
| -function llvm_version_triple() { |
26 |
| - case "$1" in |
27 |
| - 9.0) echo "9.0.1" ;; |
28 |
| - # By default, take the .0 patch release |
29 |
| - *) echo "$1.0" ;; |
30 |
| - esac |
31 |
| -} |
32 |
| - |
33 |
| -function llvm_base_url() { |
34 |
| - local llvm_version_triple=$1 |
35 |
| - echo "https://github.com/llvm/llvm-project/releases/download/llvmorg-$llvm_version_triple" |
36 |
| -} |
37 |
| - |
38 |
| -function llvm_download() { |
39 |
| - local base_url=$1 |
40 |
| - local arch=$2 |
41 |
| - |
42 |
| - export LLVM=clang+llvm-${LLVM_VERSION_TRIPLE}-$arch |
43 |
| - export LLVM_DIRECTORY="$HOME/.llvm/${LLVM}" |
44 |
| - |
45 |
| - if [ -d "${LLVM_DIRECTORY}" ]; then |
46 |
| - echo "Using cached LLVM download for ${LLVM}..." |
47 |
| - else |
48 |
| - wget --no-verbose $base_url/${LLVM}.tar.xz |
49 |
| - mkdir -p "${LLVM_DIRECTORY}" |
50 |
| - tar xf ${LLVM}.tar.xz -C "${LLVM_DIRECTORY}" --strip-components=1 |
51 |
| - fi |
52 |
| - |
53 |
| - export LIBCLANG_PATH="${LLVM_DIRECTORY}/lib" |
54 |
| - export LLVM_CONFIG_PATH="${LLVM_DIRECTORY}/bin/llvm-config" |
55 |
| -} |
56 |
| - |
57 |
| -# Download and set up a sane LLVM version |
58 |
| -set_llvm_env() { |
59 |
| - export LLVM_VERSION_TRIPLE=`llvm_version_triple ${LLVM_VERSION}` |
60 |
| - local base_url=`llvm_base_url ${LLVM_VERSION_TRIPLE}` |
61 |
| - |
62 |
| - if [ "$GITHUB_ACTIONS_OS" == "ubuntu-latest" ]; then |
63 |
| - llvm_download $base_url `llvm_linux_target_triple ${LLVM_VERSION_TRIPLE}` |
64 |
| - export LD_LIBRARY_PATH="${LLVM_DIRECTORY}/lib":${LD_LIBRARY_PATH:-} |
65 |
| - else |
66 |
| - llvm_download $base_url `llvm_macos_target_triple ${LLVM_VERSION_TRIPLE}` |
67 |
| - export DYLD_LIBRARY_PATH="${LLVM_DIRECTORY}/lib":${DYLD_LIBRARY_PATH:-} |
68 |
| - fi |
69 |
| -} |
70 |
| - |
71 | 11 | assert_no_diff() {
|
72 | 12 | git add -u
|
73 | 13 | git diff @
|
74 | 14 | git diff-index --quiet HEAD
|
75 | 15 | }
|
76 | 16 |
|
77 |
| -set_llvm_env |
78 |
| - |
79 | 17 | get_cargo_args() {
|
80 | 18 | local args=""
|
81 | 19 | if [ ! -z "$RUST_TARGET" ]; then
|
@@ -128,7 +66,7 @@ if [ "$BINDGEN_RUST_FOR_LINUX_TEST" == "1" ]; then
|
128 | 66 |
|
129 | 67 | # Put LLVM binaries in the path for `LLVM=1`. The LLVM `bin` directory should
|
130 | 68 | # go first since there are others in the Ubuntu image.
|
131 |
| - export PATH="${LLVM_DIRECTORY}/bin:${PATH}" |
| 69 | + export PATH="${LLVM_PATH}/bin:${PATH}" |
132 | 70 |
|
133 | 71 | # Kernel build dependency: `bindgen-cli`, which is under test.
|
134 | 72 | #
|
|
0 commit comments