aboutsummaryrefslogtreecommitdiff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-04-23 22:44:33 -0400
committerGitHub <noreply@github.com>2019-04-23 22:44:33 -0400
commit7488a367af199dc61992bdd3451a4016bb0f0f5f (patch)
treed93c0db58acb5c29c8cf6b73998e8cdcfb2e1396 /pkgs/stdenv
parent84d00355e8b288a0700ea1590897b75297ec3877 (diff)
parent008c9a70a57f0448b275179bfbc10c8750f29069 (diff)
Merge pull request #56555 from matthewbauer/wasm
Initial WebAssembly/WASI cross-compilation support
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/cross/default.nix5
-rw-r--r--pkgs/stdenv/generic/default.nix2
2 files changed, 4 insertions, 3 deletions
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index fc9a585cf4d..201c9378682 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -37,7 +37,8 @@ in lib.init bootStages ++ [
# Run Packages
(buildPackages: {
inherit config;
- overlays = overlays ++ crossOverlays;
+ overlays = overlays ++ crossOverlays
+ ++ (if crossSystem.isWasm then [(import ../../top-level/static.nix)] else []);
selfBuild = false;
stdenv = buildPackages.stdenv.override (old: rec {
buildPlatform = localSystem;
@@ -63,7 +64,7 @@ in lib.init bootStages ++ [
(hostPlatform.isLinux && !buildPlatform.isLinux)
[ buildPackages.patchelf ]
++ lib.optional
- (let f = p: !p.isx86 || p.libc == "musl"; in f hostPlatform && !(f buildPlatform))
+ (let f = p: !p.isx86 || p.libc == "musl" || p.libc == "wasilibc"; in f hostPlatform && !(f buildPlatform))
buildPackages.updateAutotoolsGnuConfigScriptsHook
# without proper `file` command, libtool sometimes fails
# to recognize 64-bit DLLs
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 04117de3269..1ef2ab52029 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -88,7 +88,7 @@ let
# there (yet?) so it goes here until then.
preHook = preHook+ lib.optionalString buildPlatform.isDarwin ''
export NIX_BUILD_DONT_SET_RPATH=1
- '' + lib.optionalString hostPlatform.isDarwin ''
+ '' + lib.optionalString (hostPlatform.isDarwin || (hostPlatform.parsed.kernel.execFormat != lib.systems.parse.execFormats.elf && hostPlatform.parsed.kernel.execFormat != lib.systems.parse.execFormats.macho)) ''
export NIX_DONT_SET_RPATH=1
export NIX_NO_SELF_RPATH=1
''