diff --git a/src/ci/docker/host-x86_64/dist-armv7-linux-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-armv7-linux-musl/Dockerfile new file mode 100644 index 0000000000000..d94cc3c90a74a --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-armv7-linux-musl/Dockerfile @@ -0,0 +1,37 @@ +FROM ubuntu:22.04 + +COPY scripts/cross-apt-packages.sh /scripts/ +RUN sh /scripts/cross-apt-packages.sh + +COPY scripts/crosstool-ng.sh /scripts/ +RUN sh /scripts/crosstool-ng.sh + +COPY scripts/rustbuild-setup.sh /scripts/ +RUN sh /scripts/rustbuild-setup.sh +WORKDIR /tmp + +COPY scripts/crosstool-ng-build.sh /scripts/ +COPY host-x86_64/dist-armv7-linux-musl/armv7-unknown-linux-musleabihf.defconfig /tmp/crosstool.defconfig +RUN /scripts/crosstool-ng-build.sh + +COPY scripts/sccache.sh /scripts/ +RUN sh /scripts/sccache.sh + +ENV PATH=$PATH:/x-tools/armv7-unknown-linux-musleabihf/bin + +ENV CC_armv7_unknown_linux_musleabihf=armv7-unknown-linux-musleabihf-gcc \ + AR_armv7_unknown_linux_musleabihf=armv7-unknown-linux-musleabihf-ar \ + CXX_armv7_unknown_linux_musleabihf=armv7-unknown-linux-musleabihf-g++ + +ENV HOSTS=armv7-unknown-linux-musleabihf + +ENV RUST_CONFIGURE_ARGS \ + --enable-extended \ + --enable-full-tools \ + --enable-profiler \ + --enable-sanitizers \ + --disable-docs \ + --set target.armv7-unknown-linux-musleabihf.crt-static=false \ + --musl-root-armv7hf=/x-tools/armv7-unknown-linux-musleabihf/armv7-unknown-linux-musleabihf/sysroot/usr + +ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS diff --git a/src/ci/docker/host-x86_64/dist-armv7-linux-musl/armv7-unknown-linux-musleabihf.defconfig b/src/ci/docker/host-x86_64/dist-armv7-linux-musl/armv7-unknown-linux-musleabihf.defconfig new file mode 100644 index 0000000000000..46935ce03683e --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-armv7-linux-musl/armv7-unknown-linux-musleabihf.defconfig @@ -0,0 +1,17 @@ +CT_CONFIG_VERSION="4" +CT_EXPERIMENTAL=y +CT_PREFIX_DIR="/x-tools/${CT_TARGET}" +CT_USE_MIRROR=y +CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_ARCH_ARM=y +CT_ARCH_ARM_MODE_THUMB=y +CT_ARCH_SUFFIX="v7" +CT_ARCH_ARCH="armv7-a" +CT_ARCH_FPU="vfpv3-d16" +CT_ARCH_FLOAT_HW=y +CT_KERNEL_LINUX=y +CT_LINUX_V_4_19=y +CT_LIBC_MUSL=y +CT_MUSL_V_1_2_3=y +CT_CC_LANG_CXX=y +CT_GETTEXT_NEEDED=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 00552db4b0144..addfafbe47b6c 100644 --- a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile @@ -73,11 +73,7 @@ RUN env \ env \ CC=arm-linux-gnueabihf-gcc CFLAGS="-march=armv6 -marm -mfpu=vfp" \ CXX=arm-linux-gnueabihf-g++ CXXFLAGS="-march=armv6 -marm -mfpu=vfp" \ - bash musl.sh armhf && \ - env \ - CC=arm-linux-gnueabihf-gcc CFLAGS="-march=armv7-a+fp" \ - CXX=arm-linux-gnueabihf-g++ CXXFLAGS="-march=armv7-a+fp" \ - bash musl.sh armv7hf + bash musl.sh armhf ENV RUN_MAKE_TARGETS=thumbv6m-none-eabi ENV RUN_MAKE_TARGETS=$RUN_MAKE_TARGETS,thumbv7m-none-eabi @@ -89,7 +85,7 @@ ENV TARGETS=$TARGETS,arm-unknown-linux-musleabi ENV TARGETS=$TARGETS,arm-unknown-linux-musleabihf ENV TARGETS=$TARGETS,armv5te-unknown-linux-gnueabi ENV TARGETS=$TARGETS,armv5te-unknown-linux-musleabi -ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabihf + ENV TARGETS=$TARGETS,aarch64-unknown-none ENV TARGETS=$TARGETS,aarch64-unknown-none-softfloat ENV TARGETS=$TARGETS,sparc64-unknown-linux-gnu @@ -121,7 +117,7 @@ ENV TARGETS=$TARGETS,x86_64-pc-windows-gnullvm ENV CFLAGS_armv5te_unknown_linux_musleabi="-march=armv5te -marm -mfloat-abi=soft" \ CFLAGS_arm_unknown_linux_musleabi="-march=armv6 -marm" \ CFLAGS_arm_unknown_linux_musleabihf="-march=armv6 -marm -mfpu=vfp" \ - CFLAGS_armv7_unknown_linux_musleabihf="-march=armv7-a+fp" \ + CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \ CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc \ CC_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \ @@ -157,7 +153,7 @@ ENV RUST_CONFIGURE_ARGS \ --musl-root-armv5te=/musl-armv5te \ --musl-root-arm=/musl-arm \ --musl-root-armhf=/musl-armhf \ - --musl-root-armv7hf=/musl-armv7hf \ + --disable-docs ENV SCRIPT \ diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index d6d9e0fb7736d..387266c3aa04e 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -198,6 +198,9 @@ auto: - name: dist-armv7-linux <<: *job-linux-4c + - name: dist-armv7-linux-musl + <<: *job-linux-4c + - name: dist-i586-gnu-i586-i686-musl <<: *job-linux-4c