]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/dist-various-2/Dockerfile
Rollup merge of #57645 - nikomatsakis:issue-56877-abi-aggregates, r=eddyb
[rust.git] / src / ci / docker / dist-various-2 / Dockerfile
1 FROM ubuntu:17.10
2
3 COPY scripts/cross-apt-packages.sh /scripts/
4 RUN sh /scripts/cross-apt-packages.sh
5
6 RUN apt-get build-dep -y clang llvm && apt-get install -y --no-install-recommends \
7   build-essential \
8   gcc-multilib \
9   libedit-dev \
10   libgmp-dev \
11   libisl-dev \
12   libmpc-dev \
13   libmpfr-dev \
14   ninja-build \
15   nodejs \
16   python2.7-dev \
17   software-properties-common \
18   unzip
19
20 RUN apt-key adv --batch --yes --keyserver keyserver.ubuntu.com --recv-keys 74DA7924C5513486
21 RUN add-apt-repository -y 'deb http://apt.dilos.org/dilos dilos2-testing main'
22
23 WORKDIR /tmp
24 COPY dist-various-2/shared.sh /tmp/
25 COPY dist-various-2/build-cloudabi-toolchain.sh /tmp/
26 RUN /tmp/build-cloudabi-toolchain.sh x86_64-unknown-cloudabi
27 COPY dist-various-2/build-fuchsia-toolchain.sh /tmp/
28 RUN /tmp/build-fuchsia-toolchain.sh
29 COPY dist-various-2/build-solaris-toolchain.sh /tmp/
30 RUN /tmp/build-solaris-toolchain.sh x86_64  amd64   solaris-i386
31 RUN /tmp/build-solaris-toolchain.sh sparcv9 sparcv9 solaris-sparc
32 COPY dist-various-2/build-x86_64-fortanix-unknown-sgx-toolchain.sh /tmp/
33 # We pass the commit id of the port of LLVM's libunwind to the build script.
34 # Any update to the commit id here, should cause the container image to be re-built from this point on.
35 RUN /tmp/build-x86_64-fortanix-unknown-sgx-toolchain.sh "13fad13f8ea83a8da58d04a5faa45943151b3398"
36
37 COPY scripts/sccache.sh /scripts/
38 RUN sh /scripts/sccache.sh
39
40 ENV \
41     AR_x86_64_fuchsia=x86_64-fuchsia-ar \
42     CC_x86_64_fuchsia=x86_64-fuchsia-clang \
43     CXX_x86_64_fuchsia=x86_64-fuchsia-clang++ \
44     AR_aarch64_fuchsia=aarch64-fuchsia-ar \
45     CC_aarch64_fuchsia=aarch64-fuchsia-clang \
46     CXX_aarch64_fuchsia=aarch64-fuchsia-clang++ \
47     AR_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-ar \
48     CC_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-gcc \
49     CXX_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-g++ \
50     AR_x86_64_sun_solaris=x86_64-sun-solaris2.10-ar \
51     CC_x86_64_sun_solaris=x86_64-sun-solaris2.10-gcc \
52     CXX_x86_64_sun_solaris=x86_64-sun-solaris2.10-g++
53
54 ENV CARGO_TARGET_X86_64_FUCHSIA_AR /usr/local/bin/llvm-ar
55 ENV CARGO_TARGET_X86_64_FUCHSIA_RUSTFLAGS \
56 -C link-arg=--sysroot=/usr/local/x86_64-fuchsia \
57 -C link-arg=-L/usr/local/x86_64-fuchsia/lib \
58 -C link-arg=-L/usr/local/lib/x86_64-fuchsia/lib
59 ENV CARGO_TARGET_AARCH64_FUCHSIA_AR /usr/local/bin/llvm-ar
60 ENV CARGO_TARGET_AARCH64_FUCHSIA_RUSTFLAGS \
61 -C link-arg=--sysroot=/usr/local/aarch64-fuchsia \
62 -C link-arg=-L/usr/local/aarch64-fuchsia/lib \
63 -C link-arg=-L/usr/local/lib/aarch64-fuchsia/lib
64
65 ENV TARGETS=x86_64-fuchsia
66 ENV TARGETS=$TARGETS,aarch64-fuchsia
67 ENV TARGETS=$TARGETS,sparcv9-sun-solaris
68 ENV TARGETS=$TARGETS,wasm32-unknown-unknown
69 ENV TARGETS=$TARGETS,x86_64-sun-solaris
70 ENV TARGETS=$TARGETS,x86_64-unknown-linux-gnux32
71 ENV TARGETS=$TARGETS,x86_64-unknown-cloudabi
72 ENV TARGETS=$TARGETS,x86_64-fortanix-unknown-sgx
73
74 ENV X86_FORTANIX_SGX_LIBS="/x86_64-fortanix-unknown-sgx/lib/"
75
76 ENV RUST_CONFIGURE_ARGS --enable-extended --enable-lld --disable-docs
77 ENV SCRIPT python2.7 ../x.py dist --target $TARGETS