summary refs log tree commit diff
path: root/pkgs/os-specific/windows
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 /pkgs/os-specific/windows
parenta81e3dcd759ffb44348186bdc3751af9ea2f1005 (diff)
downloadnixpkgs-1e0561d78a3d3cd84bac45ab474af82e32802120.tar
nixpkgs-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.gz
nixpkgs-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.bz2
nixpkgs-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.lz
nixpkgs-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.xz
nixpkgs-1e0561d78a3d3cd84bac45ab474af82e32802120.tar.zst
nixpkgs-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 'pkgs/os-specific/windows')
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index 221bcd8e89f..3bfc7a58e72 100644
--- a/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -36,6 +36,8 @@ in stdenv.mkDerivation {
   configureFlags = [
     "--enable-idl"
     "--enable-secure-api"
+  ] ++ lib.optionals (stdenv.targetPlatform.libc == "ucrt") [
+    "--with-default-msvcrt=ucrt"
   ];
 
   enableParallelBuilding = true;