wasm: init cross target

Adds pkgsCross.wasm32 and pkgsCross.wasm64. Use it to build Nixpkgs
with a WebAssembly toolchain.

stdenv/cross: use static overlay on isWasm

isWasm doesn’t make sense dynamically linked.
This commit is contained in:
Matthew Bauer
2019-04-23 21:48:57 -04:00
parent 6088a4793f
commit 9abff4af4f
19 changed files with 126 additions and 19 deletions
@@ -299,6 +299,12 @@ stdenv.mkDerivation {
hardening_unsupported_flags+=" stackprotector fortify pie pic"
''
+ optionalString targetPlatform.isWasm ''
hardening_unsupported_flags+=" stackprotector fortify pie pic"
'' + optionalString (targetPlatform.isWasm && libc != null) ''
echo "--allow-undefined-file=${libc}/share/wasm32-wasi/undefined-symbols.txt" >> $out/nix-support/cc-ldflags
''
+ optionalString (libc != null && targetPlatform.isAvr) ''
for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
echo "-B${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-cflags