]> git.proxmox.com Git - rustc.git/blob - src/ci/docker/host-x86_64/dist-various-2/build-fuchsia-toolchain.sh
New upstream version 1.65.0+dfsg1
[rustc.git] / src / ci / docker / host-x86_64 / dist-various-2 / build-fuchsia-toolchain.sh
1 #!/usr/bin/env bash
2
3 set -ex
4 source shared.sh
5
6 FUCHSIA_SDK_URL=https://chrome-infra-packages.appspot.com/dl/fuchsia/sdk/core/linux-amd64
7 FUCHSIA_SDK_ID=4xjxrGUrDbQ6_zJwj6cDN1IbWsWV5aCQXC_zO_Hu0XkC
8 FUCHSIA_SDK_SHA256=e318f1ac652b0db43aff32708fa70337521b5ac595e5a0905c2ff33bf1eed179
9 FUCHSIA_SDK_USR_DIR=/usr/local/core-linux-amd64-fuchsia-sdk
10 CLANG_DOWNLOAD_URL=\
11 https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/linux-amd64
12 CLANG_DOWNLOAD_ID=vU0vNjSihOV4Q6taQYCpy03JXGiCyVwxen3rFMNMIgsC
13 CLANG_DOWNLOAD_SHA256=bd4d2f3634a284e57843ab5a4180a9cb4dc95c6882c95c317a7deb14c34c220b
14
15 install_clang() {
16 mkdir -p clang_download
17 pushd clang_download > /dev/null
18
19 # Download clang+llvm
20 curl -LO "${CLANG_DOWNLOAD_URL}/+/${CLANG_DOWNLOAD_ID}"
21 echo "$(echo ${CLANG_DOWNLOAD_SHA256}) ${CLANG_DOWNLOAD_ID}" | sha256sum --check --status
22 unzip -qq ${CLANG_DOWNLOAD_ID} -d clang-linux-amd64
23
24 # Other dists currently depend on our Clang... moving into /usr/local for other
25 # dist usage instead of a Fuchsia /usr/local directory
26 chmod -R 777 clang-linux-amd64/.
27 cp -a clang-linux-amd64/. /usr/local
28
29 # CFLAGS and CXXFLAGS env variables in main Dockerfile handle sysroot linking
30 for arch in x86_64 aarch64; do
31 for tool in clang clang++; do
32 ln -s /usr/local/bin/${tool} /usr/local/bin/${arch}-fuchsia-${tool}
33 done
34 ln -s /usr/local/bin/llvm-ar /usr/local/bin/${arch}-fuchsia-ar
35 done
36
37 popd > /dev/null
38 rm -rf clang_download
39 }
40
41 install_zircon_libs() {
42 mkdir -p zircon
43 pushd zircon > /dev/null
44
45 # Download Fuchsia SDK (with Zircon libs)
46 curl -LO "${FUCHSIA_SDK_URL}/+/${FUCHSIA_SDK_ID}"
47 echo "$(echo ${FUCHSIA_SDK_SHA256}) ${FUCHSIA_SDK_ID}" | sha256sum --check --status
48 unzip -qq ${FUCHSIA_SDK_ID} -d core-linux-amd64
49
50 # Moving SDK into Docker's user-space
51 mkdir -p ${FUCHSIA_SDK_USR_DIR}
52 chmod -R 777 core-linux-amd64/.
53 cp -r core-linux-amd64/* ${FUCHSIA_SDK_USR_DIR}
54
55 popd > /dev/null
56 rm -rf zircon
57 }
58
59 hide_output install_clang
60 hide_output install_zircon_libs