diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2020-07-15 11:01:02 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-15 11:01:02 -0700 |
| commit | af3d4cb936592ba53593ba869213c1af61b4166f (patch) | |
| tree | 51d3b37f5a0d085af88b595b09ffa18539e79d0a /src/ci/docker | |
| parent | 7e11379f3b4c376fbb9a6c4d44f3286ccc28d149 (diff) | |
| parent | 933ba82266da94a812cc3052c6b91b7f8f5b4c35 (diff) | |
| download | rust-af3d4cb936592ba53593ba869213c1af61b4166f.tar.gz rust-af3d4cb936592ba53593ba869213c1af61b4166f.zip | |
Rollup merge of #72973 - msizanoen1:riscv-host, r=pietroalbini
RISC-V GNU/Linux as host platform This PR add a new builder named `dist-riscv64-linux` that builds the compiler toolchain for RISC-V 64-bit GNU/Linux. r? @alexcrichton
Diffstat (limited to 'src/ci/docker')
| -rw-r--r-- | src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile | 31 | ||||
| -rwxr-xr-x | src/ci/docker/host-x86_64/dist-riscv64-linux/build-toolchains.sh (renamed from src/ci/docker/host-x86_64/dist-various-1/build-riscv-toolchain.sh) | 8 | ||||
| -rw-r--r--[-rwxr-xr-x] | src/ci/docker/host-x86_64/dist-riscv64-linux/crosstool-ng.sh (renamed from src/ci/docker/host-x86_64/dist-various-1/crosstool-ng.sh) | 1 | ||||
| -rw-r--r-- | src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.config (renamed from src/ci/docker/host-x86_64/dist-various-1/riscv64-unknown-linux-gnu.config) | 2 | ||||
| -rw-r--r-- | src/ci/docker/host-x86_64/dist-various-1/Dockerfile | 16 |
5 files changed, 35 insertions, 23 deletions
diff --git a/src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile new file mode 100644 index 00000000000..dff7c475157 --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile @@ -0,0 +1,31 @@ +FROM ubuntu:18.04 + +COPY scripts/cross-apt-packages.sh /scripts/ +RUN sh /scripts/cross-apt-packages.sh + +COPY host-x86_64/dist-riscv64-linux/crosstool-ng.sh /scripts/ +RUN sh /scripts/crosstool-ng.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 diff --git a/src/ci/docker/host-x86_64/dist-various-1/build-riscv-toolchain.sh b/src/ci/docker/host-x86_64/dist-riscv64-linux/build-toolchains.sh index 9cb5700b3b6..6a7c022d01a 100755 --- a/src/ci/docker/host-x86_64/dist-various-1/build-riscv-toolchain.sh +++ b/src/ci/docker/host-x86_64/dist-riscv64-linux/build-toolchains.sh @@ -19,9 +19,9 @@ exit 1 set -x } -mkdir -p /tmp/build-riscv -cp riscv64-unknown-linux-gnu.config /tmp/build-riscv/.config -cd /tmp/build-riscv +mkdir build +cd build +cp ../riscv64-unknown-linux-gnu.config .config hide_output ct-ng build cd .. -rm -rf build-riscv +rm -rf build diff --git a/src/ci/docker/host-x86_64/dist-various-1/crosstool-ng.sh b/src/ci/docker/host-x86_64/dist-riscv64-linux/crosstool-ng.sh index b01fdd0bf65..fb067a79a5c 100755..100644 --- a/src/ci/docker/host-x86_64/dist-various-1/crosstool-ng.sh +++ b/src/ci/docker/host-x86_64/dist-riscv64-linux/crosstool-ng.sh @@ -1,4 +1,3 @@ -#!/bin/bash set -ex # Mirrored from https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-1.24.0.tar.gz diff --git a/src/ci/docker/host-x86_64/dist-various-1/riscv64-unknown-linux-gnu.config b/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.config index dd06065b197..dbb4be550dd 100644 --- a/src/ci/docker/host-x86_64/dist-various-1/riscv64-unknown-linux-gnu.config +++ b/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.config @@ -17,8 +17,6 @@ CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y CT_CONFIGURE_has_python=y -CT_CONFIGURE_has_dtc=y -CT_CONFIGURE_has_svn=y CT_CONFIGURE_has_git=y CT_CONFIGURE_has_md5sum=y CT_CONFIGURE_has_sha1sum=y diff --git a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile index 87bab78f796..ac228cfe01d 100644 --- a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile @@ -47,18 +47,6 @@ RUN add-apt-repository ppa:team-gcc-arm-embedded/ppa && \ apt-get update && \ apt-get install -y --no-install-recommends gcc-arm-embedded -COPY scripts/rustbuild-setup.sh host-x86_64/dist-various-1/build-riscv-toolchain.sh host-x86_64/dist-various-1/riscv64-unknown-linux-gnu.config host-x86_64/dist-various-1/crosstool-ng.sh /build/ -RUN ./crosstool-ng.sh - -# Crosstool-ng will refuse to build as root -RUN sh ./rustbuild-setup.sh -USER rustbuild - -RUN ./build-riscv-toolchain.sh - -USER root -ENV PATH=/x-tools/riscv64-unknown-linux-gnu/bin:$PATH - COPY host-x86_64/dist-various-1/build-rumprun.sh /build RUN ./build-rumprun.sh @@ -158,7 +146,6 @@ ENV TARGETS=$TARGETS,riscv32imc-unknown-none-elf ENV TARGETS=$TARGETS,riscv32imac-unknown-none-elf ENV TARGETS=$TARGETS,riscv64imac-unknown-none-elf ENV TARGETS=$TARGETS,riscv64gc-unknown-none-elf -ENV TARGETS=$TARGETS,riscv64gc-unknown-linux-gnu ENV TARGETS=$TARGETS,armebv7r-none-eabi ENV TARGETS=$TARGETS,armebv7r-none-eabihf ENV TARGETS=$TARGETS,armv7r-none-eabi @@ -186,9 +173,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ CFLAGS_aarch64_unknown_none_softfloat=-mstrict-align -march=armv8-a+nofp+nosimd \ CC_aarch64_unknown_none=aarch64-none-elf-gcc \ CFLAGS_aarch64_unknown_none=-mstrict-align -march=armv8-a+fp+simd \ - 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++ \ CC_riscv32i_unknown_none_elf=false \ CC_riscv32imc_unknown_none_elf=false \ CC_riscv32imac_unknown_none_elf=false \ |
