summaryrefslogtreecommitdiff
path: root/src/jit/jit.settings.targets
blob: 9dbc22584341c4611354a7bab3f39a67692a63e7 (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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="dogfood">

    <PropertyGroup>
        <ClWarningLevel>4</ClWarningLevel>

        <UserIncludes>
            $(UserIncludes);
            ..;
            ..\jitstd\;
            $(Clrbase)\src\TraceLog;
        </UserIncludes>

        <!-- PCH baloney -->
        <EnableCxxPCHHeaders>true</EnableCxxPCHHeaders>
        <PCHCompile>..\jitpch.cpp</PCHCompile>
        <PCHHeader>jitpch.h</PCHHeader>

        <!-- JIT_BUILD disables certain PAL_TRY debugging features -->
        <ClDefines>$(ClDefines);JIT_BUILD=1</ClDefines>

        <ClDefines Condition="'$(DebugBuild)' == 'false'">$(ClDefines);FAST=1</ClDefines>
        <ClDefines Condition="'$(DebugBuild)' == 'true'">$(ClDefines);DEBUG=1</ClDefines>
    </PropertyGroup>

    <!-- For debugging purposes only, temporarily enable these in RET builds so GenTree debugging is easier. -->
    <!-- We need to link with /OPT:NOICF or our magic vtable debugging system for GenTree doesn't work. -->
    <PropertyGroup Condition="'$(DebugBuild)' == 'true'">
        <!-- This is already automatically defined in DEBUG builds.
        <ClDefines>$(ClDefines);DEBUGGABLE_GENTREE=1</ClDefines>
        -->
        <LinkEnableCOMDATFolding>false</LinkEnableCOMDATFolding>                <!-- /OPT:NOICF -->
        <ClAdditionalOptions>$(ClAdditionalOptions) /Ob0</ClAdditionalOptions>  <!-- no inlining -->
    </PropertyGroup>

    <!-- Leaf Project Items -->
    <ItemGroup>
        <CppCompile Include="..\alloc.cpp" />
        <CppCompile Include="..\earlyprop.cpp" />        
        <CppCompile Include="..\bitset.cpp" />
        <CppCompile Include="..\block.cpp" />
        <CppCompile Include="..\Compiler.cpp" />
        <CppCompile Include="..\DisAsm.cpp" />
        <CppCompile Include="..\eeInterface.cpp" />
        <CppCompile Include="..\ee_il_dll.cpp" />
        <CppCompile Include="..\jiteh.cpp" />
        <CppCompile Include="..\error.cpp" />
        <CppCompile Include="..\FlowGraph.cpp" />
        <CppCompile Include="..\GCInfo.cpp" />
        <CppCompile Include="..\GCDecode.cpp" />
        <CppCompile Include="..\GCEncode.cpp" />
        <CppCompile Include="..\GenTree.cpp" />
        <CppCompile Include="..\GSChecks.cpp" />
        <CppCompile Include="..\hashbv.cpp" />
        <CppCompile Include="..\Importer.cpp" />
        <CppCompile Include="..\Instr.cpp" />
        <CppCompile Include="..\JitTelemetry.cpp" />
        <CppCompile Include="..\LclVars.cpp" />
        <CppCompile Include="..\LIR.cpp" />
        <CppCompile Include="..\Liveness.cpp" />
        <CppCompile Include="..\Morph.cpp" />
        <CppCompile Include="..\Optimizer.cpp" />
        <CppCompile Include="..\OptCSE.cpp" />
        <CppCompile Include="..\rationalize.cpp" />
        <CppCompile Include="..\RegAlloc.cpp" />
        <CppCompile Include="..\RegSet.cpp" />
        <CppCompile Include="..\register_arg_convention.cpp" />
        <CppCompile Include="..\emit.cpp" />
        <CppCompile Include="..\ScopeInfo.cpp" />
        <CppCompile Include="..\SharedFloat.cpp" />
        <CppCompile Include="..\SM.cpp" />
        <CppCompile Include="..\SMData.cpp" />
        <CppCompile Include="..\SMWeights.cpp" />
        <CppCompile Include="..\typeInfo.cpp" />
        <CppCompile Include="..\unwind.cpp" />
        <CppCompile Include="..\Utils.cpp" />
        <CppCompile Include="..\SsaBuilder.cpp" />
        <CppCompile Include="..\SsaRenameState.cpp" />
        <CppCompile Include="..\ValueNum.cpp" />
        <CppCompile Include="..\CopyProp.cpp" />
        <CppCompile Include="..\CodeGenCommon.cpp" />
        <CppCompile Include="..\AssertionProp.cpp" />
        <CppCompile Include="..\RangeCheck.cpp" />
        <CppCompile Include="..\LoopCloning.cpp" />
        <CppCompile Include="..\inline.cpp" />
        <CppCompile Include="..\inlinepolicy.cpp" />
        <CppCompile Include="..\jitconfig.cpp" />
        <CppCompile Include="..\hostallocator.cpp" />
        <CppCompile Include="..\objectalloc.cpp" />
        <CppCompile Inlcude="..\sideeffects.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='True'" Include="..\CodeGenLegacy.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\Lower.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\LSRA.cpp" />
    </ItemGroup>
    <ItemGroup Condition="'$(TargetArch)'=='i386'">
        <CppCompile Include="..\emitXArch.cpp" />
        <CppCompile Include="..\TargetX86.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='True'" Include="..\stackfp.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\DecomposeLongs.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\LowerXArch.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\CodeGenXArch.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\SIMD.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\SIMDCodeGenXArch.cpp" />
    </ItemGroup>
    <ItemGroup Condition="'$(TargetArch)'=='amd64'">
        <!-- AMD64 target is always RyuJIT backend -->
        <CppCompile Include="..\emitXArch.cpp" />
        <CppCompile Include="..\TargetAmd64.cpp" />
        <CppCompile Include="..\LowerXArch.cpp" />
        <CppCompile Include="..\CodeGenXArch.cpp" />
        <CppCompile Include="..\SIMD.cpp" />
        <CppCompile Include="..\SIMDCodeGenXArch.cpp" />
        <CppCompile Include="..\unwindAmd64.cpp" />
    </ItemGroup>
    <ItemGroup Condition="'$(TargetArch)'=='arm'">
        <CppCompile Include="..\emitarm.cpp" />
        <CppCompile Include="..\TargetArm.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='True'" Include="..\registerfp.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\DecomposeLongs.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\LowerArm.cpp" />
        <CppCompile Condition="'$(ClDefines.Contains(`LEGACY_BACKEND`))'=='False'"  Include="..\CodeGenArm.cpp" />
        <CppCompile Include="..\unwindArm.cpp" />
    </ItemGroup>
    <ItemGroup Condition="'$(TargetArch)'=='arm64'">
        <!-- ARM64 target is always RyuJIT backend -->
        <CppCompile Include="..\emitarm64.cpp" />
        <CppCompile Include="..\TargetArm64.cpp" />
        <CppCompile Include="..\LowerArm64.cpp" />
        <CppCompile Include="..\CodeGenArm64.cpp" />
        <CppCompile Include="..\unwindArm.cpp" />
        <CppCompile Include="..\unwindArm64.cpp" />
    </ItemGroup>

    <!-- Import the targets - this actually contains the full build rules -->
    <Import Project="$(_NTDRIVE)$(_NTROOT)\ndp\clr\clr.targets" />

</Project>