Remove Windows GNU and MinGW support after the MSVC release gates pass
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
Part of #611. Difficulty: **high**. Audit baseline: master `3950416e` (2026-09-12).
## Current evidence
Windows GNU triples remain in [llvm/src/codegen/target.rs](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/llvm/src/codegen/target.rs#L375), with driver/backend paths in [src/cli.rs](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/src/cli.rs#L2717) and MinGW toolchain/package settings in [x.py](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/x.py#L37), .cargo/config.toml and workflows. The requested next-release end state is MSVC-only Windows support.
## Scope
Perform the final bounded retirement after the migration tracker gates pass: remove Windows GNU target registrations/aliases, linker/startup discovery, Windows-specific GNU Cargo configuration, obsolete release inputs and CI provisioning. Reject retired triples with a clear replacement message. Update retained tests to equivalent MSVC coverage before deleting obsolete GNU-only harness code.
## Completion criteria
The supported Windows target list contains MSVC x64/ARM64 only; old Windows GNU commands fail with migration guidance. No active Windows build, package or execution job installs/requires MinGW, GCC, GNU Rust or its runtimes. All meaningful case/ABI behavior remains covered. Linux GNU, other non-Windows GNU targets, Linux LoongArch64 and unrelated inline assembly remain intact. Existing historical issues/PRs and user-owned mirror.yml are not rewritten or removed. Review documentation via #401 and the tracker.
## Dependencies and boundaries
Final step after #625, #621, #624, #623, #615, #616, #617, #618, #619, #614, #620. This supersedes the earlier retain-GNU restriction in #498 only at this gated cutover; it is not authorization to remove support in prerequisite patches.
Contributor guide
Research direction
Start after the prerequisite issues pass by auditing llvm/src/codegen/target.rs, src/cli.rs, x.py, .cargo/config.toml, workflows, and the retained Windows tests. Check the tracker and documentation in #401 before changing the supported target set. Done means MSVC x64/ARM64 remain, retired GNU commands give migration guidance, MinGW-related provisioning is gone, and the specified non-Windows coverage remains intact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- build-system, ci-cd, compilers, operating-systems
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100