forked from rarias/jungle
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { stdenv, writeText, which, strace, gdb }:
 | |
| 
 | |
| 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;
 | |
|   buildInputs = [ ]; #strace gdb;
 | |
|   # NODES requires access to /sys/devices to request NUMA information. It will
 | |
|   # fail to run otherwise, so we disable the sandbox for this test.
 | |
|   __noChroot = true;
 | |
|   buildPhase = ''
 | |
|     set -x
 | |
|     #$CC -v
 | |
| 
 | |
|     cp ${task_c} task.c
 | |
| 
 | |
|     echo CC=$CC
 | |
|     echo NANOS6_HOME=$NANOS6_HOME
 | |
|     echo NODES_HOME=$NODES_HOME
 | |
|     cat task.c
 | |
|     $CC -fompss-2 task.c -o task
 | |
|     #strace -ff -e trace=open,openat -s9999999 ./task
 | |
|     LD_DEBUG=libs ./task
 | |
|     #gdb -batch -ex "run" -ex "bt" ./task
 | |
| 
 | |
|     set +x
 | |
|   '';
 | |
| 
 | |
|   installPhase = ''
 | |
|     touch $out
 | |
|   '';
 | |
| }
 |