1 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="dogfood">
4 <ClWarningLevel>4</ClWarningLevel>
10 $(Clrbase)\src\TraceLog;
14 <EnableCxxPCHHeaders>true</EnableCxxPCHHeaders>
15 <PCHCompile>..\jitpch.cpp</PCHCompile>
16 <PCHHeader>jitpch.h</PCHHeader>
18 <!-- JIT_BUILD disables certain PAL_TRY debugging features -->
19 <ClDefines>$(ClDefines);JIT_BUILD=1</ClDefines>
21 <ClDefines Condition="'$(DebugBuild)' == 'false'">$(ClDefines);FAST=1</ClDefines>
22 <ClDefines Condition="'$(DebugBuild)' == 'true'">$(ClDefines);DEBUG=1</ClDefines>
25 <!-- For debugging purposes only, temporarily enable these in RET builds so GenTree debugging is easier. -->
26 <!-- We need to link with /OPT:NOICF or our magic vtable debugging system for GenTree doesn't work. -->
27 <PropertyGroup Condition="'$(DebugBuild)' == 'true'">
28 <!-- This is already automatically defined in DEBUG builds.
29 <ClDefines>$(ClDefines);DEBUGGABLE_GENTREE=1</ClDefines>
31 <LinkEnableCOMDATFolding>false</LinkEnableCOMDATFolding> <!-- /OPT:NOICF -->
32 <ClAdditionalOptions>$(ClAdditionalOptions) /Ob0</ClAdditionalOptions> <!-- no inlining -->
35 <!-- Leaf Project Items -->
37 <CppCompile Include="..\alloc.cpp" />
38 <CppCompile Include="..\earlyprop.cpp" />
39 <CppCompile Include="..\bitset.cpp" />
40 <CppCompile Include="..\block.cpp" />
41 <CppCompile Include="..\Compiler.cpp" />
42 <CppCompile Include="..\DisAsm.cpp" />
43 <CppCompile Include="..\eeInterface.cpp" />
44 <CppCompile Include="..\ee_il_dll.cpp" />
45 <CppCompile Include="..\jiteh.cpp" />
46 <CppCompile Include="..\error.cpp" />
47 <CppCompile Include="..\FlowGraph.cpp" />
48 <CppCompile Include="..\GCInfo.cpp" />
49 <CppCompile Include="..\GCDecode.cpp" />
50 <CppCompile Include="..\GCEncode.cpp" />
51 <CppCompile Include="..\GenTree.cpp" />
52 <CppCompile Include="..\GSChecks.cpp" />
53 <CppCompile Include="..\hashbv.cpp" />
54 <CppCompile Include="..\Importer.cpp" />
55 <CppCompile Include="..\Instr.cpp" />
56 <CppCompile Include="..\JitTelemetry.cpp" />
57 <CppCompile Include="..\LclVars.cpp" />
58 <CppCompile Include="..\LIR.cpp" />
59 <CppCompile Include="..\Liveness.cpp" />
60 <CppCompile Include="..\Morph.cpp" />
61 <CppCompile Include="..\Optimizer.cpp" />
62 <CppCompile Include="..\OptCSE.cpp" />
63 <CppCompile Include="..\rationalize.cpp" />
64 <CppCompile Include="..\RegAlloc.cpp" />
65 <CppCompile Include="..\RegSet.cpp" />
66 <CppCompile Include="..\register_arg_convention.cpp" />
67 <CppCompile Include="..\emit.cpp" />
68 <CppCompile Include="..\ScopeInfo.cpp" />
69 <CppCompile Include="..\SharedFloat.cpp" />
70 <CppCompile Include="..\SM.cpp" />
71 <CppCompile Include="..\SMData.cpp" />
72 <CppCompile Include="..\SMWeights.cpp" />
73 <CppCompile Include="..\typeInfo.cpp" />
74 <CppCompile Include="..\unwind.cpp" />
75 <CppCompile Include="..\Utils.cpp" />
76 <CppCompile Include="..\SsaBuilder.cpp" />
77 <CppCompile Include="..\SsaRenameState.cpp" />
78 <CppCompile Include="..\ValueNum.cpp" />
79 <CppCompile Include="..\CopyProp.cpp" />
80 <CppCompile Include="..\CodeGenCommon.cpp" />
81 <CppCompile Include="..\AssertionProp.cpp" />
82 <CppCompile Include="..\RangeCheck.cpp" />
83 <CppCompile Include="..\LoopCloning.cpp" />
84 <CppCompile Include="..\inline.cpp" />
85 <CppCompile Include="..\inlinepolicy.cpp" />
86 <CppCompile Include="..\jitconfig.cpp" />
87 <CppCompile Include="..\hostallocator.cpp" />
88 <CppCompile Include="..\objectalloc.cpp" />
89 <CppCompile Include="..\sideeffects.cpp" />
90 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='True'" Include="..\CodeGenLegacy.cpp" />
91 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\Lower.cpp" />
92 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\LSRA.cpp" />
93 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\codegenlinear.cpp" />
95 <ItemGroup Condition="'$(TargetArch)'=='i386'">
96 <CppCompile Include="..\emitXArch.cpp" />
97 <CppCompile Include="..\TargetX86.cpp" />
98 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='True'" Include="..\stackfp.cpp" />
99 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\DecomposeLongs.cpp" />
100 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\LowerXArch.cpp" />
101 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\CodeGenXArch.cpp" />
102 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\SIMD.cpp" />
103 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\SIMDCodeGenXArch.cpp" />
105 <ItemGroup Condition="'$(TargetArch)'=='amd64'">
106 <!-- AMD64 target is always RyuJIT backend -->
107 <CppCompile Include="..\emitXArch.cpp" />
108 <CppCompile Include="..\TargetAmd64.cpp" />
109 <CppCompile Include="..\LowerXArch.cpp" />
110 <CppCompile Include="..\CodeGenXArch.cpp" />
111 <CppCompile Include="..\SIMD.cpp" />
112 <CppCompile Include="..\SIMDCodeGenXArch.cpp" />
113 <CppCompile Include="..\unwindAmd64.cpp" />
115 <ItemGroup Condition="'$(TargetArch)'=='arm'">
116 <CppCompile Include="..\emitarm.cpp" />
117 <CppCompile Include="..\TargetArm.cpp" />
118 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='True'" Include="..\registerfp.cpp" />
119 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\DecomposeLongs.cpp" />
120 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\LowerArm.cpp" />
121 <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'" Include="..\CodeGenArm.cpp" />
122 <CppCompile Include="..\unwindArm.cpp" />
124 <ItemGroup Condition="'$(TargetArch)'=='arm64'">
125 <!-- ARM64 target is always RyuJIT backend -->
126 <CppCompile Include="..\emitarm64.cpp" />
127 <CppCompile Include="..\TargetArm64.cpp" />
128 <CppCompile Include="..\LowerArm64.cpp" />
129 <CppCompile Include="..\CodeGenArm64.cpp" />
130 <CppCompile Include="..\unwindArm.cpp" />
131 <CppCompile Include="..\unwindArm64.cpp" />
134 <!-- Import the targets - this actually contains the full build rules -->
135 <Import Project="$(_NTDRIVE)$(_NTROOT)\ndp\clr\clr.targets" />