From a7e39b28212cd435d6378320c84ececc4054ae8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Tue, 6 May 2025 18:42:53 +0200 Subject: [PATCH 01/10] Move *-windows-gnullvm targets to it's own Dockerfile and enable host tools --- .../host-x86_64/dist-various-1/Dockerfile | 8 +-- .../dist-various-1/install-llvm-mingw.sh | 8 --- .../dist-windows-gnullvm/Dockerfile | 51 +++++++++++++++++++ .../install-llvm-mingw.sh | 13 +++++ 4 files changed, 65 insertions(+), 15 deletions(-) delete mode 100755 src/ci/docker/host-x86_64/dist-various-1/install-llvm-mingw.sh create mode 100644 src/ci/docker/host-x86_64/dist-windows-gnullvm/Dockerfile create mode 100755 src/ci/docker/host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh 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..af48e9bcfde9d 100644 --- a/src/ci/docker/host-x86_64/dist-various-1/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-various-1/Dockerfile @@ -114,9 +114,6 @@ ENV TARGETS=$TARGETS,armv7r-none-eabi ENV TARGETS=$TARGETS,armv7r-none-eabihf ENV TARGETS=$TARGETS,thumbv7neon-unknown-linux-gnueabihf ENV TARGETS=$TARGETS,armv7a-none-eabi -ENV TARGETS=$TARGETS,aarch64-pc-windows-gnullvm -ENV TARGETS=$TARGETS,i686-pc-windows-gnullvm -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" \ @@ -148,10 +145,7 @@ ENV CFLAGS_armv5te_unknown_linux_musleabi="-march=armv5te -marm -mfloat-abi=soft CC_riscv64imac_unknown_none_elf=riscv64-unknown-elf-gcc \ CFLAGS_riscv64imac_unknown_none_elf=-march=rv64imac -mabi=lp64 \ CC_riscv64gc_unknown_none_elf=riscv64-unknown-elf-gcc \ - CFLAGS_riscv64gc_unknown_none_elf=-march=rv64gc -mabi=lp64 \ - CC_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang \ - CC_i686_pc_windows_gnullvm=i686-w64-mingw32-clang \ - CC_x86_64_pc_windows_gnullvm=x86_64-w64-mingw32-clang + CFLAGS_riscv64gc_unknown_none_elf=-march=rv64gc -mabi=lp64 ENV RUST_CONFIGURE_ARGS \ --musl-root-armv5te=/musl-armv5te \ diff --git a/src/ci/docker/host-x86_64/dist-various-1/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-various-1/install-llvm-mingw.sh deleted file mode 100755 index 95471895fe771..0000000000000 --- a/src/ci/docker/host-x86_64/dist-various-1/install-llvm-mingw.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -release_date=20240404 -archive=llvm-mingw-${release_date}-ucrt-ubuntu-20.04-x86_64.tar.xz -curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date}/${archive} | \ -tar --extract --lzma --strip 1 --directory /usr/local diff --git a/src/ci/docker/host-x86_64/dist-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-windows-gnullvm/Dockerfile new file mode 100644 index 0000000000000..cde27b70e0813 --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-windows-gnullvm/Dockerfile @@ -0,0 +1,51 @@ +FROM ubuntu:22.04 + +WORKDIR /build + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + cmake \ + curl \ + g++ \ + git \ + make \ + ninja-build \ + python3 \ + xz-utils + +COPY host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh /build +RUN ./install-llvm-mingw.sh + +COPY scripts/sccache.sh /scripts/ +RUN sh /scripts/sccache.sh + +ENV CC_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang \ + CXX_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang++ \ + CC_i686_pc_windows_gnullvm=i686-w64-mingw32-clang \ + CC_x86_64_pc_windows_gnullvm=x86_64-w64-mingw32-clang \ + CXX_x86_64_pc_windows_gnullvm=x86_64-w64-mingw32-clang++ + +ENV HOSTS=aarch64-pc-windows-gnullvm,x86_64-pc-windows-gnullvm +ENV TARGETS=aarch64-pc-windows-gnullvm,i686-pc-windows-gnullvm,x86_64-pc-windows-gnullvm + +# We are bootstrapping this target and cannot use previously built artifacts. +# Without this option Clang is given `"-I/checkout/obj/build/aarch64-pc-windows-gnullvm/ci-llvm/include"` +# despite no such directory existing: +# ❯ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 +#  llvm +#  stage2 +ENV NO_DOWNLOAD_CI_LLVM 1 + +ENV RUST_CONFIGURE_ARGS \ + --enable-extended \ + --enable-profiler \ + --enable-sanitizers \ + --disable-docs \ + --set llvm.download-ci-llvm=false \ + --set rust.llvm-tools=false +# LLVM cross tools are not installed into expected location so copying fails. +# Probably will solve itself when building from Windows. +# --enable-full-tools \ + +ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $TARGETS diff --git a/src/ci/docker/host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh new file mode 100755 index 0000000000000..4105eaaac78e3 --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -ex + +release_date=20250430 +archive=llvm-mingw-${release_date}-ucrt-ubuntu-22.04-x86_64.tar.xz +curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date}/${archive} | \ +tar --extract --xz --strip 1 --directory /usr/local + +# https://github.com/mstorsjo/llvm-mingw/issues/493 +for arch in aarch64 x86_64; do + ln -s $arch-w64-windows-gnu.cfg /usr/local/bin/$arch-pc-windows-gnu.cfg +done From f269a1bd79e1c9d42bed60251cf8f62795e396b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Thu, 15 May 2025 21:27:26 +0200 Subject: [PATCH 02/10] Add CI job --- src/ci/github-actions/jobs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 43c77d1ddf7f5..8563c6c4ad430 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -237,6 +237,9 @@ auto: - name: dist-s390x-linux <<: *job-linux-4c + - name: dist-windows-gnullvm + <<: *job-linux-4c + - name: dist-various-1 <<: *job-linux-4c From f6023698ca2f4ec95b9590290edf754334735373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Fri, 16 May 2025 18:11:53 +0200 Subject: [PATCH 03/10] Split CI into two jobs --- .../dist-aarch64-windows-gnullvm/Dockerfile | 47 +++++++++++++++++++ .../install-llvm-mingw.sh | 11 +++++ .../Dockerfile | 10 ++-- .../install-llvm-mingw.sh | 2 +- src/ci/github-actions/jobs.yml | 5 +- 5 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile create mode 100755 src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh rename src/ci/docker/host-x86_64/{dist-windows-gnullvm => dist-x86_64-windows-gnullvm}/Dockerfile (75%) rename src/ci/docker/host-x86_64/{dist-windows-gnullvm => dist-x86_64-windows-gnullvm}/install-llvm-mingw.sh (92%) diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile new file mode 100644 index 0000000000000..7a960305a3b56 --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile @@ -0,0 +1,47 @@ +FROM ubuntu:22.04 + +WORKDIR /build + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + cmake \ + curl \ + g++ \ + git \ + make \ + ninja-build \ + python3 \ + xz-utils + +COPY host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh /build +RUN ./install-llvm-mingw.sh + +COPY scripts/sccache.sh /scripts/ +RUN sh /scripts/sccache.sh + +ENV CC_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang \ + CXX_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang++ + +ENV HOST=aarch64-pc-windows-gnullvm + +# We are bootstrapping this target and cannot use previously built artifacts. +# Without this option Clang is given `"-I/checkout/obj/build/aarch64-pc-windows-gnullvm/ci-llvm/include"` +# despite no such directory existing: +# ❯ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 +#  llvm +#  stage2 +ENV NO_DOWNLOAD_CI_LLVM 1 + +ENV RUST_CONFIGURE_ARGS \ + --enable-extended \ + --enable-profiler \ + --enable-sanitizers \ + --disable-docs \ + --set llvm.download-ci-llvm=false \ + --set rust.llvm-tools=false +# LLVM cross tools are not installed into expected location so copying fails. +# Probably will solve itself when building from Windows. +# --enable-full-tools \ + +ENV SCRIPT python3 ../x.py dist --host $HOST --target $HOST diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh new file mode 100755 index 0000000000000..b58662b02e8a0 --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -ex + +release_date=20250430 +archive=llvm-mingw-${release_date}-ucrt-ubuntu-22.04-x86_64.tar.xz +curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date}/${archive} | \ +tar --extract --xz --strip 1 --directory /usr/local + +# https://github.com/mstorsjo/llvm-mingw/issues/493 +ln -s $aarch64-w64-windows-gnu.cfg /usr/local/bin/$arch-pc-windows-gnu.cfg diff --git a/src/ci/docker/host-x86_64/dist-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile similarity index 75% rename from src/ci/docker/host-x86_64/dist-windows-gnullvm/Dockerfile rename to src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile index cde27b70e0813..712d04e7037d5 100644 --- a/src/ci/docker/host-x86_64/dist-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile @@ -20,14 +20,12 @@ RUN ./install-llvm-mingw.sh COPY scripts/sccache.sh /scripts/ RUN sh /scripts/sccache.sh -ENV CC_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang \ - CXX_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang++ \ - CC_i686_pc_windows_gnullvm=i686-w64-mingw32-clang \ +ENV CC_i686_pc_windows_gnullvm=i686-w64-mingw32-clang \ CC_x86_64_pc_windows_gnullvm=x86_64-w64-mingw32-clang \ CXX_x86_64_pc_windows_gnullvm=x86_64-w64-mingw32-clang++ -ENV HOSTS=aarch64-pc-windows-gnullvm,x86_64-pc-windows-gnullvm -ENV TARGETS=aarch64-pc-windows-gnullvm,i686-pc-windows-gnullvm,x86_64-pc-windows-gnullvm +ENV HOST=x86_64-pc-windows-gnullvm +ENV TARGETS=i686-pc-windows-gnullvm,x86_64-pc-windows-gnullvm # We are bootstrapping this target and cannot use previously built artifacts. # Without this option Clang is given `"-I/checkout/obj/build/aarch64-pc-windows-gnullvm/ci-llvm/include"` @@ -48,4 +46,4 @@ ENV RUST_CONFIGURE_ARGS \ # Probably will solve itself when building from Windows. # --enable-full-tools \ -ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $TARGETS +ENV SCRIPT python3 ../x.py dist --host $HOST --target $TARGETS diff --git a/src/ci/docker/host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh similarity index 92% rename from src/ci/docker/host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh rename to src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh index 4105eaaac78e3..6be1994f4c830 100755 --- a/src/ci/docker/host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh @@ -8,6 +8,6 @@ curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date} tar --extract --xz --strip 1 --directory /usr/local # https://github.com/mstorsjo/llvm-mingw/issues/493 -for arch in aarch64 x86_64; do +for arch in i686 x86_64; do ln -s $arch-w64-windows-gnu.cfg /usr/local/bin/$arch-pc-windows-gnu.cfg done diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 8563c6c4ad430..9e89d86e1982b 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -237,7 +237,10 @@ auto: - name: dist-s390x-linux <<: *job-linux-4c - - name: dist-windows-gnullvm + - name: dist-aarch64-windows-gnullvm + <<: *job-linux-4c + + - name: dist-x86_64-windows-gnullvm <<: *job-linux-4c - name: dist-various-1 From 120556bbb3ed2fe26f7496c007ceac9a1a46baaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Mon, 19 May 2025 17:22:12 +0200 Subject: [PATCH 04/10] fix paths after the split --- .../docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile | 2 +- .../docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile index 7a960305a3b56..3a46d3c5f9262 100644 --- a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile @@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ python3 \ xz-utils -COPY host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh /build +COPY host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh /build RUN ./install-llvm-mingw.sh COPY scripts/sccache.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile index 712d04e7037d5..6902cd2f935b4 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile @@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ python3 \ xz-utils -COPY host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh /build +COPY host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh /build RUN ./install-llvm-mingw.sh COPY scripts/sccache.sh /scripts/ From a3a585a97d65c93f087c877ca2b936105ff752db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Mon, 19 May 2025 19:20:04 +0200 Subject: [PATCH 05/10] Fix install script for AArch64 --- .../dist-aarch64-windows-gnullvm/install-llvm-mingw.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh index b58662b02e8a0..40ad191e4d094 100755 --- a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh +++ b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh @@ -8,4 +8,4 @@ curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date} tar --extract --xz --strip 1 --directory /usr/local # https://github.com/mstorsjo/llvm-mingw/issues/493 -ln -s $aarch64-w64-windows-gnu.cfg /usr/local/bin/$arch-pc-windows-gnu.cfg +ln -s aarch64-w64-windows-gnu.cfg /usr/local/bin/aarch64-pc-windows-gnu.cfg From cacda770ef9507c82d86d3e5ef3c8a096d6157e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Mon, 9 Jun 2025 23:43:35 +0200 Subject: [PATCH 06/10] update llvm-mingw --- .../dist-x86_64-windows-gnullvm/install-llvm-mingw.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh index 6be1994f4c830..ca6c4d7023656 100755 --- a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh @@ -2,7 +2,7 @@ set -ex -release_date=20250430 +release_date=20250528 archive=llvm-mingw-${release_date}-ucrt-ubuntu-22.04-x86_64.tar.xz curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date}/${archive} | \ tar --extract --xz --strip 1 --directory /usr/local From 880c36c599313df4b6af1bdd4adb51ecc61c1dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Fri, 13 Jun 2025 02:11:00 +0200 Subject: [PATCH 07/10] avoid using icons --- .../host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile | 6 +++--- .../host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile index 3a46d3c5f9262..15feaee0ca9a9 100644 --- a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile @@ -28,9 +28,9 @@ ENV HOST=aarch64-pc-windows-gnullvm # We are bootstrapping this target and cannot use previously built artifacts. # Without this option Clang is given `"-I/checkout/obj/build/aarch64-pc-windows-gnullvm/ci-llvm/include"` # despite no such directory existing: -# ❯ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 -#  llvm -#  stage2 +# $ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 +# llvm +# stage2 ENV NO_DOWNLOAD_CI_LLVM 1 ENV RUST_CONFIGURE_ARGS \ diff --git a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile index 6902cd2f935b4..e372eebf3148f 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile @@ -30,9 +30,9 @@ ENV TARGETS=i686-pc-windows-gnullvm,x86_64-pc-windows-gnullvm # We are bootstrapping this target and cannot use previously built artifacts. # Without this option Clang is given `"-I/checkout/obj/build/aarch64-pc-windows-gnullvm/ci-llvm/include"` # despite no such directory existing: -# ❯ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 -#  llvm -#  stage2 +# $ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 +# llvm +# stage2 ENV NO_DOWNLOAD_CI_LLVM 1 ENV RUST_CONFIGURE_ARGS \ From cecb0f955a5c7ae5afe609757586e4271b3d7cbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Fri, 13 Jun 2025 02:12:50 +0200 Subject: [PATCH 08/10] clarify comments --- .../docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile | 2 +- .../docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile index 15feaee0ca9a9..9877a3a08e66d 100644 --- a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile @@ -41,7 +41,7 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.download-ci-llvm=false \ --set rust.llvm-tools=false # LLVM cross tools are not installed into expected location so copying fails. -# Probably will solve itself when building from Windows. +# Probably will solve itself once this target can host itself on Windows. # --enable-full-tools \ ENV SCRIPT python3 ../x.py dist --host $HOST --target $HOST diff --git a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile index e372eebf3148f..16289a20da938 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile @@ -43,7 +43,7 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.download-ci-llvm=false \ --set rust.llvm-tools=false # LLVM cross tools are not installed into expected location so copying fails. -# Probably will solve itself when building from Windows. +# Probably will solve itself once these targets can host themselves on Windows. # --enable-full-tools \ ENV SCRIPT python3 ../x.py dist --host $HOST --target $TARGETS From 10385586d390ea775a29b343188c75d93866195c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Sun, 15 Jun 2025 13:16:26 +0200 Subject: [PATCH 09/10] Use single script for both Dockerfiles --- .../dist-aarch64-windows-gnullvm/Dockerfile | 3 ++- .../install-llvm-mingw.sh | 11 ----------- .../dist-x86_64-windows-gnullvm/Dockerfile | 1 + .../dist-x86_64-windows-gnullvm/install-llvm-mingw.sh | 2 +- 4 files changed, 4 insertions(+), 13 deletions(-) delete mode 100755 src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile index 9877a3a08e66d..2874a818aeea3 100644 --- a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile @@ -14,7 +14,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ python3 \ xz-utils -COPY host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh /build +ENV ARCH=aarch64 +COPY host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh /build RUN ./install-llvm-mingw.sh COPY scripts/sccache.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh deleted file mode 100755 index 40ad191e4d094..0000000000000 --- a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/install-llvm-mingw.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -release_date=20250430 -archive=llvm-mingw-${release_date}-ucrt-ubuntu-22.04-x86_64.tar.xz -curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date}/${archive} | \ -tar --extract --xz --strip 1 --directory /usr/local - -# https://github.com/mstorsjo/llvm-mingw/issues/493 -ln -s aarch64-w64-windows-gnu.cfg /usr/local/bin/aarch64-pc-windows-gnu.cfg diff --git a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile index 16289a20da938..d6c1c6c15323d 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile @@ -14,6 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ python3 \ xz-utils +ENV ARCH='i686 x86_64' COPY host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh /build RUN ./install-llvm-mingw.sh diff --git a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh index ca6c4d7023656..c6e68d2380686 100755 --- a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh @@ -8,6 +8,6 @@ curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date} tar --extract --xz --strip 1 --directory /usr/local # https://github.com/mstorsjo/llvm-mingw/issues/493 -for arch in i686 x86_64; do +for arch in $ARCH; do ln -s $arch-w64-windows-gnu.cfg /usr/local/bin/$arch-pc-windows-gnu.cfg done From a2b6efe639dadc8b7e593dd7ffa979cd967eac2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Sun, 15 Jun 2025 13:49:32 +0200 Subject: [PATCH 10/10] New LLVM version --- .../docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile | 2 +- .../docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile | 2 +- .../dist-x86_64-windows-gnullvm/install-llvm-mingw.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile index 2874a818aeea3..cdbc1cda02558 100644 --- a/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-aarch64-windows-gnullvm/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 +FROM ubuntu:24.04 WORKDIR /build diff --git a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile index d6c1c6c15323d..1ee3951beb563 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 +FROM ubuntu:24.04 WORKDIR /build diff --git a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh index c6e68d2380686..0ea5dae3ffbd9 100755 --- a/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh +++ b/src/ci/docker/host-x86_64/dist-x86_64-windows-gnullvm/install-llvm-mingw.sh @@ -2,7 +2,7 @@ set -ex -release_date=20250528 +release_date=20250613 archive=llvm-mingw-${release_date}-ucrt-ubuntu-22.04-x86_64.tar.xz curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date}/${archive} | \ tar --extract --xz --strip 1 --directory /usr/local