summaryrefslogtreecommitdiff
path: root/src/jit/DIRS.proj
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/DIRS.proj')
-rw-r--r--src/jit/DIRS.proj50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/jit/DIRS.proj b/src/jit/DIRS.proj
new file mode 100644
index 0000000000..6d1c06d3f0
--- /dev/null
+++ b/src/jit/DIRS.proj
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="dogfood">
+ <!--Import the settings-->
+ <Import Project="$(_NTDRIVE)$(_NTROOT)\ndp\clr\clr.props" />
+
+ <PropertyGroup>
+ <BuildInPhase1>true</BuildInPhase1>
+ <BuildInPhaseDefault>false</BuildInPhaseDefault>
+ <BuildCoreBinaries>true</BuildCoreBinaries>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'amd64'">
+ <BuildSysBinaries>false</BuildSysBinaries>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(BuildProjectName)' == 'CoreSys' or '$(BuildArchitecture)' != 'amd64'">
+ <BuildSysBinaries>true</BuildSysBinaries>
+ </PropertyGroup>
+
+ <ItemGroup Condition="'$(BuildExePhase)' == '1'">
+ <!-- x86 and ARM clrjit.dll are built in the JIT32 directory; we build FrankenJit here -->
+ <ProjectFile Condition="'$(BuildArchitecture)' != 'i386' and '$(BuildArchitecture)' != 'arm'" Include="dll\jit.nativeproj" />
+ </ItemGroup>
+
+ <!-- Only the main JIT gets built for CoreSys. The other jits (e.g., altjits) do not. -->
+ <ItemGroup Condition="'$(BuildExePhase)' == '1' and '$(BuildProjectName)' != 'CoreSys'">
+
+ <!-- Build the "FrankenJit" (RyuJIT front-end, legacy back-end) and "FrankenAltjit". These can't conflict with the names of the JIT32 directory outputs. -->
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386' or '$(BuildArchitecture)' == 'arm'" Include="frankenjit\frankenjit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'" Include="frankenaltjit\frankenaltjit.nativeproj" />
+
+ <!-- This might be useful, to help make sure JIT devs build all configurations of the JIT (including crossgen), but
+ it appears to cause problems with the build system, and it slows down normal JIT developer productivity by adding a seldom-useful build.
+ <ProjectFile Include="crossgen\jit_crossgen.nativeproj" />
+ -->
+
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'arm'" Include="protojit\protojit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'amd64'" Include="protojit\protojit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'amd64'" Include="ctp\ctpjit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'amd64'" Include="arm64altjit\arm64altjit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'" Include="protojit\protojit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'" Include="protononjit\protononjit.nativeproj" />
+
+ <!-- We could build skipjit for all architectures, but we only need it for x86 currently -->
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'" Include="skipjit\skipjit.nativeproj" />
+ </ItemGroup>
+
+ <!--Import the targets-->
+ <Import Project="$(_NTDRIVE)$(_NTROOT)\tools\Microsoft.DevDiv.Traversal.targets" />
+</Project>