- Remove #ifdef _WIN64 hack in favor of __MINGW_GNUC_PREREQ for pragma macros.
[reactos.git] / reactos / ReactOS-amd64.rbuild
1 <?xml version="1.0"?>
2 <!DOCTYPE project SYSTEM "tools/rbuild/project.dtd">
3 <project name="ReactOS" makefile="makefile-amd64.auto" xmlns:xi="http://www.w3.org/2001/XInclude">
4 <xi:include href="config-amd64.rbuild">
5 <xi:fallback>
6 <xi:include href="config-amd64.template.rbuild" />
7 </xi:fallback>
8 </xi:include>
9
10 <define name="_M_AMD64" />
11 <define name="_AMD64_" />
12 <define name="_M_AXP64" />
13 <define name="__x86_64__" />
14 <define name="_X86AMD64_" />
15 <define name="_WIN64" />
16 <define name="TARGET_amd64" host="true" />
17
18 <property name="PLATFORM" value="PC"/>
19 <property name="usewrc" value="false"/>
20 <property name="WINEBUILD_FLAGS" value="--kill-at"/>
21 <property name="NTOSKRNL_SHARED" value="-shared"/>
22 <linkerflag>-enable-stdcall-fixup</linkerflag>
23 <compilerflag>-U_X86_</compilerflag>
24
25 <if property="OPTIMIZE" value="1">
26 <compilerflag>-Os</compilerflag>
27 <compilerflag>-ftracer</compilerflag>
28 <compilerflag>-momit-leaf-frame-pointer</compilerflag>
29 </if>
30 <if property="OPTIMIZE" value="2">
31 <compilerflag>-Os</compilerflag>
32 </if>
33 <if property="OPTIMIZE" value="3">
34 <compilerflag>-O1</compilerflag>
35 </if>
36 <if property="OPTIMIZE" value="4">
37 <compilerflag>-O2</compilerflag>
38 </if>
39 <if property="OPTIMIZE" value="5">
40 <compilerflag>-O3</compilerflag>
41 </if>
42
43 <compilerflag>-mpreferred-stack-boundary=4</compilerflag>
44 <compilerflag>-fno-strict-aliasing</compilerflag>
45 <compilerflag>-Wno-strict-aliasing</compilerflag>
46 <compilerflag>-Wpointer-arith</compilerflag>
47 <compilerflag>-Wno-uninitialized</compilerflag>
48 <linkerflag>-enable-stdcall-fixup</linkerflag>
49 <linkerflag>-static</linkerflag>
50
51 <!-- Here starts <xi:include href="ReactOS-generic.rbuild" /> -->
52
53 <xi:include href="baseaddress.rbuild" />
54
55 <define name="__REACTOS__" />
56 <if property="DBG" value="1">
57 <define name="DBG">1</define>
58 <define name="_SEH_ENABLE_TRACE" />
59 <property name="DBG_OR_KDBG" value="true" />
60 </if>
61 <if property="KDBG" value="1">
62 <define name="KDBG">1</define>
63 <property name="DBG_OR_KDBG" value="true" />
64 </if>
65
66 <!-- The version target valid values are: Nt4 , NT5 , NT51 -->
67 <property name="VERSION_TARGET" value="NT52" />
68
69 <if property="VERSION_TARGET" value="NT4">
70 <define name="WINVER" overridable="true">0x400</define>
71 <define name="_WIN32_IE">0x600</define>
72 <define name="_WIN32_WINNT" overridable="true">0x400</define>
73 <define name="_WIN32_WINDOWS">0x400</define>
74 <define name="_SETUPAPI_VER">0x400</define>
75 </if>
76
77 <if property="VERSION_TARGET" value="NT5">
78 <define name="WINVER" overridable="true">0x500</define>
79 <define name="_WIN32_IE">0x600</define>
80 <define name="_WIN32_WINNT" overridable="true">0x500</define>
81 <define name="_WIN32_WINDOWS">0x500</define>
82 <define name="_SETUPAPI_VER">0x500</define>
83 </if>
84
85 <if property="VERSION_TARGET" value="NT51">
86 <define name="WINVER" overridable="true">0x501</define>
87 <define name="_WIN32_IE">0x600</define>
88 <define name="_WIN32_WINNT" overridable="true">0x501</define>
89 <define name="_WIN32_WINDOWS">0x501</define>
90 <define name="_SETUPAPI_VER">0x501</define>
91 </if>
92
93 <if property="VERSION_TARGET" value="NT52">
94 <define name="WINVER" overridable="true">0x502</define>
95 <define name="_WIN32_IE">0x600</define>
96 <define name="_WIN32_WINNT" overridable="true">0x502</define>
97 <define name="_WIN32_WINDOWS">0x502</define>
98 <define name="_SETUPAPI_VER">0x502</define>
99 </if>
100
101 <if property="VERSION_TARGET" value="NT6">
102 <define name="WINVER" overridable="true">0x600</define>
103 <define name="_WIN32_IE">0x600</define>
104 <define name="_WIN32_WINNT" overridable="true">0x600</define>
105 <define name="_WIN32_WINDOWS">0x600</define>
106 <define name="_SETUPAPI_VER">0x600</define>
107 </if>
108
109 <include>.</include>
110 <include>include</include>
111 <include root="intermediate">include</include>
112 <include>include/psdk</include>
113 <include root="intermediate">include/psdk</include>
114 <include>include/dxsdk</include>
115 <include root="intermediate">include/dxsdk</include>
116 <include>include/crt</include>
117 <include>include/crt/mingw32</include>
118 <include>include/ddk</include>
119 <include>include/GL</include>
120 <include>include/ndk</include>
121 <include>include/reactos</include>
122 <include root="intermediate">include/reactos</include>
123 <include root="intermediate">include/reactos/mc</include>
124 <include>include/reactos/libs</include>
125
126 <include host="true">include</include>
127 <include host="true" root="intermediate">include</include>
128 <include host="true">include/reactos</include>
129 <include host="true">include/reactos/wine</include>
130
131 <!-- directory name="base">
132 <xi:include href="base/base.rbuild" />
133 </directory -->
134
135 <directory name="boot">
136 <xi:include href="boot/boot.rbuild" />
137 </directory>
138
139 <!-- directory name="dll">
140 <xi:include href="dll/dll.rbuild" />
141 </directory -->
142
143 <directory name="drivers">
144 <directory name="base">
145 <xi:include href="drivers/base/directory.rbuild" />
146 </directory>
147 <directory name="filesystems">
148 <directory name="cdfs">
149 <xi:include href="drivers/filesystems/cdfs/cdfs.rbuild" />
150 </directory>
151 <directory name="fastfat">
152 <xi:include href="drivers/filesystems/fastfat/vfatfs.rbuild" />
153 </directory>
154 <directory name="ext2">
155 <!-- xi:include href="drivers/filesystems/ext2/ext2.rbuild" / -->
156 </directory>
157 </directory>
158 <directory name="input">
159 <xi:include href="drivers/input/directory.rbuild" />
160 </directory>
161 <directory name="network">
162 <directory name="ndis">
163 <xi:include href="drivers/network/ndis/ndis.rbuild" />
164 </directory>
165 <directory name="tcpip">
166 <xi:include href="drivers/network/tcpip/tcpip.rbuild" />
167 </directory>
168 </directory>
169 <directory name="setup">
170 <xi:include href="drivers/setup/directory.rbuild" />
171 </directory>
172 <directory name="storage">
173 <directory name="class">
174 <directory name="cdrom">
175 <xi:include href="drivers/storage/class/cdrom/cdrom.rbuild" />
176 </directory>
177 <directory name="class2">
178 <xi:include href="drivers/storage/class/class2/class2.rbuild" />
179 </directory>
180 <directory name="disk">
181 <xi:include href="drivers/storage/class/disk/disk.rbuild" />
182 </directory>
183 </directory>
184 <directory name="floppy">
185 <xi:include href="drivers/storage/floppy/floppy.rbuild" />
186 </directory>
187 <directory name="ide">
188 <directory name="atapi">
189 <xi:include href="drivers/storage/ide/atapi/atapi.rbuild" />
190 </directory>
191 </directory>
192 <directory name="port">
193 <xi:include href="drivers/storage/port/directory.rbuild" />
194 </directory>
195 <directory name="scsiport">
196 <xi:include href="drivers/storage/scsiport/scsiport.rbuild" />
197 </directory>
198 </directory>
199 </directory>
200
201 <directory name="hal">
202 <xi:include href="hal/hal.rbuild" />
203 </directory>
204
205 <directory name="include">
206 <xi:include href="include/directory.rbuild" />
207 </directory>
208 <directory name="lib">
209 <xi:include href="lib/lib.rbuild" />
210 </directory>
211
212 <directory name="media">
213 <xi:include href="media/media.rbuild" />
214 </directory>
215
216 <directory name="ntoskrnl">
217 <xi:include href="ntoskrnl/ntoskrnl-amd64hack.rbuild" />
218 </directory>
219
220 <!-- directory name="subsystems">
221 <xi:include href="subsystems/subsystems.rbuild" />
222 </directory -->
223
224 <directory name="tools">
225 <xi:include href="tools/tools.rbuild" />
226 </directory>
227
228 <!-- Here ends <xi:include href="ReactOS-generic.rbuild" /> -->
229
230 </project>