summaryrefslogtreecommitdiff
path: root/src/debug/XPlatCommon.props
blob: e7913f8380eb3e8315552759e42dbf6dfe742b6e (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
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <!--Usage: optionally import a clr\xplat\SetHostXXX.props or SetTargetXXX.props first, then this props file -->


  <Import Project="$(_NTDRIVE)$(_NTROOT)\ndp\clr\xplat\utility.props"/>
  
  <PropertyGroup>

    <!-- Is DBI based OOP debugging supported -->
    <FeatureDbiOopDebugging Condition="'$(XPlatHostBuildDir)'=='HostWinx86'">$(FeatureDbiOopDebugging_HostWindowsx86)</FeatureDbiOopDebugging>
    <FeatureDbiOopDebugging Condition="'$(XPlatHostBuildDir)'=='HostOneCorex86'">$(FeatureDbiOopDebugging_HostOneCorex86)</FeatureDbiOopDebugging>
    <FeatureDbiOopDebugging Condition="'$(XPlatHostBuildDir)'=='HostWinAmd64'">$(FeatureDbiOopDebugging_HostWindowsamd64)</FeatureDbiOopDebugging>
    <FeatureDbiOopDebugging Condition="'$(XPlatHostBuildDir)'=='HostOneCoreAmd64'">$(FeatureDbiOopDebugging_HostOneCoreamd64)</FeatureDbiOopDebugging>
    <FeatureDbiOopDebugging Condition="'$(XPlatHostBuildDir)'=='HostLocal'">$(FeatureDbiOopDebugging_HostLocal)</FeatureDbiOopDebugging>
    
  </PropertyGroup>

  <!-- Additional properties used when DBI based OOP debugging is used -->
  <PropertyGroup Condition="'$(FeatureDbiOopDebugging)'=='true'">

    <!-- These parameters set up the naming convention for CLRDEBUGINFO resources that are added to clr.dll, these resources have PE information for specific builds
         of DAC and DBI. The naming scheme started with CLRDEBUGINFO only, but with the advent of x-platform debugging had to be expanded. It is now the general form
         CLRDEBUGINFO$(DebugInfoResourceHostOS)$(DebugInfoResourceHostArch). To keep back-compat if host==target and target is windows that maps to an empty suffix. These values must be
         in all capital letters because of weird restrictions on win32 resource names -->
    <DebugInfoResourceHostOS>UNKNOWN</DebugInfoResourceHostOS>
    <DebugInfoResourceHostOS Condition="'$(HostMachineOS)'=='windows'">WINDOWS</DebugInfoResourceHostOS>
    <DebugInfoResourceHostOS Condition="'$(HostMachineOS)'=='OneCore'">CORESYS</DebugInfoResourceHostOS>

    <DebugInfoResourceHostArch>UNKNOWN</DebugInfoResourceHostArch>
    <DebugInfoResourceHostArch Condition="'$(HostMachineArch)'=='x86'">X86</DebugInfoResourceHostArch>
    <DebugInfoResourceHostArch Condition="'$(HostMachineArch)'=='arm'">ARM</DebugInfoResourceHostArch>
    <DebugInfoResourceHostArch Condition="'$(HostMachineArch)'=='amd64'">AMD64</DebugInfoResourceHostArch>

    <DebugInfoResourceSuffixValid Condition="'$(DebugInfoResourceHostArch)'!='UNKNOWN' and '$(DebugInfoResourceHostOS)'!='UNKNOWN'">true</DebugInfoResourceSuffixValid>
    <DebugInfoResourceSuffix Condition="  '$(TargetMachineOS)'=='windows' and '$(XPlatHostMatchesEnvironment)'=='true' "></DebugInfoResourceSuffix>
    <DebugInfoResourceSuffix Condition="!('$(TargetMachineOS)'=='windows' and '$(XPlatHostMatchesEnvironment)'=='true')">$(DebugInfoResourceHostOS)$(DebugInfoResourceHostArch)</DebugInfoResourceSuffix>

  </PropertyGroup>
  
</Project>