-
-
Notifications
You must be signed in to change notification settings - Fork 2
Description
The MinGW-w64 12.x compiler toolchain, which is not currently available as a package, has introduced the support of Universal CRT.
See: https://github.com/mingw-w64/mingw-w64/blob/master/mingw-w64-doc/howto-build/ucrt-vs-msvcrt.txt
This feature improves on the old MSVCRT-based toolchain, by complying with the newer standards of the C language, and it makes the compiled binaries interoperable with other compilers, notably the proprietary one from MS.
The UCRT is the new default starting from MinGW-w64 12.x.
This update requires packaging effort because the specs need significant changes, possibly a reworked bootstrap.
https://github.com/OpenMandrivaAssociation/gcc
https://github.com/OpenMandrivaAssociation/mingw
A UCRT compiler has a target triple in the form x86_64-w64-mingw32ucrt.
There appears to be two ways to go from here:
- Introduce
mingw32ucrtas a new cross compile target in gcc, and then introduce ucrt specific packages (libc), while keeping non-ucrt variants available - Get rid of legacy mingw completely in favor of ucrt, and have ucrt support packages only
The "ucrt-ness" of the compiler and the runtimes go together.
It can be investigated whether clang is an option for building the libc and crt instead of gcc, since clang has support of a vast set of architectures, which includes the ucrt-based mingw.