forked from rarias/bscpkgs
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			8e5b2dc5cc
			...
			169ec60e71
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 169ec60e71 | |||
| b72fef45ff | 
| @ -9,12 +9,14 @@ | ||||
| , ompss2rt ? null | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| 
 | ||||
| let | ||||
|   usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes"); | ||||
|   sameNosv = openmp.nosv == ompss2rt.nosv; | ||||
| in | ||||
| 
 | ||||
| assert lib.assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V"; | ||||
| assert assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V"; | ||||
| 
 | ||||
| let | ||||
|   homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME"; | ||||
| @ -34,14 +36,15 @@ let | ||||
|   targetConfig = stdenv.targetPlatform.config; | ||||
|   inherit gcc; | ||||
|   cc = clangOmpss2Unwrapped; | ||||
|   gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)]; | ||||
| in wrapCCWith { | ||||
|   inherit cc bintools; | ||||
|   # extraPackages adds packages to depsTargetTargetPropagated | ||||
|   extraPackages = lib.optional (openmp != null) openmp; | ||||
|   extraPackages = optional (openmp != null) openmp; | ||||
|   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 "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags | ||||
|     echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-ldflags | ||||
|     echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags | ||||
| 
 | ||||
|     for dir in ${gcc.cc}/include/c++/*; do | ||||
| @ -55,12 +58,12 @@ in wrapCCWith { | ||||
| 
 | ||||
|     wrap clang++  $wrapper $ccPath/clang++ | ||||
| 
 | ||||
|   '' + lib.optionalString (openmp != null) '' | ||||
|   '' + optionalString (openmp != null) '' | ||||
|     echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook | ||||
|   '' + lib.optionalString (ompss2rt != null) '' | ||||
|   '' + optionalString (ompss2rt != null) '' | ||||
|     echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook | ||||
|     echo "export ${homevar}=${ompss2rt}"   >> $out/nix-support/cc-wrapper-hook | ||||
|   '' + lib.optionalString (ompss2rt != null && ompss2rt.pname == "nodes") '' | ||||
|   '' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") '' | ||||
|     echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook | ||||
|   ''; | ||||
| } | ||||
|  | ||||
| @ -68,6 +68,7 @@ stdenv.mkDerivation rec { | ||||
|     rm -f $out/lib/libiomp* | ||||
|   '' + lib.optionalString enableNosv '' | ||||
|     rm -f $out/lib/libomp.* | ||||
|     rm -f $out/libllvmrt/libomp.* | ||||
|   ''; | ||||
| 
 | ||||
|   passthru = { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user