]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/host-x86_64/dist-aarch64-linux/Dockerfile
Rollup merge of #93024 - compiler-errors:inline-mir-bad-bounds, r=estebank
[rust.git] / src / ci / docker / host-x86_64 / dist-aarch64-linux / Dockerfile
1 FROM ubuntu:20.04
2 RUN apt-get update && \
3     apt-get install -y --no-install-recommends \
4         curl \
5         ca-certificates
6 WORKDIR /tmp
7 RUN curl -f https://curl.se/ca/cacert.pem -o cacert.pem
8
9 FROM ubuntu:16.04
10
11 # The ca-certificates in ubuntu-16 is too old, so update the certificates
12 # with something more recent.
13 COPY --from=0 /tmp/cacert.pem /tmp/cacert.pem
14 ENV CURL_CA_BUNDLE /tmp/cacert.pem
15
16 COPY scripts/cross-apt-packages.sh /scripts/
17 RUN sh /scripts/cross-apt-packages.sh
18
19 # Ubuntu 16.04 (this container) ships with make 4, but something in the
20 # toolchains we build below chokes on that, so go back to make 3
21 COPY scripts/make3.sh /scripts/
22 RUN sh /scripts/make3.sh
23
24 COPY scripts/crosstool-ng.sh /scripts/
25 RUN sh /scripts/crosstool-ng.sh
26
27 COPY scripts/rustbuild-setup.sh /scripts/
28 RUN sh /scripts/rustbuild-setup.sh
29 USER rustbuild
30 WORKDIR /tmp
31
32 COPY host-x86_64/dist-aarch64-linux/aarch64-linux-gnu.config host-x86_64/dist-aarch64-linux/build-toolchains.sh /tmp/
33 RUN ./build-toolchains.sh
34
35 USER root
36
37 COPY scripts/sccache.sh /scripts/
38 RUN sh /scripts/sccache.sh
39
40 COPY scripts/cmake.sh /scripts/
41 RUN /scripts/cmake.sh
42
43 ENV PATH=$PATH:/x-tools/aarch64-unknown-linux-gnueabi/bin
44
45 ENV CC_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnueabi-gcc \
46     AR_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnueabi-ar \
47     CXX_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnueabi-g++
48
49 ENV HOSTS=aarch64-unknown-linux-gnu
50
51 ENV RUST_CONFIGURE_ARGS \
52       --enable-full-tools \
53       --enable-profiler \
54       --enable-sanitizers
55 ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS