From 504d38ae7ba872dbf3b9972d33c94912e56807ed Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 2 May 2022 17:15:18 -0400 Subject: cross: Allow Windows toolchains to use ucrt as libc. --- pkgs/os-specific/windows/mingw-w64/default.nix | 3 +++ pkgs/os-specific/windows/mingw-w64/headers.nix | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'pkgs/os-specific/windows') 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}" + ]; + } -- cgit 1.4.1