Remove always defined FEATURE_RANDOMIZE_STRING_HASHING define (#13491)
[platform/upstream/coreclr.git] / clr.coreclr.props
1 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2   <PropertyGroup Condition="'$(ClrProduct)'=='core_clr'">
3     <BuildTypeRet Condition="'$(_BuildType)'=='ret'">true</BuildTypeRet>
4     <DebuggingSupported>true</DebuggingSupported>
5     <DebuggingSupportedBuild>true</DebuggingSupportedBuild>
6     <EnCSupported Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'amd64')">true</EnCSupported>
7     <EnableDownlevelForNls Condition="'$(CrossTargetArchitecture)' != ''">true</EnableDownlevelForNls>
8     <FeatureCodeVersioning>true</FeatureCodeVersioning>
9     <FeatureCominteropApartmentSupport>true</FeatureCominteropApartmentSupport>
10     <FeatureDbiDebugging>true</FeatureDbiDebugging>
11     <FeatureDbiOopDebugging_HostLocal>false</FeatureDbiOopDebugging_HostLocal>
12     <FeatureDbiOopDebugging_HostWindowsx86 Condition="'$(TargetArch)' == 'i386' or '$(TargetArch)' == 'arm'">true</FeatureDbiOopDebugging_HostWindowsx86>
13     <FeatureDbiOopDebugging_HostWindowsamd64 Condition="'$(TargetArch)' == 'amd64' or '$(TargetArch)' == 'arm64'">true</FeatureDbiOopDebugging_HostWindowsamd64>
14     <FeatureDbiOopDebugging_HostOneCorex86 Condition="'$(TargetArch)' == 'i386' or '$(TargetArch)' == 'arm'">true</FeatureDbiOopDebugging_HostOneCorex86>
15     <FeatureDbiOopDebugging_HostOneCoreamd64 Condition="'$(TargetArch)' == 'amd64'">true</FeatureDbiOopDebugging_HostOneCoreamd64>
16     <FeatureEventTrace>true</FeatureEventTrace>
17     <FeatureTieredCompilation>true</FeatureTieredCompilation>
18     <FeatureFrameworkInternal>true</FeatureFrameworkInternal>
19     <FeatureHijack>true</FeatureHijack>
20     <FeatureInteropDebugging Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'amd64')">true</FeatureInteropDebugging>
21     <FeatureIsymReader>true</FeatureIsymReader>
22     <!-- This is here for testing purposes only, and only on checked builds for x86/ARM -->
23     <FeatureLazyCOWPages Condition="'$(_BuildType)'!='ret' and (('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'arm'))">true</FeatureLazyCOWPages>
24     <FeatureMergeCultureSupportAndEngine>true</FeatureMergeCultureSupportAndEngine>
25     <FeatureMergeJitAndEngine>true</FeatureMergeJitAndEngine>
26     <FeaturePrejit>true</FeaturePrejit>
27     <FeatureStandaloneSn>true</FeatureStandaloneSn>
28     <FeatureStrongnameDelaySigningAllowed>true</FeatureStrongnameDelaySigningAllowed>
29     <FeatureStrongnameTestkeyAllowed>true</FeatureStrongnameTestkeyAllowed>
30     <FeatureSyntheticCultures>true</FeatureSyntheticCultures>
31     <FeatureVersioningLog>true</FeatureVersioningLog>
32     <FeatureWin32Registry>true</FeatureWin32Registry>
33     <FeatureXPlatDacDebugging_HostWindowsx86 Condition="'$(TargetArch)' == 'i386' or '$(TargetArch)' == 'arm'">true</FeatureXPlatDacDebugging_HostWindowsx86>
34     <FeatureXPlatDacDebugging_HostWindowsAMD64 Condition="'$(TargetArch)' == 'amd64' or '$(TargetArch)' == 'arm64'">true</FeatureXPlatDacDebugging_HostWindowsAMD64>
35     <FeatureXPlatDacDebugging_HostOneCorex86 Condition="'$(TargetArch)' == 'i386' or '$(TargetArch)' == 'arm'">true</FeatureXPlatDacDebugging_HostOneCorex86>
36     <FeatureXPlatDacDebugging_HostOneCoreAMD64 Condition="'$(TargetArch)' == 'amd64'">true</FeatureXPlatDacDebugging_HostOneCoreAMD64>
37     <ProfilingSupportedBuild>true</ProfilingSupportedBuild>
38     <FeatureUseAsmGCWriteBarriers>true</FeatureUseAsmGCWriteBarriers>
39     <!-- Setting this to "false" works only for workstation GC, not server. -->
40     <FeatureSymDiff>true</FeatureSymDiff>
41     <FeatureClassicCominterop>true</FeatureClassicCominterop>
42     <FeatureCominterop>true</FeatureCominterop>
43     <FeatureICastable>true</FeatureICastable>
44     <FeatureCominteropUnmanagedActivation>true</FeatureCominteropUnmanagedActivation>
45     <FeatureCominteropWinRTManagedActivation>true</FeatureCominteropWinRTManagedActivation>
46     <FeatureLazyCOWPages Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'arm')">true</FeatureLazyCOWPages>
47     <FeatureLegacyNetCFDbgHostControl>true</FeatureLegacyNetCFDbgHostControl>
48     <!-- The rejit feature is available only on supported architectures (x86 & x64) -->
49     <FeatureReJIT Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'amd64')">true</FeatureReJIT>
50     <FeatureManagedEtw>false</FeatureManagedEtw>
51     <FeatureManagedEtwChannels>true</FeatureManagedEtwChannels>
52     <BinderDebugLog Condition="'$(_BuildType)'=='dbg'">true</BinderDebugLog>
53     <FeatureAppX>true</FeatureAppX>
54     <FeatureWinMDResilient>true</FeatureWinMDResilient>
55     <!-- 
56         FeatureImplicitTls has been verified to be functionally correct on x86 & amd64.
57         However there is still work to make it on par in terms of performance. So currently only
58         enabling for arm64 
59      -->
60     <FeatureImplicitTls Condition="'$(TargetArch)' == 'arm64'">true</FeatureImplicitTls>
61     <FeatureSvrGc Condition="'$(TargetArch)' != 'arm'">true</FeatureSvrGc>
62   </PropertyGroup>
63
64   <PropertyGroup Condition="'$(TargetsUnix)' == 'true'">
65     <FeaturePal>true</FeaturePal>
66     <FeatureXplatEventSource>true</FeatureXplatEventSource>
67
68     <FeatureArrayStubAsIL>true</FeatureArrayStubAsIL>
69     <FeatureMulticastStubAsIL>true</FeatureMulticastStubAsIL>
70     <FeatureStubsAsIL>true</FeatureStubsAsIL>
71
72     <!-- Windows specific features -->
73     <FeatureWin32Registry>false</FeatureWin32Registry>
74     <FeatureAppX>false</FeatureAppX>
75     <FeatureCominteropApartmentSupport>false</FeatureCominteropApartmentSupport>
76     <FeatureClassicCominterop>false</FeatureClassicCominterop>
77     <FeatureCominterop>false</FeatureCominterop>
78     <FeatureCominteropUnmanagedActivation>false</FeatureCominteropUnmanagedActivation>
79     <FeatureCominteropWinRTManagedActivation>false</FeatureCominteropWinRTManagedActivation>
80
81     <FeatureCoreFxGlobalization>true</FeatureCoreFxGlobalization>
82   </PropertyGroup>
83
84   <PropertyGroup Condition="'$(TargetsWindows)' == 'true'">
85     <FeatureArrayStubAsIL Condition="'$(TargetArch)' != 'i386'">true</FeatureArrayStubAsIL>
86     <FeatureMulticastStubAsIL Condition="'$(TargetArch)' != 'i386'">true</FeatureMulticastStubAsIL>
87     <FeatureManagedEtw>true</FeatureManagedEtw>
88     <FeatureStubsAsIL Condition="'$(TargetArch)' == 'arm64'">true</FeatureStubsAsIL>
89     <FeatureUseLcid>true</FeatureUseLcid>
90     <FeatureImplicitLongPath>true</FeatureImplicitLongPath>
91   </PropertyGroup>
92
93   <PropertyGroup Condition="'$(TargetsLinux)' == 'true'">
94     <FeatureManagedEtw>true</FeatureManagedEtw>
95     <FeaturePerfTracing>true</FeaturePerfTracing>
96   </PropertyGroup>
97 </Project>