3 RUN apt-get update && apt-get install -y --no-install-recommends \
15 g++-arm-linux-gnueabi \
16 g++-arm-linux-gnueabihf \
17 gcc-sparc64-linux-gnu \
18 libc6-dev-sparc64-cross \
25 COPY scripts/dumb-init.sh /scripts/
26 RUN sh /scripts/dumb-init.sh
30 COPY cross/build-rumprun.sh /tmp/
31 RUN ./build-rumprun.sh
33 COPY cross/build-arm-musl.sh /tmp/
34 RUN ./build-arm-musl.sh
37 # https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/OpenWrt-Toolchain-ar71xx-generic_gcc-5.3.0_musl-1.1.16.Linux-x86_64.tar.bz2
38 RUN mkdir /usr/local/mips-linux-musl
39 RUN curl -L https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/OpenWrt-Toolchain-ar71xx-generic_gcc-5.3.0_musl-1.1.16.Linux-x86_64.tar.bz2 | \
40 tar xjf - -C /usr/local/mips-linux-musl --strip-components=2
41 RUN for file in /usr/local/mips-linux-musl/bin/mips-openwrt-linux-*; do \
42 ln -s $file /usr/local/bin/`basename $file`; \
45 # Note that this originally came from:
46 # https://downloads.openwrt.org/snapshots/trunk/malta/generic/OpenWrt-Toolchain-malta-le_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2
47 RUN mkdir /usr/local/mipsel-linux-musl
48 RUN curl -L https://s3.amazonaws.com/rust-lang-ci/libc/OpenWrt-Toolchain-malta-le_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2 | \
49 tar xjf - -C /usr/local/mipsel-linux-musl --strip-components=2
50 RUN for file in /usr/local/mipsel-linux-musl/bin/mipsel-openwrt-linux-*; do \
51 ln -s $file /usr/local/bin/`basename $file`; \
54 ENV TARGETS=asmjs-unknown-emscripten
55 ENV TARGETS=$TARGETS,wasm32-unknown-emscripten
56 ENV TARGETS=$TARGETS,x86_64-rumprun-netbsd
57 ENV TARGETS=$TARGETS,mips-unknown-linux-musl
58 ENV TARGETS=$TARGETS,mipsel-unknown-linux-musl
59 ENV TARGETS=$TARGETS,arm-unknown-linux-musleabi
60 ENV TARGETS=$TARGETS,arm-unknown-linux-musleabihf
61 ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabihf
62 ENV TARGETS=$TARGETS,sparc64-unknown-linux-gnu
64 ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
65 CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
66 CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc
68 # Suppress some warnings in the openwrt toolchains we downloaded
71 ENV RUST_CONFIGURE_ARGS \
74 --musl-root-arm=/usr/local/arm-linux-musleabi \
75 --musl-root-armhf=/usr/local/arm-linux-musleabihf \
76 --musl-root-armv7=/usr/local/armv7-linux-musleabihf
77 ENV SCRIPT python2.7 ../x.py dist --target $TARGETS
80 COPY scripts/sccache.sh /scripts/
81 RUN sh /scripts/sccache.sh
84 ENTRYPOINT ["/usr/bin/dumb-init", "--"]