summary refs log tree commit diff
path: root/pkgs/os-specific/windows/default.nix
diff options
context:
space:
mode:
authorJohn Ericson <git@JohnEricson.me>2019-11-10 22:35:59 -0500
committerJohn Ericson <git@JohnEricson.me>2019-11-11 00:25:24 -0500
commit06c5e811e6e0244a8e5a9645fd8347c719aab228 (patch)
tree4da9912b710e4e45c42606e982640922e22397d1 /pkgs/os-specific/windows/default.nix
parent0a63190c3115126e6a571b6ca555fa684b8bf4ed (diff)
downloadnixpkgs-06c5e811e6e0244a8e5a9645fd8347c719aab228.tar
nixpkgs-06c5e811e6e0244a8e5a9645fd8347c719aab228.tar.gz
nixpkgs-06c5e811e6e0244a8e5a9645fd8347c719aab228.tar.bz2
nixpkgs-06c5e811e6e0244a8e5a9645fd8347c719aab228.tar.lz
nixpkgs-06c5e811e6e0244a8e5a9645fd8347c719aab228.tar.xz
nixpkgs-06c5e811e6e0244a8e5a9645fd8347c719aab228.tar.zst
nixpkgs-06c5e811e6e0244a8e5a9645fd8347c719aab228.zip
mcfgthreads: Init from git
Diffstat (limited to 'pkgs/os-specific/windows/default.nix')
-rw-r--r--pkgs/os-specific/windows/default.nix22
1 files changed, 20 insertions, 2 deletions
diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix
index 8c2f3ca5498..7f1634d5c0b 100644
--- a/pkgs/os-specific/windows/default.nix
+++ b/pkgs/os-specific/windows/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, newScope, crossLibcStdenv }:
+{ stdenv, buildPackages
+, newScope, overrideCC, crossLibcStdenv, libcCross
+}:
 
 stdenv.lib.makeScope newScope (self: with self; {
 
@@ -15,9 +17,25 @@ stdenv.lib.makeScope newScope (self: with self; {
     stdenv = crossLibcStdenv;
   };
 
+  crossThreadsStdenv = overrideCC crossLibcStdenv
+    (if stdenv.hostPlatform.useLLVM or false
+     then buildPackages.llvmPackages_8.lldClangNoLibcxx
+     else buildPackages.gccCrossStageStatic.override (old: {
+       bintools = old.bintools.override {
+         libc = libcCross;
+       };
+       libc = libcCross;
+     }));
+
   mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
 
-  mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { };
+  mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix {
+    stdenv = crossThreadsStdenv;
+  };
+
+  mcfgthreads = callPackage ./mcfgthreads {
+    stdenv = crossThreadsStdenv;
+  };
 
   pthreads = callPackage ./pthread-w32 { };