Add project files
authorMichal Strehovský <michals@microsoft.com>
Wed, 4 Sep 2019 16:03:14 +0000 (18:03 +0200)
committerMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
Mon, 9 Sep 2019 16:49:58 +0000 (18:49 +0200)
Commit migrated from https://github.com/dotnet/coreclr/commit/5dc16c89311f4508ff05ffff15b4437bee3950a5

src/coreclr/CMakeLists.txt
src/coreclr/build.cmd
src/coreclr/build.sh
src/coreclr/src/build.proj
src/coreclr/src/tools/crossgen2/ILCompiler.DependencyAnalysisFramework/ILCompiler.DependencyAnalysisFramework.csproj [new file with mode: 0644]
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/ILCompiler.ReadyToRun.csproj [new file with mode: 0644]
src/coreclr/src/tools/crossgen2/ILCompiler.TypeSystem.ReadyToRun/ILCompiler.TypeSystem.ReadyToRun.csproj [new file with mode: 0644]
src/coreclr/src/tools/crossgen2/crossgen2.sln [new file with mode: 0644]
src/coreclr/src/tools/crossgen2/crossgen2/crossgen2.csproj [new file with mode: 0644]
src/coreclr/src/tools/crossgen2/jitinterface/CMakeLists.txt [new file with mode: 0644]

index 74cff66..0a874de 100644 (file)
@@ -171,6 +171,8 @@ if(WIN32)
   add_subdirectory(src/gc/sample)
 endif()
 
+add_subdirectory(src/tools/crossgen2/jitinterface)
+
 # Above projects do not build with these compile options
 # All of the compiler options are specified in file compileoptions.cmake
 # Do not add any new options here. They should be added in compileoptions.cmake
index 9575109..29af75d 100644 (file)
@@ -653,6 +653,13 @@ if %__BuildCoreLib% EQU 1 (
             echo     !__BuildErr!
             exit /b !errorlevel!
         )
+
+        if "%__BuildManagedTools%" == "1" (
+            echo %__MsgPrefix%Publishing crossgen2...
+            call %__ProjectDir%\dotnet.cmd publish --self-contained -r win-%__BuildArch% -c %__BuildType% -o "%__BinDir%\crossgen2" "%__ProjectDir%\src\tools\crossgen2\crossgen2\crossgen2.csproj"
+            copy /Y "%__BinDir%\clrjit.dll" "%__BinDir%\crossgen2\clrjitilc.dll"
+            copy /Y "%__BinDir%\jitinterface.dll" "%__BinDir%\crossgen2\jitinterface.dll"
+        )
     )
     if %__IbcOptimize% EQU 1 (
         echo %__MsgPrefix%Commencing IBCMerge of System.Private.CoreLib for %__BuildOS%.%__BuildArch%.%__BuildType%
index 6358e09..376ab84 100755 (executable)
@@ -443,6 +443,13 @@ build_CoreLib()
         exit $exit_code
     fi
 
+    if [[ "$__BuildManagedTools" -eq "1" ]]; then
+        echo "Publishing crossgen2 for $__DistroRid"
+        "$__ProjectRoot/dotnet.sh" publish --self-contained -r $__DistroRid -c $__BuildType -o "$__BinDir/crossgen2" "$__ProjectRoot/src/tools/crossgen2/crossgen2/crossgen2.csproj"
+        cp "$__BinDir/libclrjit.so" "$__BinDir/crossgen2/libclrjitilc.so"
+        cp "$__BinDir/libjitinterface.so" "$__BinDir/crossgen2/libjitinterface.so"
+    fi
+
     local __CoreLibILDir=$__BinDir/IL
 
     if [ $__SkipCrossgen == 1 ]; then
index f3f4dc6..22df29a 100644 (file)
@@ -9,6 +9,7 @@
   <ItemGroup>
     <ProjectReference Condition="'$(BuildManagedTools)' == 'true'" Include="tools/runincontext/runincontext.csproj" />
     <ProjectReference Condition="'$(BuildManagedTools)' == 'true'" Include="tools/r2rdump/R2RDump.csproj" />
+    <ProjectReference Condition="'$(BuildManagedTools)' == 'true'" Include="tools/crossgen2/crossgen2/crossgen2.csproj" />
     <ProjectReference Include="System.Private.CoreLib\System.Private.CoreLib.csproj" />
   </ItemGroup>
 
diff --git a/src/coreclr/src/tools/crossgen2/ILCompiler.DependencyAnalysisFramework/ILCompiler.DependencyAnalysisFramework.csproj b/src/coreclr/src/tools/crossgen2/ILCompiler.DependencyAnalysisFramework/ILCompiler.DependencyAnalysisFramework.csproj
new file mode 100644 (file)
index 0000000..2005472
--- /dev/null
@@ -0,0 +1,37 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <Import Project="$([MSBuild]::GetPathOfFileAbove(dir.props))" />
+  <PropertyGroup>
+    <OutputType>Library</OutputType>
+    <RootNamespace>ILCompiler.DependencyAnalysisFramework</RootNamespace>
+    <AssemblyName>ILCompiler.DependencyAnalysisFramework</AssemblyName>
+    <TargetFramework>netstandard1.3</TargetFramework>
+    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
+    <Platforms>x64;x86</Platforms>
+    <OutputPath>$(BinDir)\crossgen2</OutputPath>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="System.Xml.ReaderWriter">
+      <Version>4.3.0</Version>
+    </PackageReference>
+    <PackageReference Include="System.Collections.Immutable">
+      <Version>1.3.1</Version>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="ComputedStaticDependencyNode.cs" />
+    <Compile Include="DependencyAnalyzer.cs" />
+    <Compile Include="DependencyAnalyzerBase.cs" />
+    <Compile Include="DependencyNode.cs" />
+    <Compile Include="DependencyNodeCore.cs" />
+    <Compile Include="DgmlWriter.cs" />
+    <Compile Include="EventSourceLogStrategy.cs" />
+    <Compile Include="FirstMarkLogStrategy.cs" />
+    <Compile Include="FullGraphLogStrategy.cs" />
+    <Compile Include="IDependencyAnalyzerLogEdgeVisitor.cs" />
+    <Compile Include="IDependencyAnalyzerLogNodeVisitor.cs" />
+    <Compile Include="IDependencyAnalysisMarkStrategy.cs" />
+    <Compile Include="IDependencyNode.cs" />
+    <Compile Include="NoLogStrategy.cs" />
+  </ItemGroup>
+</Project>
diff --git a/src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/ILCompiler.ReadyToRun.csproj b/src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/ILCompiler.ReadyToRun.csproj
new file mode 100644 (file)
index 0000000..a04a1d6
--- /dev/null
@@ -0,0 +1,238 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <Import Project="$([MSBuild]::GetPathOfFileAbove(dir.props))" />
+
+  <PropertyGroup>
+    <OutputType>Library</OutputType>
+    <AssemblyName>ILCompiler.ReadyToRun</AssemblyName>
+    <TargetFramework>netstandard1.3</TargetFramework>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <DefineConstants>READYTORUN;$(DefineConstants)</DefineConstants>
+    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
+    <Platforms>x64;x86</Platforms>
+    <OutputPath>$(BinDir)\crossgen2</OutputPath>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+  </PropertyGroup>
+  
+  <ItemGroup>
+    <ProjectReference Include="..\ILCompiler.DependencyAnalysisFramework\ILCompiler.DependencyAnalysisFramework.csproj" />
+    <ProjectReference Include="..\ILCompiler.TypeSystem.ReadyToRun\ILCompiler.TypeSystem.ReadyToRun.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <PackageReference Include="System.Reflection.Metadata">
+      <Version>1.6.0</Version>
+    </PackageReference>
+    <PackageReference Include="System.Runtime.CompilerServices.Unsafe">
+      <Version>4.3.0</Version>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\Common\Internal\NativeFormat\NativeFormat.cs" Link="Common\NativeFormat.cs" />
+    <Compile Include="..\Common\Internal\NativeFormat\NativeFormatWriter.cs" Link="Common\NativeFormatWriter.cs" />
+    <Compile Include="..\Common\Internal\NativeFormat\NativeFormatWriter.Primitives.cs" Link="Common\NativeFormatWriter.Primitives.cs" />
+    <Compile Include="..\Common\System\FormattingHelpers.cs" Link="Common\FormattingHelpers.cs" />
+    <Compile Include="..\Common\TypeSystem\IL\ILProvider.cs" Link="IL\ILProvider.cs" />
+    <Compile Include="..\Common\TypeSystem\IL\Stubs\ComparerIntrinsics.cs" Link="IL\Stubs\ComparerIntrinsics.cs" />
+    <Compile Include="..\Common\TypeSystem\IL\Stubs\InterlockedIntrinsics.cs" Link="IL\Stubs\InterlockedIntrinsics.cs" />
+    <Compile Include="..\Common\TypeSystem\IL\Stubs\RuntimeHelpersIntrinsics.cs" Link="IL\Stubs\RuntimeHelpersIntrinsics.cs" />
+    <Compile Include="..\Common\TypeSystem\IL\Stubs\UnsafeIntrinsics.cs" Link="IL\Stubs\UnsafeIntrinsics.cs" />
+    <Compile Include="..\Common\TypeSystem\IL\Stubs\VolatileIntrinsics.cs" Link="IL\Stubs\VolatileIntrinsics.cs" />
+    <Compile Include="..\Common\Compiler\CodeGenerationFailedException.cs" Link="Compiler\CodeGenerationFailedException.cs" />
+    <Compile Include="..\Common\Compiler\CompilationBuilder.cs" Link="Compiler\CompilationBuilder.cs" />
+    <Compile Include="..\Common\Compiler\CompilationModuleGroup.cs" Link="Compiler\CompilationModuleGroup.cs" />
+    <Compile Include="..\Common\Compiler\CompilerTypeSystemContext.cs" Link="Compiler\CompilerTypeSystemContext.cs" />
+    <Compile Include="..\Common\Compiler\CompilerTypeSystemContext.Validation.cs" Link="Compiler\CompilerTypeSystemContext.Validation.cs" />
+    <Compile Include="..\Common\Compiler\CoreRTNameMangler.cs" Link="Compiler\CoreRTNameMangler.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ArrayOfEmbeddedDataNode.cs" Link="Compiler\DependencyAnalysis\ArrayOfEmbeddedDataNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ArrayOfEmbeddedPointersNode.cs" Link="Compiler\DependencyAnalysis\ArrayOfEmbeddedPointersNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\AssemblyStubNode.cs" Link="Compiler\DependencyAnalysis\AssemblyStubNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\BlobNode.cs" Link="Compiler\DependencyAnalysis\BlobNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\CompilerComparer.cs" Link="Compiler\DependencyAnalysis\CompilerComparer.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\EmbeddedDataContainerNode.cs" Link="Compiler\DependencyAnalysis\EmbeddedDataContainerNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\EmbeddedObjectNode.cs" Link="Compiler\DependencyAnalysis\EmbeddedObjectNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\EmbeddedPointerIndirectionNode.cs" Link="Compiler\DependencyAnalysis\EmbeddedPointerIndirectionNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\IMethodBodyNode.cs" Link="Compiler\DependencyAnalysis\IMethodBodyNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\IMethodNode.cs" Link="Compiler\DependencyAnalysis\IMethodNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\INodeWithCodeInfo.cs" Link="Compiler\DependencyAnalysis\INodeWithCodeInfo.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\INodeWithRuntimeDeterminedDependencies.cs" Link="Compiler\DependencyAnalysis\INodeWithRuntimeDeterminedDependencies.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ISortableNode.cs" Link="Compiler\DependencyAnalysis\ISortableNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ISymbolNode.cs" Link="Compiler\DependencyAnalysis\ISymbolNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ObjectAndOffsetSymbolNode.cs" Link="Compiler\DependencyAnalysis\ObjectAndOffsetSymbolNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ObjectDataBuilder.cs" Link="Compiler\DependencyAnalysis\ObjectDataBuilder.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ObjectNode.cs" Link="Compiler\DependencyAnalysis\ObjectNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ObjectNodeSection.cs" Link="Compiler\DependencyAnalysis\ObjectNodeSection.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Relocation.cs" Link="Compiler\DependencyAnalysis\Relocation.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\ShadowConcreteMethodNode.cs" Link="Compiler\DependencyAnalysis\ShadowConcreteMethodNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\SortableDependencyNode.cs" Link="Compiler\DependencyAnalysis\SortableDependencyNode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_ARM64\AddrMode.cs" Link="Compiler\DependencyAnalysis\Target_ARM64\AddrMode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_ARM64\ARM64Emitter.cs" Link="Compiler\DependencyAnalysis\Target_ARM64\ARM64Emitter.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_ARM64\Register.cs" Link="Compiler\DependencyAnalysis\Target_ARM64\Register.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_ARM64\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_ARM64\TargetRegisterMap.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_ARM\ARMEmitter.cs" Link="Compiler\DependencyAnalysis\Target_ARM\ARMEmitter.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_ARM\Register.cs" Link="Compiler\DependencyAnalysis\Target_ARM\Register.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_ARM\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_ARM\TargetRegisterMap.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_X64\AddrMode.cs" Link="Compiler\DependencyAnalysis\Target_X64\AddrMode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_X64\Register.cs" Link="Compiler\DependencyAnalysis\Target_X64\Register.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_X64\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_X64\TargetRegisterMap.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_X64\X64Emitter.cs" Link="Compiler\DependencyAnalysis\Target_X64\X64Emitter.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_X86\AddrMode.cs" Link="Compiler\DependencyAnalysis\Target_X86\AddrMode.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_X86\Register.cs" Link="Compiler\DependencyAnalysis\Target_X86\Register.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_X86\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_X86\TargetRegisterMap.cs" />
+    <Compile Include="..\Common\Compiler\DependencyAnalysis\Target_X86\X86Emitter.cs" Link="Compiler\DependencyAnalysis\Target_X86\X86Emitter.cs" />
+    <Compile Include="..\Common\Compiler\DependencyTrackingLevel.cs" Link="Compiler\DependencyTrackingLevel.cs" />
+    <Compile Include="..\Common\Compiler\DevirtualizationManager.cs" Link="Compiler\DevirtualizationManager.cs" />
+    <Compile Include="..\Common\Compiler\HardwareIntrinsicHelpers.cs" Link="Compiler\HardwareIntrinsicHelpers.cs" />
+    <Compile Include="..\Common\Compiler\ICompilationRootProvider.cs" Link="Compiler\ICompilationRootProvider.cs" />
+    <Compile Include="..\Common\Compiler\InternalCompilerErrorException.cs" Link="Compiler\InternalCompilerErrorException.cs" />
+    <Compile Include="..\Common\Compiler\NameMangler.cs" Link="Compiler\NameMangler.cs" />
+    <Compile Include="..\Common\Compiler\ReadyToRun.cs" Link="Compiler\ReadyToRun.cs" />
+    <Compile Include="..\Common\Compiler\SimdHelper.cs" Link="Compiler\SimdHelper.cs" />
+    <Compile Include="..\Common\Compiler\SingleMethodRootProvider.cs" Link="Compiler\SingleMethodRootProvider.cs" />
+    <Compile Include="..\Common\Compiler\TypeExtensions.cs" Link="Compiler\TypeExtensions.cs" />
+    <Compile Include="..\Common\Compiler\VectorFieldLayoutAlgorithm.cs" Link="Compiler\VectorFieldLayoutAlgorithm.cs" />
+    <Compile Include="..\Common\Compiler\Logger.cs" Link="Compiler\Logger.cs" />
+    <Compile Include="..\Common\JitInterface\CorInfoTypes.VarInfo.cs" Link="JitInterface\CorInfoTypes.VarInfo.cs" />
+    <Compile Include="..\Common\JitInterface\SystemVStructClassificator.cs" Link="JitInterface\SystemVStructClassificator.cs" />
+    <Compile Include="CodeGen\ReadyToRunObjectWriter.cs" />
+    <Compile Include="Compiler\CompilationModuleGroup.ReadyToRun.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ArgIterator.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\CopiedFieldRvaNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\CopiedManagedResourcesNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\CopiedMetadataBlobNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\CopiedMethodILNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\CopiedCorHeaderNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\CopiedStrongNameSignatureNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\DelayLoadHelperMethodImport.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ExceptionInfoLookupTableNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ExternalTypeNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRunCodegenNodeFactory.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\AvailableType.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ByteArrayComparer.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\CompilerIdentifierNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\DebugInfoTableNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\DelayLoadHelperImport.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\GCRefMapBuilder.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\GCRefMapNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\GenericLookupSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ImportThunk.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\DelegateCtorSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\DevirtualizationManager.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ExternalMethodImport.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\FieldFixupSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\FixupConstants.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\HeaderNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ImportSectionNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\Import.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ImportSectionsTableNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\InstanceEntryPointTableNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\IReadyToRunMethodCodeNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\PrecodeMethodImport.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\LocalMethodImport.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ManifestMetadataTableNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\MethodEntryPointTableNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\MethodFixupSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\MethodGCInfoNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\MethodWithGCInfo.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ModuleToken.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ModuleTokenResolver.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\NewArrayFixupSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\NewObjectFixupSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\NibbleWriter.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\PrecodeHelperImport.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ProfileDataNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ProfileDataSectionNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\ReadyToRunHelperSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\RuntimeFunctionsGCInfoNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\RuntimeFunctionsTableNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\RvaEmbeddedPointerIndirectionNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\Signature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\SignatureBuilder.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\SignatureContext.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\StringImport.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\StringImportSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\Target_ARM64\ImportThunk.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\Target_ARM\ImportThunk.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\Target_X64\ImportThunk.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\Target_X86\ImportThunk.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\TransitionBlock.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\TypeFixupSignature.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRun\TypesTableNode.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\ReadyToRunSymbolNodeFactory.cs" />
+    <Compile Include="Compiler\DependencyAnalysis\TypeAndMethod.cs" />
+    <Compile Include="Compiler\IRootingServiceProvider.cs" />
+    <Compile Include="IBC\IBCDataModel.cs" />
+    <Compile Include="IBC\IBCDataReader.cs" />
+    <Compile Include="IBC\ReaderExtensions.cs" />
+    <Compile Include="Compiler\ProfileData.cs" />
+    <Compile Include="Compiler\ReadyToRunHashCode.cs" />
+    <Compile Include="Compiler\ReadyToRunLibraryRootProvider.cs" />
+    <Compile Include="Compiler\ReadyToRunCompilerContext.cs" />
+    <Compile Include="Compiler\ReadyToRunCodegenCompilation.cs" />
+    <Compile Include="Compiler\ReadyToRunCodegenCompilationBuilder.cs" />
+    <Compile Include="Compiler\ReadyToRunMetadataFieldLayoutAlgorithm.cs" />
+    <Compile Include="Compiler\ReadyToRunSingleAssemblyCompilationModuleGroup.cs" />
+    <Compile Include="Compiler\ReadyToRunTableManager.cs" />
+    <Compile Include="IBC\IBCProfileData.cs" />
+    <Compile Include="IBC\IBCProfileParser.cs" />
+    <Compile Include="Win32Resources\ResourceData.cs" />
+    <Compile Include="Win32Resources\ResourceData.Reader.cs" />
+    <Compile Include="Win32Resources\ResourceData.ResourcesDataModel.cs" />
+    <Compile Include="Win32Resources\ResourceData.UpdateResourceDataModel.cs" />
+    <Compile Include="Win32Resources\ResourceData.Win32Structs.cs" />
+    <Compile Include="Compiler\RuntimeDeterminedTypeHelper.cs" />
+    <Compile Include="Compiler\SingleMethodCompilationModuleGroup.cs" />
+    <Compile Include="Compiler\SystemObjectFieldLayoutAlgorithm.cs" />
+    <Compile Include="IL\ReadyToRunILProvider.cs" />
+    <Compile Include="JitInterface\CorInfoImpl.ReadyToRun.cs" />
+    <Compile Include="ObjectWriter\SectionBuilder.cs" />
+    <Compile Include="ObjectWriter\R2RPEBuilder.cs" />
+    <Compile Include="ObjectWriter\RelocationHelper.cs" />
+    <Compile Include="ObjectWriter\TargetExtensions.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="..\Common\Internal\Runtime\ModuleHeaders.cs">
+      <Link>Common\ModuleHeaders.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\Internal\Text\Utf8String.cs">
+      <Link>Common\Utf8String.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\Internal\Text\Utf8StringBuilder.cs">
+      <Link>Common\Utf8StringBuilder.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\System\Collections\Generic\ArrayBuilder.cs">
+      <Link>Common\ArrayBuilder.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\HelperExtensions.cs">
+      <Link>IL\HelperExtensions.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\TypeString.cs">
+      <Link>JitInterface\TypeString.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\CorInfoBase.cs">
+      <Link>JitInterface\CorInfoBase.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\CorInfoImpl.cs">
+      <Link>JitInterface\CorInfoImpl.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\CorInfoHelpFunc.cs">
+      <Link>JitInterface\CorInfoHelpFunc.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\CorInfoTypes.cs">
+      <Link>JitInterface\CorInfoTypes.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\JitConfigProvider.cs">
+      <Link>JitInterface\JitConfigProvider.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\CorInfoImpl.Intrinsics.cs">
+      <Link>JitInterface\CorInfoImpl.Intrinsics.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\MemoryHelper.cs">
+      <Link>JitInterface\MemoryHelper.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\JitInterface\UnboxingMethodDesc.cs">
+      <Link>JitInterface\UnboxingMethodDesc.cs</Link>
+    </Compile>
+  </ItemGroup>
+
+</Project>
diff --git a/src/coreclr/src/tools/crossgen2/ILCompiler.TypeSystem.ReadyToRun/ILCompiler.TypeSystem.ReadyToRun.csproj b/src/coreclr/src/tools/crossgen2/ILCompiler.TypeSystem.ReadyToRun/ILCompiler.TypeSystem.ReadyToRun.csproj
new file mode 100644 (file)
index 0000000..2d3d69c
--- /dev/null
@@ -0,0 +1,544 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <Import Project="$([MSBuild]::GetPathOfFileAbove(dir.props))" />
+
+  <PropertyGroup>
+    <OutputType>Library</OutputType>
+    <RootNamespace>Internal.TypeSystem</RootNamespace>
+    <AssemblyName>ILCompiler.TypeSystem.ReadyToRun</AssemblyName>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <TargetFramework>netstandard1.3</TargetFramework>
+    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
+    <Platforms>x64;x86</Platforms>
+    <OutputPath>$(BinDir)\crossgen2</OutputPath>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+  </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="System.IO.MemoryMappedFiles">
+      <Version>4.3.0</Version>
+    </PackageReference>
+    <PackageReference Include="System.Reflection.Metadata">
+      <Version>1.6.0</Version>
+    </PackageReference>
+    <PackageReference Include="Microsoft.DiaSymReader">
+      <Version>1.0.8</Version>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\Common\TypeSystem\Canon\ArrayType.Canon.cs">
+      <Link>TypeSystem\Canon\ArrayType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\ByRefType.Canon.cs">
+      <Link>TypeSystem\Canon\ByRefType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\CanonTypes.cs">
+      <Link>TypeSystem\Canon\CanonTypes.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\CanonTypes.Interop.cs">
+      <Link>TypeSystem\Canon\CanonTypes.Interop.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\CanonTypes.Sorting.cs">
+      <Link>TypeSystem\Canon\CanonTypes.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\FunctionPointerType.Canon.cs">
+      <Link>TypeSystem\Canon\FunctionPointerType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\GenericParameterDesc.Canon.cs">
+      <Link>TypeSystem\Canon\GenericParameterDesc.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\StandardCanonicalizationAlgorithm.cs">
+      <Link>TypeSystem\Canon\StandardCanonicalizationAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\DefType.Canon.cs">
+      <Link>TypeSystem\Canon\DefType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\InstantiatedMethod.Canon.cs">
+      <Link>TypeSystem\Canon\InstantiatedMethod.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\InstantiatedType.Canon.cs">
+      <Link>TypeSystem\Canon\InstantiatedType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\MetadataType.Canon.cs">
+      <Link>TypeSystem\Canon\MetadataType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\MethodDelegator.Canon.cs">
+      <Link>TypeSystem\Canon\MethodDelegator.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\MethodDesc.Canon.cs">
+      <Link>TypeSystem\Canon\MethodDesc.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\MethodForInstantiatedType.Canon.cs">
+      <Link>TypeSystem\Canon\MethodForInstantiatedType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\ParameterizedType.Canon.cs">
+      <Link>TypeSystem\Canon\ParameterizedType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\PointerType.Canon.cs">
+      <Link>TypeSystem\Canon\PointerType.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\SignatureVariable.Canon.cs">
+      <Link>TypeSystem\Canon\SignatureVariable.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\TypeDesc.Canon.cs">
+      <Link>TypeSystem\Canon\TypeDesc.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Canon\TypeSystemContext.Canon.cs">
+      <Link>TypeSystem\Canon\TypeSystemContext.Canon.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\CodeGen\FieldDesc.CodeGen.cs">
+      <Link>TypeSystem\CodeGen\FieldDesc.CodeGen.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\CodeGen\MethodDelegator.CodeGen.cs">
+      <Link>TypeSystem\CodeGen\MethodDelegator.CodeGen.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\CodeGen\MethodDesc.CodeGen.cs">
+      <Link>TypeSystem\CodeGen\MethodDesc.CodeGen.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\CodeGen\TargetDetails.CodeGen.cs">
+      <Link>TypeSystem\CodeGen\TargetDetails.CodeGen.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\CodeGen\TypeDesc.CodeGen.cs">
+      <Link>TypeSystem\CodeGen\TypeDesc.CodeGen.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\AlignmentHelper.cs">
+      <Link>Utilities\AlignmentHelper.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\CastingHelper.cs">
+      <Link>TypeSystem\Common\CastingHelper.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\FunctionPointerType.cs">
+      <Link>TypeSystem\Common\FunctionPointerType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\IAssemblyDesc.cs">
+      <Link>TypeSystem\Common\IAssemblyDesc.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\Instantiation.cs">
+      <Link>TypeSystem\Common\Instantiation.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\ModuleDesc.cs">
+      <Link>TypeSystem\Common\ModuleDesc.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeSystemEntity.cs">
+      <Link>TypeSystem\Common\TypeSystemEntity.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeSystemException.cs">
+      <Link>TypeSystem\Common\TypeSystemException.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\ThrowHelper.cs">
+      <Link>TypeSystem\Common\ThrowHelper.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\ThrowHelper.Common.cs">
+      <Link>TypeSystem\Common\ThrowHelper.Common.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\Utilities\CustomAttributeTypeNameFormatter.cs">
+      <Link>Utilities\CustomAttributeTypeNameFormatter.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\Utilities\CustomAttributeTypeNameParser.cs">
+      <Link>Utilities\CustomAttributeTypeNameParser.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\Utilities\DebugNameFormatter.cs">
+      <Link>Utilities\DebugNameFormatter.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\Utilities\LockFreeReaderHashtable.cs">
+      <Link>Utilities\LockFreeReaderHashtable.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\ArrayType.cs">
+      <Link>TypeSystem\Common\ArrayType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\BaseTypeRuntimeInterfacesAlgorithm.cs">
+      <Link>TypeSystem\Common\BaseTypeRuntimeInterfacesAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\ByRefType.cs">
+      <Link>TypeSystem\Common\ByRefType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\GenericParameterDesc.cs">
+      <Link>TypeSystem\Common\GenericParameterDesc.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\ExceptionStringID.cs">
+      <Link>TypeSystem\Common\ExceptionStringID.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\FieldForInstantiatedType.cs">
+      <Link>TypeSystem\Common\FieldForInstantiatedType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\FieldDesc.cs">
+      <Link>TypeSystem\Common\FieldDesc.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\FieldDesc.ToString.cs">
+      <Link>TypeSystem\Common\FieldDesc.ToString.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\FieldDesc.FieldLayout.cs">
+      <Link>TypeSystem\Common\FieldDesc.FieldLayout.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\FieldLayoutAlgorithm.cs">
+      <Link>TypeSystem\Common\FieldLayoutAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\InstantiatedMethod.cs">
+      <Link>TypeSystem\Common\InstantiatedMethod.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\InstantiatedType.cs">
+      <Link>TypeSystem\Common\InstantiatedType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\InstantiatedType.Interfaces.cs">
+      <Link>TypeSystem\Common\InstantiatedType.Interfaces.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\InstantiatedType.MethodImpls.cs">
+      <Link>TypeSystem\Common\InstantiatedType.MethodImpls.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\LayoutInt.cs">
+      <Link>TypeSystem\Common\LayoutInt.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MetadataType.cs">
+      <Link>TypeSystem\Common\MetadataType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MetadataType.Interfaces.cs">
+      <Link>TypeSystem\Common\MetadataType.Interfaces.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MetadataType.MethodImpls.cs">
+      <Link>TypeSystem\Common\MetadataType.MethodImpls.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MetadataFieldLayoutAlgorithm.cs">
+      <Link>TypeSystem\Common\MetadataFieldLayoutAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MetadataRuntimeInterfacesAlgorithm.cs">
+      <Link>TypeSystem\Common\MetadataRuntimeInterfacesAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MetadataTypeSystemContext.cs">
+      <Link>TypeSystem\Common\MetadataTypeSystemContext.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MethodForInstantiatedType.cs">
+      <Link>TypeSystem\Common\MethodForInstantiatedType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\ParameterizedType.cs">
+      <Link>TypeSystem\Common\ParameterizedType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\PointerType.cs">
+      <Link>TypeSystem\Common\PointerType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\PropertySignature.cs">
+      <Link>TypeSystem\Common\PropertySignature.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\SignatureVariable.cs">
+      <Link>TypeSystem\Common\SignatureVariable.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TargetDetails.cs">
+      <Link>TypeSystem\Common\TargetDetails.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TargetDetails.ToString.cs">
+      <Link>TypeSystem\Common\TargetDetails.ToString.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\ThreadSafeFlags.cs">
+      <Link>TypeSystem\Common\ThreadSafeFlags.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeFlags.cs">
+      <Link>TypeSystem\Common\TypeFlags.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeHashingAlgorithms.cs">
+      <Link>TypeSystem\Common\TypeHashingAlgorithms.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeSystemContext.cs">
+      <Link>TypeSystem\Common\TypeSystemContext.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeSystemHelpers.cs">
+      <Link>TypeSystem\Common\TypeSystemHelpers.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\Utilities\ExceptionTypeNameFormatter.cs">
+      <Link>Utilities\ExceptionTypeNameFormatter.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\Utilities\ExceptionTypeNameFormatter.Metadata.cs">
+      <Link>Utilities\ExceptionTypeNameFormatter.Metadata.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\Utilities\TypeNameFormatter.cs">
+      <Link>Utilities\TypeNameFormatter.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\WellKnownType.cs">
+      <Link>TypeSystem\Common\WellKnownType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\VirtualMethodAlgorithm.cs">
+      <Link>TypeSystem\Common\VirtualMethodAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MethodDelegator.cs">
+      <Link>TypeSystem\Common\MethodDelegator.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MethodDesc.cs">
+      <Link>TypeSystem\Common\MethodDesc.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MethodDesc.ToString.cs">
+      <Link>TypeSystem\Common\MethodDesc.ToString.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\MetadataVirtualMethodAlgorithm.cs">
+      <Link>TypeSystem\Common\StandardVirtualMethodAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeDesc.cs">
+      <Link>TypeSystem\Common\TypeDesc.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeDesc.ToString.cs">
+      <Link>TypeSystem\Common\TypeDesc.ToString.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\TypeDesc.Interfaces.cs">
+      <Link>TypeSystem\Common\TypeDesc.Interfaces.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\DefType.cs">
+      <Link>TypeSystem\Common\DefType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\DefType.FieldLayout.cs">
+      <Link>TypeSystem\Common\DefType.FieldLayout.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\RuntimeInterfacesAlgorithm.cs">
+      <Link>TypeSystem\Common\RuntimeInterfacesAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\CustomAttributeTypeProvider.cs">
+      <Link>Ecma\CustomAttributeTypeProvider.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaAssembly.cs">
+      <Link>Ecma\EcmaAssembly.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaAssembly.Symbols.cs">
+      <Link>Ecma\EcmaAssembly.Symbols.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaField.Sorting.cs">
+      <Link>Ecma\EcmaField.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaField.CodeGen.cs">
+      <Link>Ecma\EcmaField.CodeGen.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaField.Serialization.cs">
+      <Link>Ecma\EcmaField.Serialization.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaGenericParameter.Sorting.cs">
+      <Link>Ecma\EcmaGenericParameter.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaMethod.Sorting.cs">
+      <Link>Ecma\EcmaMethod.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaModule.Sorting.cs">
+      <Link>Ecma\EcmaModule.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaType.Serialization.cs">
+      <Link>Ecma\EcmaType.Serialization.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaType.Sorting.cs">
+      <Link>Ecma\EcmaType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\PrimitiveTypeProvider.cs">
+      <Link>Ecma\PrimitiveTypeProvider.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaModule.Symbols.cs">
+      <Link>Ecma\EcmaModule.Symbols.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\SymbolReader\PdbSymbolReader.cs">
+      <Link>Ecma\SymbolReader\PdbSymbolReader.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\SymbolReader\PortablePdbSymbolReader.cs">
+      <Link>Ecma\SymbolReader\PortablePdbSymbolReader.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\SymbolReader\UnmanagedPdbSymbolReader.cs">
+      <Link>Ecma\SymbolReader\UnmanagedPdbSymbolReader.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaField.cs">
+      <Link>Ecma\EcmaField.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaGenericParameter.cs">
+      <Link>Ecma\EcmaGenericParameter.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaMethod.cs">
+      <Link>Ecma\EcmaMethod.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaModule.cs">
+      <Link>Ecma\EcmaModule.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaSignatureParser.cs">
+      <Link>Ecma\EcmaSignatureParser.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaType.cs">
+      <Link>Ecma\EcmaType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaType.MethodImpls.cs">
+      <Link>Ecma\EcmaType.MethodImpls.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\EcmaType.Interfaces.cs">
+      <Link>Ecma\EcmaType.Interfaces.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\MetadataExtensions.cs">
+      <Link>Ecma\MetadataExtensions.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\IMetadataStringDecoderProvider.cs">
+      <Link>Ecma\IMetadataStringDecoderProvider.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Ecma\CachingMetadataStringDecoder.cs">
+      <Link>Ecma\CachingMetadataStringDecoder.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\EcmaMethodIL.cs">
+      <Link>IL\EcmaMethodIL.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\EcmaMethodIL.Symbols.cs">
+      <Link>IL\EcmaMethodIL.Symbols.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\MethodIL.cs">
+      <Link>IL\MethodIL.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\MethodIL.Symbols.cs">
+      <Link>IL\MethodIL.Symbols.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\MethodILDebugView.cs">
+      <Link>IL\MethodILDebugView.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\ILDisassembler.cs">
+      <Link>IL\ILDisassembler.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\InstantiatedMethodIL.cs">
+      <Link>IL\InstantiatedMethodIL.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\ILStackHelper.cs">
+      <Link>IL\ILStackHelper.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\ILOpcode.cs">
+      <Link>IL\ILOpcode.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\ILOpcodeHelper.cs">
+      <Link>IL\ILOpcodeHelper.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Interop\IL\MarshalUtils.cs">
+      <Link>Interop\IL\MarshalUtils.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\IL\Stubs\ILEmitter.cs">
+      <Link>IL\Stubs\ILEmitter.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Serialization\FieldDesc.Serialization.cs">
+      <Link>TypeSystem\CodeGen\FieldDesc.Serialization.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Serialization\TypeDesc.Serialization.cs">
+      <Link>TypeSystem\CodeGen\TypeDesc.Serialization.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\FieldDesc.Sorting.cs">
+      <Link>TypeSystem\Sorting\FieldDesc.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\FieldForInstantiatedType.Sorting.cs">
+      <Link>TypeSystem\Sorting\FieldForInstantiatedType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\InstantiatedMethod.Sorting.cs">
+      <Link>TypeSystem\Sorting\InstantiatedMethod.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\MethodDesc.Sorting.cs">
+      <Link>TypeSystem\Sorting\MethodDesc.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\MethodForInstantiatedType.Sorting.cs">
+      <Link>TypeSystem\Sorting\MethodForInstantiatedType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Interop\InstantiatedType.Interop.cs">
+      <Link>TypeSystem\Interop\InstantiatedType.Interop.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Interop\MetadataType.Interop.cs">
+      <Link>TypeSystem\Interop\MetadataType.Interop.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Interop\MethodDelegator.Interop.cs">
+      <Link>TypeSystem\Interop\MethodDelegator.Interop.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Interop\MethodDesc.Interop.cs">
+      <Link>TypeSystem\Interop\MethodDesc.Interop.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Interop\MarshalAsDescriptor.cs">
+      <Link>TypeSystem\Interop\MarshalAsDescriptor.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Mangling\IPrefixMangledMethod.cs">
+      <Link>TypeSystem\Mangling\IPrefixMangledMethod.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Mangling\IPrefixMangledType.cs">
+      <Link>TypeSystem\Mangling\IPrefixMangledType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Mangling\IPrefixMangledSignature.cs">
+      <Link>TypeSystem\Mangling\IPrefixMangledSignature.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\System\Collections\Generic\ArrayBuilder.cs">
+      <Link>Utilities\ArrayBuilder.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Common\LocalVariableDefinition.cs">
+      <Link>TypeSystem\Common\LocalVariableDefinition.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\ArrayType.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\ArrayType.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\ByRefType.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\ByRefType.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\FieldDesc.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\FieldDesc.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\FunctionPointerType.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\FunctionPointerType.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\MethodDesc.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\MethodDesc.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\PointerType.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\PointerType.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\MethodForRuntimeDeterminedType.cs">
+      <Link>TypeSystem\RuntimeDetermined\MethodForRuntimeDeterminedType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\MethodForRuntimeDeterminedType.Sorting.cs">
+      <Link>TypeSystem\RuntimeDetermined\MethodForRuntimeDeterminedType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\RuntimeDeterminedCanonicalizationAlgorithm.cs">
+      <Link>TypeSystem\RuntimeDetermined\RuntimeDeterminedCanonicalizationAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\RuntimeDeterminedFieldLayoutAlgorithm.cs">
+      <Link>TypeSystem\RuntimeDetermined\RuntimeDeterminedFieldLayoutAlgorithm.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\DefType.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\DefType.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\GenericParameterDesc.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\GenericParameterDesc.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\ParameterizedType.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\ParameterizedType.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\RuntimeDeterminedType.cs">
+      <Link>TypeSystem\RuntimeDetermined\RuntimeDeterminedType.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\RuntimeDeterminedType.Sorting.cs">
+      <Link>TypeSystem\RuntimeDetermined\RuntimeDeterminedType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\RuntimeDeterminedTypeUtilities.cs">
+      <Link>TypeSystem\RuntimeDetermined\RuntimeDeterminedTypeUtilities.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\SignatureVariable.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\SignatureVariable.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\TypeDesc.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\TypeDesc.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\RuntimeDetermined\TypeSystemContext.RuntimeDetermined.cs">
+      <Link>TypeSystem\RuntimeDetermined\TypeSystemContext.RuntimeDetermined.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\System\FormattingHelpers.cs">
+      <Link>Common\System\FormattingHelpers.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\ArrayType.Sorting.cs">
+      <Link>TypeSystem\Sorting\ArrayType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\ByRefType.Sorting.cs">
+      <Link>TypeSystem\Sorting\ByRefType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\FunctionPointerType.Sorting.cs">
+      <Link>TypeSystem\Sorting\FunctionPointerType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\InstantiatedType.Sorting.cs">
+      <Link>TypeSystem\Sorting\InstantiatedType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\MethodSignature.Sorting.cs">
+      <Link>TypeSystem\Sorting\MethodSignature.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\PointerType.Sorting.cs">
+      <Link>TypeSystem\Sorting\PointerType.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\SignatureVariable.Sorting.cs">
+      <Link>TypeSystem\Sorting\SignatureVariable.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\TypeDesc.Sorting.cs">
+      <Link>TypeSystem\Sorting\TypeDesc.Sorting.cs</Link>
+    </Compile>
+    <Compile Include="..\Common\TypeSystem\Sorting\TypeSystemComparer.cs">
+      <Link>TypeSystem\Sorting\TypeSystemComparer.cs</Link>
+    </Compile>
+  </ItemGroup>
+</Project>
diff --git a/src/coreclr/src/tools/crossgen2/crossgen2.sln b/src/coreclr/src/tools/crossgen2/crossgen2.sln
new file mode 100644 (file)
index 0000000..c8f660b
--- /dev/null
@@ -0,0 +1,61 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29123.88
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "crossgen2", "crossgen2\crossgen2.csproj", "{9B928D3E-06AB-45E5-BF79-F374F0AE3B98}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler.DependencyAnalysisFramework", "ILCompiler.DependencyAnalysisFramework\ILCompiler.DependencyAnalysisFramework.csproj", "{FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler.ReadyToRun", "ILCompiler.ReadyToRun\ILCompiler.ReadyToRun.csproj", "{83A832DE-BF4A-44C4-B361-90F5F88B979B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler.TypeSystem.ReadyToRun", "ILCompiler.TypeSystem.ReadyToRun\ILCompiler.TypeSystem.ReadyToRun.csproj", "{751583CD-E880-49E1-B3E2-8B1990114CAC}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|x64 = Debug|x64
+               Debug|x86 = Debug|x86
+               Release|x64 = Release|x64
+               Release|x86 = Release|x86
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {9B928D3E-06AB-45E5-BF79-F374F0AE3B98}.Debug|x64.ActiveCfg = Debug|x64
+               {9B928D3E-06AB-45E5-BF79-F374F0AE3B98}.Debug|x64.Build.0 = Debug|x64
+               {9B928D3E-06AB-45E5-BF79-F374F0AE3B98}.Debug|x86.ActiveCfg = Debug|x86
+               {9B928D3E-06AB-45E5-BF79-F374F0AE3B98}.Debug|x86.Build.0 = Debug|x86
+               {9B928D3E-06AB-45E5-BF79-F374F0AE3B98}.Release|x64.ActiveCfg = Release|x64
+               {9B928D3E-06AB-45E5-BF79-F374F0AE3B98}.Release|x64.Build.0 = Release|x64
+               {9B928D3E-06AB-45E5-BF79-F374F0AE3B98}.Release|x86.ActiveCfg = Release|x86
+               {9B928D3E-06AB-45E5-BF79-F374F0AE3B98}.Release|x86.Build.0 = Release|x86
+               {FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}.Debug|x64.ActiveCfg = Debug|x64
+               {FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}.Debug|x64.Build.0 = Debug|x64
+               {FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}.Debug|x86.ActiveCfg = Debug|x86
+               {FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}.Debug|x86.Build.0 = Debug|x86
+               {FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}.Release|x64.ActiveCfg = Release|x64
+               {FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}.Release|x64.Build.0 = Release|x64
+               {FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}.Release|x86.ActiveCfg = Release|x86
+               {FB2D45F2-FA4C-42B2-8E53-3E1F30CF8046}.Release|x86.Build.0 = Release|x86
+               {83A832DE-BF4A-44C4-B361-90F5F88B979B}.Debug|x64.ActiveCfg = Debug|x64
+               {83A832DE-BF4A-44C4-B361-90F5F88B979B}.Debug|x64.Build.0 = Debug|x64
+               {83A832DE-BF4A-44C4-B361-90F5F88B979B}.Debug|x86.ActiveCfg = Debug|x86
+               {83A832DE-BF4A-44C4-B361-90F5F88B979B}.Debug|x86.Build.0 = Debug|x86
+               {83A832DE-BF4A-44C4-B361-90F5F88B979B}.Release|x64.ActiveCfg = Release|x64
+               {83A832DE-BF4A-44C4-B361-90F5F88B979B}.Release|x64.Build.0 = Release|x64
+               {83A832DE-BF4A-44C4-B361-90F5F88B979B}.Release|x86.ActiveCfg = Release|x86
+               {83A832DE-BF4A-44C4-B361-90F5F88B979B}.Release|x86.Build.0 = Release|x86
+               {751583CD-E880-49E1-B3E2-8B1990114CAC}.Debug|x64.ActiveCfg = Debug|x64
+               {751583CD-E880-49E1-B3E2-8B1990114CAC}.Debug|x64.Build.0 = Debug|x64
+               {751583CD-E880-49E1-B3E2-8B1990114CAC}.Debug|x86.ActiveCfg = Debug|x86
+               {751583CD-E880-49E1-B3E2-8B1990114CAC}.Debug|x86.Build.0 = Debug|x86
+               {751583CD-E880-49E1-B3E2-8B1990114CAC}.Release|x64.ActiveCfg = Release|x64
+               {751583CD-E880-49E1-B3E2-8B1990114CAC}.Release|x64.Build.0 = Release|x64
+               {751583CD-E880-49E1-B3E2-8B1990114CAC}.Release|x86.ActiveCfg = Release|x86
+               {751583CD-E880-49E1-B3E2-8B1990114CAC}.Release|x86.Build.0 = Release|x86
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+               SolutionGuid = {A484CF9D-B203-427F-9D15-A5BBC6013421}
+       EndGlobalSection
+EndGlobal
diff --git a/src/coreclr/src/tools/crossgen2/crossgen2/crossgen2.csproj b/src/coreclr/src/tools/crossgen2/crossgen2/crossgen2.csproj
new file mode 100644 (file)
index 0000000..2a1fe01
--- /dev/null
@@ -0,0 +1,31 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <Import Project="$([MSBuild]::GetPathOfFileAbove(dir.props))" />
+
+  <PropertyGroup>
+    <AssemblyName>crossgen2</AssemblyName>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp2.0</TargetFramework>
+    <NoWarn>8002,NU1701</NoWarn>
+    <Platforms>x64;x86</Platforms>
+    <OutputPath>$(BinDir)\crossgen2</OutputPath>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\ILCompiler.DependencyAnalysisFramework\ILCompiler.DependencyAnalysisFramework.csproj" />
+    <ProjectReference Include="..\ILCompiler.TypeSystem.ReadyToRun\ILCompiler.TypeSystem.ReadyToRun.csproj" />
+    <ProjectReference Include="..\ILCompiler.ReadyToRun\ILCompiler.ReadyToRun.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="..\Common\CommandLine\CommandLineException.cs" />
+    <Compile Include="..\Common\CommandLine\CommandLineHelpers.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <PackageReference Include="System.CommandLine">
+      <Version>0.1.0-e160119-1</Version>
+    </PackageReference>
+  </ItemGroup>
+</Project>
diff --git a/src/coreclr/src/tools/crossgen2/jitinterface/CMakeLists.txt b/src/coreclr/src/tools/crossgen2/jitinterface/CMakeLists.txt
new file mode 100644 (file)
index 0000000..371f08d
--- /dev/null
@@ -0,0 +1,15 @@
+project(jitinterface)
+
+set(NATIVE_SOURCES
+    jithost.cpp
+    jitinterface.cpp
+    jitwrapper.cpp
+    corinfoexception.cpp
+)
+
+add_library_clr(jitinterface
+    SHARED
+    ${NATIVE_SOURCES}
+)
+
+install_clr(jitinterface)