44 lines
653 B
Nix
44 lines
653 B
Nix
|
{ stdenv, writeText, which, strace }:
|
||
|
|
||
|
let
|
||
|
task_c = writeText "task.c" ''
|
||
|
#include <stdio.h>
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
for (int i = 0; i < 10; i++) {
|
||
|
#pragma oss task
|
||
|
printf("Hello world!\n");
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
'';
|
||
|
in
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
version = "0.0.1";
|
||
|
name = "task_c";
|
||
|
src = task_c;
|
||
|
dontUnpack = true;
|
||
|
dontConfigure = true;
|
||
|
hardeningDisable = [ "all" ];
|
||
|
NIX_DEBUG = 1;
|
||
|
buildPhase = ''
|
||
|
set -x
|
||
|
echo CC=$CC
|
||
|
$CC -v
|
||
|
|
||
|
cp ${task_c} task.c
|
||
|
cat task.c
|
||
|
$CC -v -fompss-2 task.c -o task
|
||
|
./task
|
||
|
|
||
|
set +x
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
touch $out
|
||
|
'';
|
||
|
}
|