summary refs log tree commit diff
path: root/pkgs/os-specific/windows
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2022-05-02 17:15:18 -0400
committerShea Levy <shea@shealevy.com>2022-05-06 10:54:52 -0400
commit504d38ae7ba872dbf3b9972d33c94912e56807ed (patch)
tree6249d93156f7640b5ddcd04c40fc74fde5a20217 /pkgs/os-specific/windows
parent4447d4071bc69e2e18aef96aa14fc0ec835fd5cd (diff)
downloadnixpkgs-504d38ae7ba872dbf3b9972d33c94912e56807ed.tar
nixpkgs-504d38ae7ba872dbf3b9972d33c94912e56807ed.tar.gz
nixpkgs-504d38ae7ba872dbf3b9972d33c94912e56807ed.tar.bz2
nixpkgs-504d38ae7ba872dbf3b9972d33c94912e56807ed.tar.lz
nixpkgs-504d38ae7ba872dbf3b9972d33c94912e56807ed.tar.xz
nixpkgs-504d38ae7ba872dbf3b9972d33c94912e56807ed.tar.zst
nixpkgs-504d38ae7ba872dbf3b9972d33c94912e56807ed.zip
cross: Allow Windows toolchains to use ucrt as libc.
Diffstat (limited to 'pkgs/os-specific/windows')
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix3
-rw-r--r--pkgs/os-specific/windows/mingw-w64/headers.nix10
2 files changed, 12 insertions, 1 deletions
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index 85527157eea..02cfd7b04a7 100644
--- a/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -19,6 +19,7 @@ let
     then [] # maybe autoconf will save us
     else map (arch: lib.enableFeature (arch == enabledArch) "lib${arch}") knownArches;
 
+  crt = stdenv.hostPlatform.libc;
 in stdenv.mkDerivation {
   pname = "mingw-w64";
   inherit version;
@@ -33,6 +34,7 @@ in stdenv.mkDerivation {
   configureFlags = [
     "--enable-idl"
     "--enable-secure-api"
+    "--with-default-msvcrt=${crt}"
   ] ++ archFlags;
 
   enableParallelBuilding = true;
@@ -43,5 +45,6 @@ in stdenv.mkDerivation {
 
   meta = {
     platforms = lib.platforms.windows;
+    broken = !(lib.elem crt [ "msvcrt" "ucrt" ]);
   };
 }
diff --git a/pkgs/os-specific/windows/mingw-w64/headers.nix b/pkgs/os-specific/windows/mingw-w64/headers.nix
index 1fd27a8c457..13ba330ef2a 100644
--- a/pkgs/os-specific/windows/mingw-w64/headers.nix
+++ b/pkgs/os-specific/windows/mingw-w64/headers.nix
@@ -1,6 +1,8 @@
 { stdenvNoCC, mingw_w64 }:
 
-stdenvNoCC.mkDerivation {
+let
+  crt = stdenvNoCC.hostPlatform.libc;
+in stdenvNoCC.mkDerivation {
   name = "${mingw_w64.name}-headers";
   inherit (mingw_w64) src meta;
 
@@ -8,4 +10,10 @@ stdenvNoCC.mkDerivation {
     cd mingw-w64-headers
   '';
 
+  configureFlags = [
+    "--enable-idl"
+    "--enable-secure-api"
+    "--with-default-msvcrt=${crt}"
+  ];
+
 }