This is implementing the MCP from rust-lang/compiler-team#493. It is increasing the minimum requirements of a couple Tier 1 targets, and others at lower tiers, so this should go through FCP sign-offs for both `T-compiler` and `T-release`. The new `linux-gnu` baseline is kernel 3.2 and glibc 2.17. We will also take that kernel as the minimum floor for _all_ `*-linux-*` targets, so it may be broadly assumed in the implementation of the standard library. That does not preclude specific targets from having greater requirements where it makes sense, like a new arch needing something newer, or a platform like `linux-android` choosing a newer baseline.
31 lines
930 B
Docker
31 lines
930 B
Docker
FROM ubuntu:20.04
|
|
|
|
COPY scripts/cross-apt-packages.sh /scripts/
|
|
RUN sh /scripts/cross-apt-packages.sh
|
|
|
|
COPY scripts/crosstool-ng-1.24.sh /scripts/
|
|
RUN sh /scripts/crosstool-ng-1.24.sh
|
|
|
|
COPY scripts/rustbuild-setup.sh /scripts/
|
|
RUN sh /scripts/rustbuild-setup.sh
|
|
USER rustbuild
|
|
WORKDIR /tmp
|
|
|
|
COPY host-x86_64/dist-riscv64-linux/build-toolchains.sh host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.config /tmp/
|
|
RUN ./build-toolchains.sh
|
|
|
|
USER root
|
|
|
|
COPY scripts/sccache.sh /scripts/
|
|
RUN sh /scripts/sccache.sh
|
|
|
|
ENV PATH=$PATH:/x-tools/riscv64-unknown-linux-gnu/bin
|
|
|
|
ENV CC_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-gcc \
|
|
AR_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-ar \
|
|
CXX_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-g++
|
|
|
|
ENV HOSTS=riscv64gc-unknown-linux-gnu
|
|
|
|
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
|
ENV SCRIPT python3 ../x.py dist --target $HOSTS --host $HOSTS
|