Commit Graph

18 Commits

Author SHA1 Message Date
John Ericson
bd68a4ac14 windows: declare the thread models, and mark the headers-only libc
The split GCC package set (`gccNGPackages`, opted into with `useGccNG`)
builds each runtime library separately, so the compiler is configured
independently of `libgcc` and `libstdc++` and the two can disagree about
threading. Rather than probe the compiler, those packages read the answer
from the package that decides it, through the same `passthru.threadModel`
that `glibc`, `musl` and NetBSD's `libc` already declare.

MinGW's libc has none of its own beyond the Win32 API, so it declares
`win32`. Past that the answer depends on which threading library a
toolchain is built against, so `mcfgthreads` declares `mcf` and
`winpthreads` `posix`. Nothing reads either yet.

The headers-only build is marked as such rather than given a model: it
exists only to get the libc compiled, and runtimes built against it stay
single-threaded.

Assisted-by: Claude Code (Claude Opus 5)
2026-08-27 22:31:27 -04:00
eveeifyeve
7b7890ad1c windows.mingw_w64_headers: 13.0.0 -> 14.0.0 2026-06-29 05:02:53 +10:00
Ross Smyth
04a6d489fd windows.mingw_w64: 12.0.0 -> 13.0.0 2025-08-04 18:33:00 -04:00
Ross Smyth
07e9cfea7c windows.mingw_w64_headers: Add updateScript and passthru tests 2025-08-04 18:33:00 -04:00
Ross Smyth
4212967d27 windows.mingw_w64_headers: Add libc assert, improve meta block 2025-08-01 12:37:01 -04:00
Ross Smyth
915fc1f3a5 windows.mingw_w64_headers: Update meta block 2025-07-31 15:57:20 -04:00
seth
6f73c037aa windows.mingw_w64_headers: fix building against msvcrt
Previously we relied on the default CRT selected by upstream. This
broke builds against MSVCRT starting with 12.0, as the default was
changed to UCRT

We can instead manually configure the CRT based on our `stdenv` to
ensure there is no discrepancy between the CRT we want to use and that
being targeted by the build
2024-12-13 19:04:19 -05:00
seth
14e440390a windows.mingw_w64*: 11.0.1 -> 12.0.0
Changelog: https://www.mingw-w64.org/changelog/#v1200-2024-05-29

Only notable change for our purposes is UCRT now being the default, so
either it or MSVCRT must be explicitly passed
2024-11-06 17:27:14 -05:00
seth
613a1dafd5 windows.*: format with nixfmt 2024-11-06 17:27:11 -05:00
John Ericson
9abf384c54 windows.mingw_w64*: Fetch common attrs from the headers package
This is the most upstream one, and so to avoid infinite recursion we
should get the things from it. This isn't needed per-se now, but will be
after the next commit.

(cherry picked from commit 4bd76beac0)
2024-06-21 11:47:27 -04:00
Vladimír Čunát
879821772c Revert #320852: Clean up cross bootstrapping
It rebuilt stdenv on *-darwin; we can't do that in nixpkgs master.
This reverts commit 2f20501c5f, reversing
changes made to fd469c24af.
2024-06-21 07:48:24 +02:00
John Ericson
4bd76beac0 windows.mingw_w64*: Fetch common attrs from the headers package
This is the most upstream one, and so to avoid infinite recursion we
should get the things from it. This isn't needed per-se now, but will be
after the next commit.
2024-06-18 15:52:16 -04:00
Janne Heß
c911240e9c Revert "Add mingwW64-llvm cross-system." 2022-05-18 13:50:23 +02:00
Shea Levy
504d38ae7b cross: Allow Windows toolchains to use ucrt as libc. 2022-05-06 10:54:52 -04:00
Dmitry Kozlyuk
8b89e0494c mingw-w64: 5.0.4 -> 6.0.0
Version 6.0.0 brings better Win32 API coverage and bugfixes.
It's been used in various distros long enough to be considered stable.
Latest version 7.0.0 hasn't received extensive testing yet.

Announce mail:
https://sourceforge.net/p/mingw-w64/mailman/message/36416777/
2020-08-16 10:16:51 +00:00
Matthew Bauer
e575275de7 windows: Cleanups 2018-08-10 12:05:04 -04:00
Matthew Bauer
744665e3c4 mingw: add osvi.patch
This is apparently a typo that has not been fixed.

Also remove unused configureFlags.
2018-08-07 14:17:01 -04:00
John Ericson
bb7067f882 mingw-w64: Clean up, especially clarifying staging 2017-06-22 17:53:51 -04:00