From cf5519a1956e29580e184e9c00ad87edd02b70ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Fri, 17 Jul 2026 13:31:18 +0200 Subject: [PATCH 1/4] wip: try cross-compiling i686-mingw --- src/ci/github-actions/jobs.yml | 4 +++- src/ci/scripts/install-mingw.sh | 11 ++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 08121a9a693b7..46570c289ef5a 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -837,7 +837,9 @@ auto: env: # Disable RISCV target because building it OOMs. RUST_CONFIGURE_ARGS: >- - --build=i686-pc-windows-gnu + --build=x86_64-pc-windows-gnu + --host=i686-pc-windows-gnu + --target=i686-pc-windows-gnu --enable-full-tools --set llvm.targets=AArch64;AMDGPU;ARM;BPF;Hexagon;LoongArch;MSP430;Mips;NVPTX;PowerPC;Sparc;SystemZ;WebAssembly;X86 SCRIPT: python x.py dist bootstrap --include-default-paths diff --git a/src/ci/scripts/install-mingw.sh b/src/ci/scripts/install-mingw.sh index 470ef4ffea433..63fc309e23fb9 100755 --- a/src/ci/scripts/install-mingw.sh +++ b/src/ci/scripts/install-mingw.sh @@ -12,7 +12,15 @@ LLVM_MINGW_ARCHIVE_AARCH64="llvm-mingw-20251104-ucrt-aarch64.zip" LLVM_MINGW_ARCHIVE_X86_64="llvm-mingw-20251104-ucrt-x86_64.zip" if isWindows && isKnownToBeMingwBuild; then - case "${CI_JOB_NAME}" in + toolchains= + if [[ "${CI_JOB_NAME}" == *i686-mingw* ]]; then + toolchains=("x86_64-mingw" "${CI_JOB_NAME}") + else + toolchains=("${CI_JOB_NAME}") + fi + + for toolchain in "${toolchains[@]}"; do + case "${toolchain}" in *aarch64-llvm*) mingw_dir="clangarm64" mingw_archive="${LLVM_MINGW_ARCHIVE_AARCH64}" @@ -81,4 +89,5 @@ if isWindows && isKnownToBeMingwBuild; then # (see https://github.com/actions/runner-images/issues/12600) /c/msys64/usr/bin/bash -lc ' ' fi + done fi From cb69043bf60f3b39dd971e61ae4b54ad80ec64ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Fri, 17 Jul 2026 13:42:56 +0200 Subject: [PATCH 2/4] reverse the order --- src/ci/scripts/install-mingw.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/scripts/install-mingw.sh b/src/ci/scripts/install-mingw.sh index 63fc309e23fb9..c0e151584878a 100755 --- a/src/ci/scripts/install-mingw.sh +++ b/src/ci/scripts/install-mingw.sh @@ -14,7 +14,7 @@ LLVM_MINGW_ARCHIVE_X86_64="llvm-mingw-20251104-ucrt-x86_64.zip" if isWindows && isKnownToBeMingwBuild; then toolchains= if [[ "${CI_JOB_NAME}" == *i686-mingw* ]]; then - toolchains=("x86_64-mingw" "${CI_JOB_NAME}") + toolchains=("${CI_JOB_NAME}" "x86_64-mingw") else toolchains=("${CI_JOB_NAME}") fi From 3d26016e46acde2e005d05393b82ec59cfc3f6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Fri, 17 Jul 2026 15:38:42 +0200 Subject: [PATCH 3/4] what?! --- src/ci/github-actions/jobs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 46570c289ef5a..93f479b7db81d 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -842,6 +842,7 @@ auto: --target=i686-pc-windows-gnu --enable-full-tools --set llvm.targets=AArch64;AMDGPU;ARM;BPF;Hexagon;LoongArch;MSP430;Mips;NVPTX;PowerPC;Sparc;SystemZ;WebAssembly;X86 + --set target.i686-pc-windows-gnu.linker=i686-w64-mingw32-gcc SCRIPT: python x.py dist bootstrap --include-default-paths DIST_REQUIRE_ALL_TOOLS: 1 CODEGEN_BACKENDS: llvm,cranelift From 70539048e5808c7d47cbba81348845d6eac7ddb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Sat, 18 Jul 2026 16:23:20 +0200 Subject: [PATCH 4/4] std only --- src/ci/github-actions/jobs.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 93f479b7db81d..184c4a7f4a8c0 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -838,10 +838,7 @@ auto: # Disable RISCV target because building it OOMs. RUST_CONFIGURE_ARGS: >- --build=x86_64-pc-windows-gnu - --host=i686-pc-windows-gnu --target=i686-pc-windows-gnu - --enable-full-tools - --set llvm.targets=AArch64;AMDGPU;ARM;BPF;Hexagon;LoongArch;MSP430;Mips;NVPTX;PowerPC;Sparc;SystemZ;WebAssembly;X86 --set target.i686-pc-windows-gnu.linker=i686-w64-mingw32-gcc SCRIPT: python x.py dist bootstrap --include-default-paths DIST_REQUIRE_ALL_TOOLS: 1