summaryrefslogtreecommitdiff
path: root/clr.coreclr.props
blob: 059fb3a5976ff4bcdfdda804fa10e9bb587f5bf8 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="'$(ClrProduct)'=='core_clr'">
    <BuildTypeRet Condition="'$(_BuildType)'=='ret'">true</BuildTypeRet>
    <DebuggingSupported>true</DebuggingSupported>
    <DebuggingSupportedBuild>true</DebuggingSupportedBuild>
    <EnCSupported Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'amd64')">true</EnCSupported>
    <EnableDownlevelForNls Condition="'$(CrossTargetArchitecture)' != ''">true</EnableDownlevelForNls>
    <FeatureCominteropApartmentSupport>true</FeatureCominteropApartmentSupport>
    <FeatureDbiDebugging>true</FeatureDbiDebugging>
    <FeatureDbiOopDebugging_HostLocal>false</FeatureDbiOopDebugging_HostLocal>
    <FeatureDbiOopDebugging_HostWindowsx86 Condition="'$(TargetArch)' == 'i386' or '$(TargetArch)' == 'arm'">true</FeatureDbiOopDebugging_HostWindowsx86>
    <FeatureDbiOopDebugging_HostWindowsamd64 Condition="'$(TargetArch)' == 'amd64' or '$(TargetArch)' == 'arm64'">true</FeatureDbiOopDebugging_HostWindowsamd64>
    <FeatureDbiOopDebugging_HostOneCorex86 Condition="'$(TargetArch)' == 'i386' or '$(TargetArch)' == 'arm'">true</FeatureDbiOopDebugging_HostOneCorex86>
    <FeatureDbiOopDebugging_HostOneCoreamd64 Condition="'$(TargetArch)' == 'amd64'">true</FeatureDbiOopDebugging_HostOneCoreamd64>
    <FeatureEventTrace>true</FeatureEventTrace>
    <FeatureTieredCompilation>true</FeatureTieredCompilation>
    <FeatureFrameworkInternal>true</FeatureFrameworkInternal>
    <FeatureHijack>true</FeatureHijack>
    <FeatureInteropDebugging Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'amd64')">true</FeatureInteropDebugging>
    <FeatureIsymReader>true</FeatureIsymReader>
    <!-- This is here for testing purposes only, and only on checked builds for x86/ARM -->
    <FeatureLazyCOWPages Condition="'$(_BuildType)'!='ret' and (('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'arm'))">true</FeatureLazyCOWPages>
    <FeatureMergeCultureSupportAndEngine>true</FeatureMergeCultureSupportAndEngine>
    <FeatureMergeJitAndEngine>true</FeatureMergeJitAndEngine>
    <FeaturePrejit>true</FeaturePrejit>
    <FeatureStandaloneSn>true</FeatureStandaloneSn>
    <FeatureStrongnameDelaySigningAllowed>true</FeatureStrongnameDelaySigningAllowed>
    <FeatureStrongnameTestkeyAllowed>true</FeatureStrongnameTestkeyAllowed>
    <FeatureSyntheticCultures>true</FeatureSyntheticCultures>
    <FeatureVersioningLog>true</FeatureVersioningLog>
    <FeatureWin32Registry>true</FeatureWin32Registry>
    <FeatureXPlatDacDebugging_HostWindowsx86 Condition="'$(TargetArch)' == 'i386' or '$(TargetArch)' == 'arm'">true</FeatureXPlatDacDebugging_HostWindowsx86>
    <FeatureXPlatDacDebugging_HostWindowsAMD64 Condition="'$(TargetArch)' == 'amd64' or '$(TargetArch)' == 'arm64'">true</FeatureXPlatDacDebugging_HostWindowsAMD64>
    <FeatureXPlatDacDebugging_HostOneCorex86 Condition="'$(TargetArch)' == 'i386' or '$(TargetArch)' == 'arm'">true</FeatureXPlatDacDebugging_HostOneCorex86>
    <FeatureXPlatDacDebugging_HostOneCoreAMD64 Condition="'$(TargetArch)' == 'amd64'">true</FeatureXPlatDacDebugging_HostOneCoreAMD64>
    <ProfilingSupportedBuild>true</ProfilingSupportedBuild>
    <FeatureUseAsmGCWriteBarriers>true</FeatureUseAsmGCWriteBarriers>
    <!-- Setting this to "false" works only for workstation GC, not server. -->
    <FeatureSymDiff>true</FeatureSymDiff>
    <FeatureClassicCominterop>true</FeatureClassicCominterop>
    <FeatureCominterop>true</FeatureCominterop>
    <FeatureICastable>true</FeatureICastable>
    <FeatureCominteropUnmanagedActivation>true</FeatureCominteropUnmanagedActivation>
    <FeatureCominteropWinRTManagedActivation>true</FeatureCominteropWinRTManagedActivation>
    <FeatureLazyCOWPages Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'arm')">true</FeatureLazyCOWPages>
    <FeatureLegacyNetCFDbgHostControl>true</FeatureLegacyNetCFDbgHostControl>
    <FeatureRandomizedStringHashing>true</FeatureRandomizedStringHashing>
    <!-- The rejit feature is available only on supported architectures (x86 & x64) -->
    <FeatureReJIT Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'amd64')">true</FeatureReJIT>
    <FeatureManagedEtw>false</FeatureManagedEtw>
    <FeatureManagedEtwChannels>true</FeatureManagedEtwChannels>
    <BinderDebugLog Condition="'$(_BuildType)'=='dbg'">true</BinderDebugLog>
    <FeatureAppX>true</FeatureAppX>
    <FeatureWinMDResilient>true</FeatureWinMDResilient>
    <!-- 
        FeatureImplicitTls has been verified to be functionally correct on x86 & amd64.
        However there is still work to make it on par in terms of performance. So currently only
        enabling for arm64 
     -->
    <FeatureImplicitTls Condition="'$(TargetArch)' == 'arm64'">true</FeatureImplicitTls>
    <FeatureSvrGc Condition="'$(TargetArch)' != 'arm'">true</FeatureSvrGc>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetsUnix)' == 'true'">
    <FeaturePal>true</FeaturePal>
    <FeatureXplatEventSource>true</FeatureXplatEventSource>

    <FeatureArrayStubAsIL>true</FeatureArrayStubAsIL>
    <FeatureStubsAsIL>true</FeatureStubsAsIL>

    <!-- Windows specific features -->
    <FeatureWin32Registry>false</FeatureWin32Registry>
    <FeatureAppX>false</FeatureAppX>
    <FeatureCominteropApartmentSupport>false</FeatureCominteropApartmentSupport>
    <FeatureClassicCominterop>false</FeatureClassicCominterop>
    <FeatureCominterop>false</FeatureCominterop>
    <FeatureCominteropUnmanagedActivation>false</FeatureCominteropUnmanagedActivation>
    <FeatureCominteropWinRTManagedActivation>false</FeatureCominteropWinRTManagedActivation>

    <FeatureCoreFxGlobalization>true</FeatureCoreFxGlobalization>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetsWindows)' == 'true'">
    <FeatureArrayStubAsIL Condition="('$(TargetArch)' == 'arm') or ('$(TargetArch)' == 'amd64') or ('$(TargetArch)' == 'arm64')">true</FeatureArrayStubAsIL>
    <FeatureManagedEtw>true</FeatureManagedEtw>
    <FeatureStubsAsIL Condition="'$(TargetArch)' == 'arm64'">true</FeatureStubsAsIL>
    <FeatureUseLcid>true</FeatureUseLcid>
    <FeatureImplicitLongPath>true</FeatureImplicitLongPath>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetsLinux)' == 'true'">
    <FeatureManagedEtw>true</FeatureManagedEtw>
    <FeaturePerfTracing>true</FeaturePerfTracing>
  </PropertyGroup>
</Project>