about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2023-09-08 14:29:54 +0800
committerMoritz Angermann <moritz.angermann@gmail.com>2023-09-08 10:56:08 +0000
commit1e0561d78a3d3cd84bac45ab474af82e32802120 (patch)
tree22799e02bcfd9b9e4b185f23dc5cea48d4473e59 /lib
parenta81e3dcd759ffb44348186bdc3751af9ea2f1005 (diff)
downloadnixlib-1e0561d78a3d3cd84bac45ab474af82e32802120.tar
nixlib-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.gz
nixlib-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.bz2
nixlib-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.lz
nixlib-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.xz
nixlib-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.zst
nixlib-1e0561d78a3d3cd84bac45ab474af82e32802120.zip
nixpkgs/systems: Add ucrt64 as MinGW libc
The Minimalist Gnu for Windows distribution comes with support for
the traditional msvcrt libc, as well as ucrt64 libc. The latter
being the newer universal compiler runtime. We follow the msys2
environment naming convention[1]:

| name       | toolchain | arch    | libc   | libc++    |
|------------|-----------|---------|--------|-----------|
| mingw32    | gcc       | i686    | msvcrt | libstdc++ |
| mingw64    | gcc       | x86_64  | msvcrt | libstdc++ |
| ucrt64     | gcc       | x86_64  | ucrt   | libstdc++ |
| clang32    | llvm      | i686    | ucrt   | libc++    |
| clang64    | llvm      | x86_64  | ucrt   | libc++    |
| clangarm64 | llvm      | aarch64 | ucrt   | libc++    |

For now nixpkgs only supports the first three with this commit.

--
[1]: https://www.msys2.org/docs/environments/
Diffstat (limited to 'lib')
-rw-r--r--lib/systems/examples.nix5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 8d9c09561ddb..2a067663f98c 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -313,6 +313,11 @@ rec {
     libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
   };
 
+  ucrt64 = {
+    config = "x86_64-w64-mingw32";
+    libc = "ucrt"; # This distinguishes the mingw (non posix) toolchain
+  };
+
   # BSDs
 
   x86_64-freebsd = {