]> git.proxmox.com Git - rustc.git/blame - src/ci/docker/dist-various-1/Dockerfile
New upstream version 1.26.0+dfsg1
[rustc.git] / src / ci / docker / dist-various-1 / Dockerfile
CommitLineData
476ff2be
SL
1FROM ubuntu:16.04
2
3RUN apt-get update && apt-get install -y --no-install-recommends \
4 g++ \
5 make \
6 file \
7 curl \
8 ca-certificates \
9 python2.7 \
10 git \
11 cmake \
476ff2be 12 sudo \
32a655c1
SL
13 xz-utils \
14 zlib1g-dev \
15 g++-arm-linux-gnueabi \
16 g++-arm-linux-gnueabihf \
ea8adc8c 17 g++-aarch64-linux-gnu \
8bb4bdeb
XL
18 gcc-sparc64-linux-gnu \
19 libc6-dev-sparc64-cross \
32a655c1 20 bzip2 \
8bb4bdeb
XL
21 patch \
22 libssl-dev \
23 pkg-config
476ff2be 24
2c00a5a8 25WORKDIR /build
476ff2be 26
2c00a5a8 27COPY dist-various-1/build-rumprun.sh /build
32a655c1 28RUN ./build-rumprun.sh
476ff2be 29
2c00a5a8
XL
30COPY dist-various-1/install-x86_64-redox.sh /build
31RUN ./install-x86_64-redox.sh
476ff2be 32
2c00a5a8 33COPY dist-various-1/install-mips-musl.sh /build
7cac9316 34RUN ./install-mips-musl.sh
476ff2be 35
2c00a5a8 36COPY dist-various-1/install-mipsel-musl.sh /build
7cac9316 37RUN ./install-mipsel-musl.sh
32a655c1 38
2c00a5a8
XL
39# Suppress some warnings in the openwrt toolchains we downloaded
40ENV STAGING_DIR=/tmp
41
42COPY scripts/musl.sh /build
43RUN env \
44 CC=arm-linux-gnueabi-gcc CFLAGS="-march=armv6 -marm" \
45 CXX=arm-linux-gnueabi-g++ CXXFLAGS="-march=armv6 -marm" \
46 bash musl.sh arm && \
47 env \
48 CC=arm-linux-gnueabihf-gcc CFLAGS="-march=armv6 -marm" \
49 CXX=arm-linux-gnueabihf-g++ CXXFLAGS="-march=armv6 -marm" \
50 bash musl.sh armhf && \
51 env \
52 CC=arm-linux-gnueabihf-gcc CFLAGS="-march=armv7-a" \
53 CXX=arm-linux-gnueabihf-g++ CXXFLAGS="-march=armv7-a" \
54 bash musl.sh armv7 && \
55 env \
56 CC=aarch64-linux-gnu-gcc \
57 CXX=aarch64-linux-gnu-g++ \
58 bash musl.sh aarch64 && \
59 env \
60 CC=mips-openwrt-linux-gcc \
61 CXX=mips-openwrt-linux-g++ \
62 bash musl.sh mips && \
63 env \
64 CC=mipsel-openwrt-linux-gcc \
65 CXX=mipsel-openwrt-linux-g++ \
66 bash musl.sh mipsel && \
67 rm -rf /build/*
3b2f2976 68
32a655c1
SL
69ENV TARGETS=asmjs-unknown-emscripten
70ENV TARGETS=$TARGETS,wasm32-unknown-emscripten
71ENV TARGETS=$TARGETS,x86_64-rumprun-netbsd
72ENV TARGETS=$TARGETS,mips-unknown-linux-musl
73ENV TARGETS=$TARGETS,mipsel-unknown-linux-musl
74ENV TARGETS=$TARGETS,arm-unknown-linux-musleabi
75ENV TARGETS=$TARGETS,arm-unknown-linux-musleabihf
ff7c6d11 76ENV TARGETS=$TARGETS,armv5te-unknown-linux-gnueabi
32a655c1 77ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabihf
ea8adc8c 78ENV TARGETS=$TARGETS,aarch64-unknown-linux-musl
8bb4bdeb 79ENV TARGETS=$TARGETS,sparc64-unknown-linux-gnu
3b2f2976 80ENV TARGETS=$TARGETS,x86_64-unknown-redox
476ff2be 81
ff7c6d11
XL
82# FIXME: remove armv5te vars after https://github.com/alexcrichton/cc-rs/issues/271
83# get fixed and cc update
32a655c1 84ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
8bb4bdeb 85 CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
3b2f2976 86 CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \
ff7c6d11
XL
87 CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc \
88 CC_armv5te_unknown_linux_gnueabi=arm-linux-gnueabi-gcc \
89 CFLAGS_armv5te_unknown_linux_gnueabi="-march=armv5te -marm -mfloat-abi=soft"
32a655c1 90
32a655c1 91ENV RUST_CONFIGURE_ARGS \
2c00a5a8
XL
92 --musl-root-arm=/musl-arm \
93 --musl-root-armhf=/musl-armhf \
94 --musl-root-armv7=/musl-armv7 \
95 --musl-root-aarch64=/musl-aarch64 \
96 --musl-root-mips=/musl-mips \
97 --musl-root-mipsel=/musl-mipsel \
0531ce1d
XL
98 --enable-emscripten \
99 --disable-docs
2c00a5a8 100
32a655c1 101ENV SCRIPT python2.7 ../x.py dist --target $TARGETS
7cac9316
XL
102
103# sccache
104COPY scripts/sccache.sh /scripts/
105RUN sh /scripts/sccache.sh