summaryrefslogtreecommitdiff
path: root/src/jit/DIRS.proj
blob: 539743cc6e708081fe18a76986704a5303e527ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?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="arm64altjit\arm64altjit.nativeproj" />
    <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'"  Include="protojit\protojit.nativeproj" />
    <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'"  Include="protononjit\protononjit.nativeproj" />
  </ItemGroup>

  <!--Import the targets-->
  <Import Project="$(_NTDRIVE)$(_NTROOT)\tools\Microsoft.DevDiv.Traversal.targets" />
</Project>