]>
Commit | Line | Data |
---|---|---|
476ff2be SL |
1 | FROM ubuntu:16.04 |
2 | ||
3 | RUN 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 | 25 | WORKDIR /build |
476ff2be | 26 | |
2c00a5a8 | 27 | COPY dist-various-1/build-rumprun.sh /build |
32a655c1 | 28 | RUN ./build-rumprun.sh |
476ff2be | 29 | |
2c00a5a8 XL |
30 | COPY dist-various-1/install-x86_64-redox.sh /build |
31 | RUN ./install-x86_64-redox.sh | |
476ff2be | 32 | |
2c00a5a8 | 33 | COPY dist-various-1/install-mips-musl.sh /build |
7cac9316 | 34 | RUN ./install-mips-musl.sh |
476ff2be | 35 | |
2c00a5a8 | 36 | COPY dist-various-1/install-mipsel-musl.sh /build |
7cac9316 | 37 | RUN ./install-mipsel-musl.sh |
32a655c1 | 38 | |
2c00a5a8 XL |
39 | # Suppress some warnings in the openwrt toolchains we downloaded |
40 | ENV STAGING_DIR=/tmp | |
41 | ||
42 | COPY scripts/musl.sh /build | |
43 | RUN 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 |
69 | ENV TARGETS=asmjs-unknown-emscripten |
70 | ENV TARGETS=$TARGETS,wasm32-unknown-emscripten | |
71 | ENV TARGETS=$TARGETS,x86_64-rumprun-netbsd | |
72 | ENV TARGETS=$TARGETS,mips-unknown-linux-musl | |
73 | ENV TARGETS=$TARGETS,mipsel-unknown-linux-musl | |
74 | ENV TARGETS=$TARGETS,arm-unknown-linux-musleabi | |
75 | ENV TARGETS=$TARGETS,arm-unknown-linux-musleabihf | |
ff7c6d11 | 76 | ENV TARGETS=$TARGETS,armv5te-unknown-linux-gnueabi |
32a655c1 | 77 | ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabihf |
ea8adc8c | 78 | ENV TARGETS=$TARGETS,aarch64-unknown-linux-musl |
8bb4bdeb | 79 | ENV TARGETS=$TARGETS,sparc64-unknown-linux-gnu |
3b2f2976 | 80 | ENV 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 | 84 | ENV 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 | 91 | ENV 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 | 101 | ENV SCRIPT python2.7 ../x.py dist --target $TARGETS |
7cac9316 XL |
102 | |
103 | # sccache | |
104 | COPY scripts/sccache.sh /scripts/ | |
105 | RUN sh /scripts/sccache.sh |