aboutsummaryrefslogtreecommitdiff
path: root/pkgs/build-support/cc-wrapper
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-01-29 21:01:24 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2019-04-23 21:48:57 -0400
commit9abff4af4f07c16aecd89bf82051afbc3228d6fd (patch)
tree7a8d8fe316db1636819a43a28192da740ea835c8 /pkgs/build-support/cc-wrapper
parent6088a4793f2a83921b197a9185034934fcd96d02 (diff)
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.
Diffstat (limited to 'pkgs/build-support/cc-wrapper')
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix6
1 files changed, 6 insertions, 0 deletions
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 9569c6e78c8..ddec3d0931f 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -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