ompss: set flags when intel
This commit is contained in:
		
							parent
							
								
									f3483e8a88
								
							
						
					
					
						commit
						53f556626e
					
				@ -151,6 +151,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
 | 
				
			|||||||
        ln -s $out/bin/icpx $out/bin/c++
 | 
					        ln -s $out/bin/icpx $out/bin/c++
 | 
				
			||||||
        ln -s $out/bin/icx  $out/bin/cc
 | 
					        ln -s $out/bin/icx  $out/bin/cc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Use this to detect when a compiler subprocess is called
 | 
				
			||||||
 | 
					        # from icpx (--fsycl-host-compiler)
 | 
				
			||||||
 | 
					        echo 'export "NIX_CC_WRAPPER_INTEL=1"' >> $out/nix-support/cc-wrapper-hook
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        sed -i 's/.*isCxx=0/isCxx=1/' $out/bin/icpx
 | 
					        sed -i 's/.*isCxx=0/isCxx=1/' $out/bin/icpx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ln -s ${finalAttrs.finalPackage.pkgs.compiler}/lib $out/lib
 | 
					        ln -s ${finalAttrs.finalPackage.pkgs.compiler}/lib $out/lib
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,7 @@
 | 
				
			|||||||
, lib
 | 
					, lib
 | 
				
			||||||
, gcc
 | 
					, gcc
 | 
				
			||||||
, clangOmpss2Unwrapped
 | 
					, clangOmpss2Unwrapped
 | 
				
			||||||
 | 
					, writeShellScript
 | 
				
			||||||
, openmp ? null
 | 
					, openmp ? null
 | 
				
			||||||
, wrapCCWith
 | 
					, wrapCCWith
 | 
				
			||||||
, llvmPackages_latest
 | 
					, llvmPackages_latest
 | 
				
			||||||
@ -37,6 +38,15 @@ let
 | 
				
			|||||||
  inherit gcc;
 | 
					  inherit gcc;
 | 
				
			||||||
  cc = clangOmpss2Unwrapped;
 | 
					  cc = clangOmpss2Unwrapped;
 | 
				
			||||||
  gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
 | 
					  gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  resetIntelCCFlags = let tconf = builtins.replaceStrings ["-"] ["_"] targetConfig;
 | 
				
			||||||
 | 
					  in writeShellScript "remove-intel.sh" ''
 | 
				
			||||||
 | 
					    if [ "$NIX_CC_WRAPPER_INTEL" = 1 ]; then
 | 
				
			||||||
 | 
					      unset NIX_CC_WRAPPER_FLAGS_SET_${tconf}
 | 
				
			||||||
 | 
					      unset NIX_BINTOOLS_WRAPPER_FLAGS_${tconf}
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
in wrapCCWith {
 | 
					in wrapCCWith {
 | 
				
			||||||
  inherit cc bintools;
 | 
					  inherit cc bintools;
 | 
				
			||||||
  # extraPackages adds packages to depsTargetTargetPropagated
 | 
					  # extraPackages adds packages to depsTargetTargetPropagated
 | 
				
			||||||
@ -61,6 +71,9 @@ in wrapCCWith {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    wrap clang++  $wrapper $ccPath/clang++
 | 
					    wrap clang++  $wrapper $ccPath/clang++
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    sed -i 's|# Flirting.*|&\nsource ${resetIntelCCFlags}|' $out/bin/clang
 | 
				
			||||||
 | 
					    sed -i 's|# Flirting.*|&\nsource ${resetIntelCCFlags}|' $out/bin/clang++
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    echo "" > $out/nix-support/add-hardening.sh
 | 
					    echo "" > $out/nix-support/add-hardening.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  '' + lib.optionalString (openmp != null) ''
 | 
					  '' + lib.optionalString (openmp != null) ''
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user