name: Test mingw-w64
on:
  push:

jobs:
  llvm-mingw:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        crt:
          - ucrt
          - ucrtbase
          - msvcrt
    steps:
      - name: Check out llvm-mingw build scripts
        uses: actions/checkout@v6
        with:
          repository: mstorsjo/llvm-mingw
          ref: 20260826
      - name: Check out the mingw-w64 version to be tested
        uses: actions/checkout@v6
        with:
          path: mingw-w64
      - name: Regenerate mingw-w64 files
        run: |
          sudo apt-get update && sudo apt-get install autoconf automake
          cd mingw-w64/mingw-w64-headers
          autoreconf
          cd ../mingw-w64-crt
          autoreconf
          cd ../mingw-w64-libraries/winpthreads
          autoreconf
          cd ../winstorecompat
          autoreconf
      - name: Rebuild the runtimes
        run: |
          sudo apt-get update && sudo apt-get install ninja-build
          DISTRO=ubuntu-22.04-x86_64
          src_crt=${{matrix.crt}}
          if [ "$src_crt" = "ucrtbase" ]; then
              src_crt=ucrt
          fi
          curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20260826/llvm-mingw-20260826-$src_crt-$DISTRO.tar.xz
          tar -Jxf llvm-mingw-*.tar.xz
          rm llvm-mingw-*.tar.xz
          mkdir install
          mv llvm-mingw-*-ubuntu-* install/llvm-mingw
          ./build-all.sh $(pwd)/install/llvm-mingw --no-tools --wipe-runtimes --with-default-msvcrt=${{matrix.crt}}
          ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
          # Run basic smoke tests on the reassembled toolchain
          ./run-tests.sh $(pwd)/install/llvm-mingw
          cd install
          TAG=testing
          NAME=llvm-mingw-$TAG-${{matrix.crt}}-$DISTRO
          mv llvm-mingw $NAME
          tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name $NAME
          mv $NAME llvm-mingw
      - uses: actions/upload-artifact@v6
        with:
          name: linux-${{matrix.crt}}-x86_64-toolchain
          path: |
            llvm-mingw-*.tar.xz
          retention-days: 7
      - name: Update runtimes in Windows toolchains
        run: |
          rm llvm-mingw-*.tar.xz
          mkdir cross
          cd cross

          for arch in i686 x86_64 aarch64; do
            src_crt=${{matrix.crt}}
            if [[ "$arch" = a* && "$src_crt" == "msvcrt" ]]; then
                src_crt=ucrt
            fi
            if [ "$src_crt" = "ucrtbase" ]; then
                src_crt=ucrt
            fi
            curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20260826/llvm-mingw-20260826-$src_crt-$arch.zip
            unzip -q llvm-mingw-*.zip
            rm llvm-mingw-*.zip
            mv llvm-mingw-* llvm-mingw
            rm -rf llvm-mingw/*-w64-mingw32 llvm-mingw/include
            mkdir orig-dlls
            mv llvm-mingw/bin/*.dll orig-dlls
            ../prepare-cross-toolchain.sh ../install/llvm-mingw llvm-mingw $arch
            mv orig-dlls/*.dll llvm-mingw/bin
            rmdir orig-dlls
            TAG=testing
            NAME=llvm-mingw-$TAG-${{matrix.crt}}-$arch
            mv llvm-mingw $NAME
            zip -9rq ../$NAME.zip $NAME
            rm -rf $NAME
          done
      - uses: actions/upload-artifact@v6
        with:
          name: windows-${{matrix.crt}}-i686-toolchain
          path: |
            llvm-mingw-*-i686.zip
          retention-days: 7
      - uses: actions/upload-artifact@v6
        with:
          name: windows-${{matrix.crt}}-x86_64-toolchain
          path: |
            llvm-mingw-*-x86_64.zip
          retention-days: 7
      - uses: actions/upload-artifact@v6
        with:
          name: windows-${{matrix.crt}}-aarch64-toolchain
          path: |
            llvm-mingw-*-aarch64.zip
          retention-days: 7

  test-llvm-mingw:
    needs: [llvm-mingw]
    defaults:
      run:
        shell: msys2 {0}
    strategy:
      fail-fast: false
      matrix:
        arch:
          - x86_64
          - i686
          - aarch64
        crt:
          - ucrt
          - ucrtbase
          - msvcrt
    runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 'windows-latest'}}
    steps:
      - uses: msys2/setup-msys2@v2
        with:
          msystem: mingw64
          install: >-
            unzip
            make
      - uses: actions/download-artifact@v8
        with:
          name: windows-${{matrix.crt}}-${{matrix.arch}}-toolchain
      - name: Unpack toolchain
        run: |
          unzip -q llvm-mingw-*.zip
          rm llvm-mingw-*.zip
          mv llvm-mingw-* /llvm-mingw
          echo /llvm-mingw/bin >> $GITHUB_PATH
      - name: Check out llvm-mingw tests
        uses: actions/checkout@v6
        with:
          repository: mstorsjo/llvm-mingw
          ref: 20260826
      - name: Run tests
        run: |
          ./run-tests.sh /llvm-mingw
      - name: Run extra tests with crt-test
        run: |
          export PATH=/llvm-mingw/bin:$PATH
          for arch in i686 x86_64 armv7 aarch64 arm64ec; do
            for crt in msvcrt-ansi msvcrt-noansi ucrt ucrtbase; do
              case $crt in
              msvcrt*) defs="-D__MSVCRT_VERSION__=0x700"; lib=msvcrt-os ;;
              ucrt*) defs="-D_UCRT"; lib=$crt ;;
              esac
              case $crt in
              *-noansi) defs="$defs -D__USE_MINGW_ANSI_STDIO=0" ;;
              *-ansi) defs="$defs -D__USE_MINGW_ANSI_STDIO=1" ;;
              esac
              name=crt-test-$arch-$crt
              $arch-w64-mingw32-clang $defs -fno-builtin test/crt-test.c -o $name-regular.exe -lmingwex -l$lib -O2
              $arch-w64-mingw32-clang $defs -fno-builtin test/crt-test.c -o $name-crt-first.exe -l$lib -O2
              echo $name
              case $arch in
              ${{ runner.arch == 'ARM64' && 'aarch64|arm64ec' || '*86*' }}) ./$name-regular.exe ; ./$name-crt-first.exe ;;
              esac
            done
          done

  test-libcxx:
    needs: [llvm-mingw]
    strategy:
      fail-fast: false
      matrix:
        include:
          - { arch: x86_64,  target_arch: i686    }
          - { arch: x86_64,  target_arch: x86_64  }
          - { arch: aarch64, target_arch: aarch64 }
    runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 'windows-latest'}}
    steps:
      - uses: actions/download-artifact@v8
        with:
          name: windows-ucrt-${{matrix.arch}}-toolchain
      - name: Unpack toolchain
        run: |
          Expand-Archive llvm-mingw-*.zip -DestinationPath .
          del llvm-mingw-*.zip
          mv llvm-mingw-* c:\llvm-mingw
          echo "c:\llvm-mingw\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
          echo "c:\llvm-mingw\python\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
          echo "PYTHON_EXE=c:/llvm-mingw/python/bin/python3.exe" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
      - name: Check out llvm-mingw scripts
        uses: actions/checkout@v6
        with:
          repository: mstorsjo/llvm-mingw
          ref: 20260826
      - name: Checkout llvm-project
        run: |
          bash -c "CHECKOUT_ONLY=1 ./build-llvm.sh"
      - name: Build and test libcxx
        run: |
          cd llvm-project
          mkdir build
          cd build
          cmake ../runtimes `
            -G Ninja `
            -DCMAKE_BUILD_TYPE=Release `
            -DPython3_EXECUTABLE="$Env:PYTHON_EXE" `
            -DLIBCXX_ENABLE_WERROR=YES `
            -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" `
            -DLIBCXX_CXX_ABI=libcxxabi `
            -DCMAKE_C_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang `
            -DCMAKE_CXX_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang++ `
            -DCMAKE_CXX_COMPILER_TARGET=${{matrix.target_arch}}-w64-windows-gnu `
            -DLIBCXXABI_ENABLE_SHARED=NO `
            -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES `
            -DLIBCXX_USE_COMPILER_RT=YES `
            -DLIBCXXABI_USE_COMPILER_RT=YES `
            -DLIBUNWIND_USE_COMPILER_RT=YES `
            -DLIBCXXABI_USE_LLVM_UNWINDER=YES `
            -DLIBCXX_EXTRA_SITE_DEFINES="__USE_MINGW_ANSI_STDIO=${{startsWith(matrix.arch, 'a') && '0' || '1'}}" `
            -DCMAKE_INSTALL_MESSAGE=NEVER `
            -DLLVM_LIT_ARGS="-v --time-tests"
          ninja
          ninja check-runtimes

  test-cross-build-ffmpeg:
    needs: [llvm-mingw]
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        arch:
          - i686
          - x86_64
          - armv7
          - aarch64
    steps:
      - uses: actions/download-artifact@v8
        with:
          name: linux-ucrt-x86_64-toolchain
      - name: Unpack cross toolchain
        run: |
          tar -Jxf llvm-mingw-*.tar.xz
          rm llvm-mingw-*.tar.xz
          sudo mv llvm-mingw* /opt/llvm-mingw
          echo /opt/llvm-mingw/bin >> $GITHUB_PATH
      - name: Checkout ffmpeg
        uses: actions/checkout@v6
        with:
          repository: ffmpeg/ffmpeg
          ref: n6.1.2
          path: ffmpeg
      - name: Build ffmpeg
        run: |
          sudo apt-get update && sudo apt-get install nasm
          mkdir ffmpeg-build
          cd ffmpeg-build
          ../ffmpeg/configure --arch=${{matrix.arch}} --target-os=mingw32 --cross-prefix=${{matrix.arch}}-w64-mingw32- --enable-gpl
          make -j$(nproc)

  test-ffmpeg:
    needs: [llvm-mingw]
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        arch:
          - i686
          - x86_64
    defaults:
      run:
        shell: msys2 {0}
    steps:
      - name: Avoid git checking out files with CRLF
        shell: cmd
        run: |
          git config --global core.autocrlf false
      - uses: msys2/setup-msys2@v2
        with:
          msystem: mingw64
          install: >-
            unzip
            make
            rsync
            diffutils
          pacboy: >-
            nasm:p
      - uses: actions/download-artifact@v8
        with:
          name: windows-ucrt-${{matrix.arch}}-toolchain
      - name: Unpack toolchain
        run: |
          unzip -q llvm-mingw-*.zip
          rm llvm-mingw-*.zip
          mv llvm-mingw-* /llvm-mingw
          echo /llvm-mingw/bin >> $GITHUB_PATH
      - name: Checkout ffmpeg
        uses: actions/checkout@v6
        with:
          repository: ffmpeg/ffmpeg
          ref: n6.1.2
          path: ffmpeg
      - name: Cache FATE samples
        uses: actions/cache@v5
        with:
          path: fate-samples
          key: fate-samples
      - name: Build & test ffmpeg
        run: |
          export PATH=/llvm-mingw/bin:$PATH
          mkdir ffmpeg-build
          cd ffmpeg-build
          ../ffmpeg/configure --samples=../fate-samples --enable-gpl
          make -j$(nproc)
          make fate-rsync
          make -j$(nproc) fate

  gcc:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        crt:
          - ucrt
          - msvcrt
        arch:
          - i686
          - x86_64
    steps:
      - name: Download dependencies
        run: |
          sudo apt-get update && sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev autoconf automake
      - name: Cache tarballs
        id: cache-gnu
        uses: actions/cache@v5
        with:
          path: /opt/gnu
          key: binutils-2.42-gcc-14.1.0
      - name: Download tarballs
        if: steps.cache-gnu.outputs.cache-hit != 'true'
        run: |
          mkdir -p /opt/gnu
          cd /opt/gnu
          curl -LO https://ftpmirror.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz
          curl -LO https://ftpmirror.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.xz
          curl -LO https://ftpmirror.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz
          curl -LO https://ftpmirror.gnu.org/gnu/binutils/binutils-2.42.tar.xz
          curl -LO https://ftpmirror.gnu.org/gnu/gcc/gcc-14.1.0/gcc-14.1.0.tar.xz
      - name: Build binutils
        run: |
          tar -Jxf /opt/gnu/binutils-*.tar.xz
          cd binutils-*
          mkdir build
          cd build
          ../configure \
              --prefix=$(pwd)/../../prefix \
              --target=${{matrix.arch}}-w64-mingw32 \
              --disable-werror \
              --disable-multilib
          make -j$(nproc)
          make install-strip
          echo $(pwd)/../../prefix/bin >> $GITHUB_PATH
      - name: Build the base GCC
        run: |
          tar -Jxf /opt/gnu/gcc-*.tar.xz
          cd gcc-*
          mkdir build
          cd build
          ../configure \
              --prefix=$(pwd)/../../prefix \
              --target=${{matrix.arch}}-w64-mingw32 \
              --enable-languages=c,c++ \
              --disable-multilib \
              --enable-threads=posix
          make -j$(nproc) all-gcc
          make install-strip-gcc
      - name: Check out the mingw-w64 version to be tested
        uses: actions/checkout@v6
        with:
          path: mingw-w64
      - name: Build the mingw-w64 runtime
        run: |
          PREFIX=$(pwd)/prefix/${{matrix.arch}}-w64-mingw32
          cd mingw-w64/mingw-w64-headers
          autoreconf
          mkdir build
          cd build
          ../configure \
              --prefix=$PREFIX \
              --host=${{matrix.arch}}-w64-mingw32 \
              --with-default-msvcrt=${{matrix.crt}}
          make install
          cd ../../mingw-w64-crt
          autoreconf
          mkdir build
          cd build
          ../configure \
              --prefix=$PREFIX \
              --host=${{matrix.arch}}-w64-mingw32 \
              --with-default-msvcrt=${{matrix.crt}} \
              ${{ matrix.arch == 'i686' && '--enable-lib32 --disable-lib64' || '--disable-lib32 --enable-lib64' }} \
              CPPFLAGS="-Werror"
          make -j$(nproc)
          make install
          cd ../../mingw-w64-libraries/winpthreads
          autoreconf
          mkdir build
          cd build
          ../configure \
              --prefix=$PREFIX \
              --host=${{matrix.arch}}-w64-mingw32 \
              CPPFLAGS="-Werror"
          make -j$(nproc)
          make install
      - name: Build the GCC runtimes
        run: |
          cd gcc-*
          cd build
          make -j$(nproc)
          make install-strip
      - name: Package the toolchain
        run: |
          NAME=gcc-mingw-${{matrix.crt}}-${{matrix.arch}}
          mv prefix $NAME
          tar -Jcf $NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name $NAME
      - uses: actions/upload-artifact@v6
        with:
          name: linux-${{matrix.crt}}-${{matrix.arch}}-gcc-toolchain
          path: |
            gcc-mingw-*.tar.xz
          retention-days: 7

  gcc-cross:
    runs-on: ubuntu-latest
    needs: [gcc]
    strategy:
      fail-fast: false
      matrix:
        crt:
          - ucrt
          - msvcrt
        arch:
          - i686
          - x86_64
    steps:
      - uses: actions/download-artifact@v8
        with:
          name: linux-${{matrix.crt}}-${{matrix.arch}}-gcc-toolchain
      - name: Unpack cross toolchain
        run: |
          tar -Jxf gcc-mingw-*.tar.xz
          rm gcc-mingw-*.tar.xz
          sudo mv gcc-mingw* /opt/gcc-mingw
          echo /opt/gcc-mingw/bin >> $GITHUB_PATH
      - name: Cache tarballs
        id: cache-gnu
        uses: actions/cache@v5
        with:
          path: /opt/gnu
          key: binutils-2.42-gcc-14.1.0
      - name: Download tarballs
        if: steps.cache-gnu.outputs.cache-hit != 'true'
        run: |
          mkdir -p /opt/gnu
          cd /opt/gnu
          curl -LO https://ftpmirror.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz
          curl -LO https://ftpmirror.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.xz
          curl -LO https://ftpmirror.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz
          curl -LO https://ftpmirror.gnu.org/gnu/binutils/binutils-2.42.tar.xz
          curl -LO https://ftpmirror.gnu.org/gnu/gcc/gcc-14.1.0/gcc-14.1.0.tar.xz
      - name: Build dependencies
        run: |
          PREFIX=$(pwd)/prefix

          tar -Jxf /opt/gnu/gmp-*.tar.xz
          cd gmp-*
          mkdir build
          cd build
          ../configure --prefix=$PREFIX --host=${{matrix.arch}}-w64-mingw32 --disable-shared
          make -j$(nproc)
          make install
          cd ../..

          tar -Jxf /opt/gnu/mpfr-*.tar.xz
          cd mpfr-*
          mkdir build
          cd build
          ../configure --prefix=$PREFIX --host=${{matrix.arch}}-w64-mingw32 --disable-shared --with-gmp=$PREFIX
          make -j$(nproc)
          make install
          cd ../..

          tar -zxf /opt/gnu/mpc-*.tar.gz
          cd mpc-*
          mkdir build
          cd build
          ../configure --prefix=$PREFIX --host=${{matrix.arch}}-w64-mingw32 --disable-shared --with-gmp=$PREFIX
          make -j$(nproc)
          make install
          cd ../..

      - name: Build binutils
        run: |
          tar -Jxf /opt/gnu/binutils-*.tar.xz
          cd binutils-*
          mkdir build
          cd build
          ../configure \
              --prefix=$(pwd)/../../prefix \
              --host=${{matrix.arch}}-w64-mingw32 \
              --target=${{matrix.arch}}-w64-mingw32 \
              --disable-werror \
              --disable-multilib
          make -j$(nproc)
          make install-strip
          echo $(pwd)/../../prefix/bin >> $GITHUB_PATH
      - name: Build GCC
        run: |
          tar -Jxf /opt/gnu/gcc-*.tar.xz
          cd gcc-*
          mkdir build
          cd build
          ../configure \
              --prefix=$(pwd)/../../prefix \
              --host=${{matrix.arch}}-w64-mingw32 \
              --target=${{matrix.arch}}-w64-mingw32 \
              --enable-languages=c,c++ \
              --disable-multilib \
              --enable-threads=posix \
              --with-gmp=$(pwd)/../../prefix \
              --with-native-system-header-dir=/opt/gcc-mingw/${{matrix.arch}}-w64-mingw32/include \
              --disable-bootstrap
          make -j$(nproc) all-gcc
          make install-strip-gcc
      - name: Transplant the mingw-w64 installation from the cross compiler to the native one
        run: |
          rm -rf prefix/${{matrix.arch}}-w64-mingw32/include
          rm -rf prefix/${{matrix.arch}}-w64-mingw32/lib
          mkdir -p prefix/${{matrix.arch}}-w64-mingw32/bin
          cp -a /opt/gcc-mingw/${{matrix.arch}}-w64-mingw32/bin/*.dll prefix/${{matrix.arch}}-w64-mingw32/bin
          cp -a /opt/gcc-mingw/${{matrix.arch}}-w64-mingw32/include prefix/${{matrix.arch}}-w64-mingw32
          cp -a /opt/gcc-mingw/${{matrix.arch}}-w64-mingw32/lib prefix/${{matrix.arch}}-w64-mingw32/lib
          cp -a /opt/gcc-mingw/${{matrix.arch}}-w64-mingw32/include/c++ prefix/include
          cp -a /opt/gcc-mingw/${{matrix.arch}}-w64-mingw32/bin/*.dll prefix/bin
          cp -a /opt/gcc-mingw/${{matrix.arch}}-w64-mingw32/lib/*.dll prefix/bin
          rm -rf prefix/lib/gcc
          cp -a /opt/gcc-mingw/lib/gcc prefix/lib
      - name: Package the toolchain
        run: |
          NAME=gcc-mingw-${{matrix.crt}}-${{matrix.arch}}
          mv prefix $NAME
          zip -9rq $NAME.zip $NAME
      - uses: actions/upload-artifact@v6
        with:
          name: windows-${{matrix.crt}}-${{matrix.arch}}-gcc-toolchain
          path: |
            gcc-mingw-*.zip
          retention-days: 7

  test-gcc:
    needs: [gcc-cross]
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        crt:
          - ucrt
          - msvcrt
        arch:
          - i686
          - x86_64
    steps:
      - uses: actions/download-artifact@v8
        with:
          name: windows-${{matrix.crt}}-${{matrix.arch}}-gcc-toolchain
      - name: Unpack toolchain
        run: |
          Expand-Archive gcc-mingw-*.zip -DestinationPath .
          del gcc-mingw-*.zip
          mv gcc-mingw-* c:\gcc-mingw
          echo "c:\gcc-mingw\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
      - name: Check out llvm-mingw tests
        uses: actions/checkout@v6
        with:
          repository: mstorsjo/llvm-mingw
          ref: 20260826
      - name: Run tests
        run: |
          gcc test/hello.c -o hello.exe
          ./hello.exe
          gcc test/crt-test.c -o crt-test.exe
          ./crt-test.exe
          g++ test/hello-cpp.cpp -o hello-cpp.exe
          ./hello-cpp.exe
          g++ test/hello-exception.cpp -o hello-exception.exe
          ./hello-exception.exe

  testcases-clang:
    defaults:
      run:
        shell: msys2 {0}
    strategy:
      fail-fast: false
      matrix:
        crt:
          - ucrt
          - ucrtbase
          - msvcrt
        arch:
          - i686
          - x86_64
          - armv7
          - aarch64
          - arm64ec
    runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 'windows-latest'}}
    steps:
      - uses: msys2/setup-msys2@v2
        with:
          msystem: mingw64
          install: >-
            unzip
            make
            autoconf
            automake
      - name: Unpack toolchain
        run: |
          curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20260826/llvm-mingw-20260826-${{ matrix.crt == 'ucrtbase' && 'ucrt' || ((matrix.crt == 'msvcrt' && startsWith(matrix.arch, 'a')) && 'ucrt') || matrix.crt }}-${{ (matrix.arch == 'arm64ec' || matrix.arch == 'armv7') && 'aarch64' || matrix.arch }}.zip
          unzip -q llvm-mingw-*.zip
          rm llvm-mingw-*.zip
          mv llvm-mingw-* /llvm-mingw
          echo /llvm-mingw/bin >> $GITHUB_PATH
      - uses: actions/checkout@v6
      - name: Build mingw-w64-crt and tests
        run: |
          export PATH=/llvm-mingw/bin:$PATH
          cd mingw-w64-headers
          autoreconf
          mkdir build
          cd build
          ../configure \
              --prefix=/llvm-mingw \
              --with-default-msvcrt=${{matrix.crt}}
          make install
          cd ../..
          cd mingw-w64-crt
          autoreconf
          mkdir build
          cd build
          ../configure \
              --disable-dependency-tracking \
              --prefix=/llvm-mingw/${{matrix.arch == 'arm64ec' && 'aarch64' || matrix.arch}}-w64-mingw32 \
              --host=${{matrix.arch}}-w64-mingw32 \
              --with-default-msvcrt=${{matrix.crt}} \
              --enable-silent-rules \
              ${{ (startsWith(matrix.arch, 'a') && '--disable-lib32 --disable-lib64') || (matrix.arch == 'x86_64' && '--disable-lib32') || '--disable-lib64' }} \
              ${{(matrix.arch == 'aarch64' || matrix.arch == 'arm64ec') && '--enable-arm64x' || ''}} \
              CPPFLAGS="-Werror"
          make -j$(nproc)
          make -j$(nproc) install
          make -j$(nproc) check -k -O --no-print-directory TESTS=
      - name: Test i386 Interlocked functions
        if: matrix.arch == 'i686'
        run: |
          export PATH=/llvm-mingw/bin:$PATH
          ${{matrix.arch}}-w64-mingw32-clang -std=c99 -march=i386 -c -o t_intrinc.o mingw-w64-crt/testcases/t_intrinc.c
          if ${{matrix.arch}}-w64-mingw32-objdump -d t_intrinc.o | grep -qiE 'cmpxchg|xadd'; then
            echo "Error: i386 object contains i486+ instructions:"
            ${{matrix.arch}}-w64-mingw32-objdump -d t_intrinc.o | grep -iE 'cmpxchg|xadd'
            exit 1
          fi
          ${{matrix.arch}}-w64-mingw32-clang -std=c99 -march=i386 -o t_intrinc.exe mingw-w64-crt/testcases/t_intrinc.c mingw-w64-crt/testcases/libtest.c
          ./t_intrinc.exe
      - name: Run mingw-w64-crt testcases
        if: matrix.arch != 'armv7'
        run: |
          export PATH=/llvm-mingw/bin:$PATH
          cd mingw-w64-crt/build
          make -j$(nproc) check -k -O --no-print-directory || { cat testcases/test-suite.log; exit 1; }
      - name: Build winpthreads and tests
        run: |
          export PATH=/llvm-mingw/bin:$PATH
          cd mingw-w64-libraries/winpthreads
          autoreconf
          mkdir build
          cd build
          ../configure \
              --disable-dependency-tracking \
              --prefix=/llvm-mingw/${{matrix.arch}}-w64-mingw32 \
              --host=${{matrix.arch}}-w64-mingw32 \
              --enable-silent-rules \
              CPPFLAGS="-Werror"
          make -j$(nproc)
          make -j$(nproc) check -k -O --no-print-directory TESTS=
      - name: Test winpthreads
        if: matrix.arch != 'armv7'
        run: |
          export PATH=/llvm-mingw/bin:$PATH
          cd mingw-w64-libraries/winpthreads/build
          make -j$(nproc) check -k -O --no-print-directory || { cat tests/test-suite.log; exit 1; }

  testcases-gcc:
    runs-on: windows-latest
    needs: [gcc-cross]
    defaults:
      run:
        shell: msys2 {0}
    strategy:
      fail-fast: false
      matrix:
        crt:
          - ucrt
          - ucrtbase
          - msvcrt
        arch:
          - i686
          - x86_64
    steps:
      - uses: msys2/setup-msys2@v2
        with:
          msystem: mingw64
          install: >-
            unzip
            make
            autoconf
            automake
      - uses: actions/download-artifact@v8
        with:
          name: windows-${{ matrix.crt == 'ucrtbase' && 'ucrt' || matrix.crt }}-${{matrix.arch}}-gcc-toolchain
      - name: Unpack toolchain
        run: |
          unzip -q gcc-mingw-*.zip
          rm gcc-mingw-*.zip
          mv gcc-mingw-* /gcc-mingw
          echo /gcc-mingw/bin >> $GITHUB_PATH
      - uses: actions/checkout@v6
      - name: Build mingw-w64-crt and run testcases
        run: |
          export PATH=/gcc-mingw/bin:$PATH
          cd mingw-w64-headers
          autoreconf
          mkdir build
          cd build
          ../configure \
              --prefix=/gcc-mingw/${{matrix.arch}}-w64-mingw32 \
              --with-default-msvcrt=${{matrix.crt}}
          make install
          cd ../..
          cd mingw-w64-crt
          autoreconf
          mkdir build
          cd build
          ../configure \
              --disable-dependency-tracking \
              --prefix=/gcc-mingw/${{matrix.arch}}-w64-mingw32 \
              --host=${{matrix.arch}}-w64-mingw32 \
              --with-default-msvcrt=${{matrix.crt}} \
              --enable-silent-rules \
              ${{ matrix.arch == 'x86_64' && '--disable-lib32' || '--disable-lib64' }} \
              CPPFLAGS="-Werror"
          make -j$(nproc)
          make -j$(nproc) install
          make -j$(nproc) check -k -O --no-print-directory TESTS=
          make -j$(nproc) check -k -O --no-print-directory || { cat testcases/test-suite.log; exit 1; }
      - name: Test i386 Interlocked functions
        if: matrix.arch == 'i686'
        run: |
          export PATH=/gcc-mingw/bin:$PATH
          ${{matrix.arch}}-w64-mingw32-gcc -std=c99 -march=i386 -o t_intrinc.exe mingw-w64-crt/testcases/t_intrinc.c mingw-w64-crt/testcases/libtest.c
          ./t_intrinc.exe
      - name: Build and test winpthreads
        run: |
          export PATH=/gcc-mingw/bin:$PATH
          cd mingw-w64-libraries/winpthreads
          autoreconf
          mkdir build
          cd build
          ../configure \
              --disable-dependency-tracking \
              --prefix=/gcc-mingw/${{matrix.arch}}-w64-mingw32 \
              --host=${{matrix.arch}}-w64-mingw32 \
              --enable-silent-rules \
              CPPFLAGS="-Werror"
          make -j$(nproc)
          make -j$(nproc) check -k -O --no-print-directory TESTS=
          make -j$(nproc) check -k -O --no-print-directory || { cat tests/test-suite.log; exit 1; }
