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