2018-04-03 12:50:25 -04:00
|
|
|
{ newScope, stdenv, binutils, wrapCCWith, symlinkJoin }:
|
2014-07-12 18:17:50 +03:00
|
|
|
let
|
2017-09-13 19:12:08 +02:00
|
|
|
callPackage = newScope (self // {inherit stdenv;});
|
2016-05-26 19:05:13 -05:00
|
|
|
|
2017-09-13 19:12:08 +02:00
|
|
|
self = {
|
|
|
|
emscriptenfastcomp-unwrapped = callPackage ./emscripten-fastcomp.nix {};
|
2017-09-19 22:09:45 -04:00
|
|
|
emscriptenfastcomp-wrapped = wrapCCWith {
|
|
|
|
cc = self.emscriptenfastcomp-unwrapped;
|
2017-08-26 11:43:30 -04:00
|
|
|
# Never want Apple's cctools for WASM target
|
2018-04-03 12:50:25 -04:00
|
|
|
bintools = binutils;
|
2017-09-19 22:09:45 -04:00
|
|
|
libc = stdenv.cc.libc;
|
|
|
|
extraBuildCommands = ''
|
|
|
|
# hardening flags break WASM support
|
|
|
|
cat > $out/nix-support/add-hardening.sh
|
|
|
|
'';
|
|
|
|
};
|
2017-09-13 19:12:08 +02:00
|
|
|
emscriptenfastcomp = symlinkJoin {
|
2018-05-23 23:37:33 -05:00
|
|
|
name = "emscriptenfastcomp-${stdenv.lib.getVersion self.emscriptenfastcomp-unwrapped}";
|
2017-09-13 19:12:08 +02:00
|
|
|
paths = [ self.emscriptenfastcomp-wrapped self.emscriptenfastcomp-unwrapped ];
|
|
|
|
preferLocalBuild = false;
|
|
|
|
allowSubstitutes = true;
|
|
|
|
postBuild = ''
|
|
|
|
# replace unwrapped clang-3.9 binary by wrapper
|
|
|
|
ln -sf $out/bin/clang $out/bin/clang-[0-9]*
|
|
|
|
'';
|
|
|
|
};
|
2014-07-12 18:17:50 +03:00
|
|
|
};
|
2017-09-13 19:12:08 +02:00
|
|
|
in self
|