51 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			C#
		
	
	
	
	
	
|   | using System.IO; | ||
|  | using System.Linq; | ||
|  | using System; | ||
|  | using System.Runtime.InteropServices; | ||
|  | using Microsoft.DotNet.Cli.Build.Framework; | ||
|  | using Microsoft.Extensions.PlatformAbstractions; | ||
|  | 
 | ||
|  | namespace Microsoft.DotNet.Cli.Build | ||
|  | { | ||
|  |     internal static class Crossgen | ||
|  |     { | ||
|  |         public static string GetCrossgenPathForVersion(string coreClrVersion) | ||
|  |         { | ||
|  |             string arch = PlatformServices.Default.Runtime.RuntimeArchitecture; | ||
|  |             string packageId; | ||
|  |             if (CurrentPlatform.IsWindows) | ||
|  |             { | ||
|  |                 packageId = $"runtime.win7-{arch}.Microsoft.NETCore.Runtime.CoreCLR"; | ||
|  |             } | ||
|  |             else if (CurrentPlatform.IsUbuntu) | ||
|  |             { | ||
|  |                 packageId = "runtime.ubuntu.14.04-x64.Microsoft.NETCore.Runtime.CoreCLR"; | ||
|  |             } | ||
|  |             else if (CurrentPlatform.IsCentOS || CurrentPlatform.IsRHEL) | ||
|  |             { | ||
|  |                 // CentOS runtime is in the runtime.rhel.7-x64... package. | ||
|  |                 packageId = "runtime.rhel.7-x64.Microsoft.NETCore.Runtime.CoreCLR"; | ||
|  |             } | ||
|  |             else if (CurrentPlatform.IsOSX) | ||
|  |             { | ||
|  |                 packageId = "runtime.osx.10.10-x64.Microsoft.NETCore.Runtime.CoreCLR"; | ||
|  |             } | ||
|  |             else if (CurrentPlatform.IsDebian) | ||
|  |             { | ||
|  |                 packageId = "runtime.debian.8.2-x64.Microsoft.NETCore.Runtime.CoreCLR"; | ||
|  |             } | ||
|  |             else | ||
|  |             { | ||
|  |                 return null; | ||
|  |             } | ||
|  | 
 | ||
|  |             return Path.Combine( | ||
|  |                 Dirs.NuGetPackages, | ||
|  |                 packageId, | ||
|  |                 coreClrVersion, | ||
|  |                 "tools", | ||
|  |                 $"crossgen{Constants.ExeSuffix}"); | ||
|  |         } | ||
|  |     } | ||
|  | } |