28 lines
800 B
Nix
28 lines
800 B
Nix
{
|
|
stdenv
|
|
, gcc
|
|
, nanos6
|
|
, clang-ompss2-unwrapped
|
|
, wrapCCWith
|
|
, libstdcxxHook
|
|
}:
|
|
|
|
|
|
let
|
|
targetConfig = stdenv.targetPlatform.config;
|
|
inherit gcc nanos6;
|
|
in wrapCCWith rec {
|
|
cc = clang-ompss2-unwrapped;
|
|
extraPackages = [ libstdcxxHook ];
|
|
extraBuildCommands = ''
|
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
|
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
|
echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
|
|
echo "--gcc-toolchain=${gcc}" >> $out/nix-support/cc-cflags
|
|
|
|
echo "# Hack to include NANOS6_HOME" >> $out/nix-support/setup-hook
|
|
echo "export NANOS6_HOME=${nanos6}" >> $out/nix-support/setup-hook
|
|
'';
|
|
}
|