Merge freeldr from amd64 branch:
[reactos.git] / reactos / ntoskrnl / ntoskrnl-generic.rbuild
1 <?xml version="1.0"?>
2 <!DOCTYPE module SYSTEM "../tools/rbuild/project.dtd">
3 <group xmlns:xi="http://www.w3.org/2001/XInclude">
4 <bootstrap installbase="$(CDOUTPUT)" />
5 <importlibrary definition="ntoskrnl.pspec" />
6 <define name="_DISABLE_TIDENTS" />
7 <define name="__NTOSKRNL__" />
8 <define name="_NTOSKRNL_" />
9 <define name="_NTSYSTEM_" />
10 <define name="__NO_CTYPE_INLINES" />
11 <define name="WIN9X_COMPAT_SPINLOCK" />
12 <define name="_IN_KERNEL_" />
13 <if property="_WINKD_" value="1">
14 <define name="_WINKD_" />
15 </if>
16 <if property="_ELF_" value="1">
17 <define name="_ELF_" />
18 </if>
19 <include base="cmlib">.</include>
20 <include base="ntoskrnl">include</include>
21 <include base="ntoskrnl" root="intermediate"></include>
22 <include base="ntoskrnl" root="intermediate">include</include>
23 <include base="ntoskrnl" root="intermediate">include/internal</include>
24 <include base="ReactOS">include/reactos/drivers</include>
25 <library>csq</library>
26 <library>hal</library>
27 <library>pseh</library>
28 <library>cmlib</library>
29 <library>rtl</library>
30 <library>rossym</library>
31 <library>libcntpr</library>
32 <library>kdcom</library>
33 <library>bootvid</library>
34 <library>wdmguid</library>
35 <dependency>bugcodes</dependency>
36 <!-- See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38269
37 <directory name="include">
38 <pch>precomp.h</pch>
39 </directory>
40 -->
41 <directory name="ke">
42 <if property="ARCH" value="i386">
43 <directory name="i386">
44 <file first="true">boot.S</file>
45 <file>abios.c</file>
46 <file>cpu.c</file>
47 <file>ctxswitch.S</file>
48 <file>exp.c</file>
49 <file>irqobj.c</file>
50 <file>kiinit.c</file>
51 <file>ldt.c</file>
52 <file>mtrr.c</file>
53 <file>patpge.c</file>
54 <file>systimer.S</file>
55 <file>thrdini.c</file>
56 <file>trap.s</file>
57 <file>usercall_asm.S</file>
58 <file>usercall.c</file>
59 <file>v86vdm.c</file>
60 <file>v86m_sup.S</file>
61 </directory>
62 </if>
63 <if property="ARCH" value="arm">
64 <directory name="arm">
65 <file first="true">boot.s</file>
66 <file>cpu.c</file>
67 <file>ctxswtch.s</file>
68 <file>exp.c</file>
69 <file>kiinit.c</file>
70 <file>stubs_asm.s</file>
71 <file>thrdini.c</file>
72 <file>time.c</file>
73 <file>trap.s</file>
74 <file>trapc.c</file>
75 <file>usercall.c</file>
76 </directory>
77 </if>
78 <if property="ARCH" value="powerpc">
79 <directory name="powerpc">
80 <file first="true">main_asm.S</file>
81 <file>cpu.c</file>
82 <file>exp.c</file>
83 <file>kiinit.c</file>
84 <file>ppc_irq.c</file>
85 <file>stubs.c</file>
86 <file>systimer.c</file>
87 <file>thrdini.c</file>
88 <file>ctxswitch.c</file>
89 <file>ctxhelp.S</file>
90 </directory>
91 </if>
92 <file>apc.c</file>
93 <file>balmgr.c</file>
94 <file>bug.c</file>
95 <file>clock.c</file>
96 <file>config.c</file>
97 <file>devqueue.c</file>
98 <file>dpc.c</file>
99 <file>eventobj.c</file>
100 <file>except.c</file>
101 <file>freeldr.c</file>
102 <file>gate.c</file>
103 <file>gmutex.c</file>
104 <file>ipi.c</file>
105 <file>krnlinit.c</file>
106 <file>mutex.c</file>
107 <file>procobj.c</file>
108 <file>profobj.c</file>
109 <file>queue.c</file>
110 <file>semphobj.c</file>
111 <file>spinlock.c</file>
112 <file>thrdschd.c</file>
113 <file>thrdobj.c</file>
114 <file>timerobj.c</file>
115 <file>wait.c</file>
116 </directory>
117 <directory name="cc">
118 <file>cacheman.c</file>
119 <file>copy.c</file>
120 <file>fs.c</file>
121 <file>mdl.c</file>
122 <file>pin.c</file>
123 <file>view.c</file>
124 </directory>
125 <directory name="config">
126 <if property="ARCH" value="i386">
127 <directory name="i386">
128 <file>cmhardwr.c</file>
129 </directory>
130 </if>
131 <if property="ARCH" value="arm">
132 <directory name="arm">
133 <file>cmhardwr.c</file>
134 </directory>
135 </if>
136 <if property="ARCH" value="powerpc">
137 <directory name="powerpc">
138 <file>cmhardwr.c</file>
139 </directory>
140 </if>
141 <file>cmalloc.c</file>
142 <file>cmapi.c</file>
143 <file>cmboot.c</file>
144 <file>cmcheck.c</file>
145 <file>cmcontrl.c</file>
146 <file>cmconfig.c</file>
147 <file>cmdata.c</file>
148 <file>cmdelay.c</file>
149 <file>cmindex.c</file>
150 <file>cminit.c</file>
151 <file>cmhook.c</file>
152 <file>cmkcbncb.c</file>
153 <file>cmkeydel.c</file>
154 <file>cmlazy.c</file>
155 <file>cmmapvw.c</file>
156 <file>cmname.c</file>
157 <file>cmparse.c</file>
158 <file>cmse.c</file>
159 <file>cmsecach.c</file>
160 <file>cmsysini.c</file>
161 <file>cmvalue.c</file>
162 <file>cmvalche.c</file>
163 <file>cmwraprs.c</file>
164 <file>ntapi.c</file>
165 </directory>
166 <directory name="dbgk">
167 <file>dbgkutil.c</file>
168 <file>dbgkobj.c</file>
169 </directory>
170 <directory name="ex" root="intermediate">
171 <file>zw.S</file>
172 </directory>
173 <directory name="ex">
174 <if property="ARCH" value="i386">
175 <directory name="i386">
176 <file>interlck_asm.S</file>
177 <file>fastinterlck_asm.S</file>
178 <file>ioport.S</file>
179 </directory>
180 </if>
181 <file>atom.c</file>
182 <file>callback.c</file>
183 <file>dbgctrl.c</file>
184 <file>efi.c</file>
185 <file>event.c</file>
186 <file>evtpair.c</file>
187 <file>exintrin.c</file>
188 <file>fastinterlck.c</file>
189 <file>fmutex.c</file>
190 <file>handle.c</file>
191 <file>harderr.c</file>
192 <file>hdlsterm.c</file>
193 <file>init.c</file>
194 <file>keyedevt.c</file>
195 <file>locale.c</file>
196 <file>lookas.c</file>
197 <file>mutant.c</file>
198 <file>pushlock.c</file>
199 <file>profile.c</file>
200 <file>resource.c</file>
201 <file>rundown.c</file>
202 <file>sem.c</file>
203 <file>shutdown.c</file>
204 <file>sysinfo.c</file>
205 <file>time.c</file>
206 <file>timer.c</file>
207 <file>uuid.c</file>
208 <file>win32k.c</file>
209 <file>work.c</file>
210 <file>xipdisp.c</file>
211 <file>zone.c</file>
212 </directory>
213 <directory name="fsrtl">
214 <file>dbcsname.c</file>
215 <file>fastio.c</file>
216 <file>faulttol.c</file>
217 <file>filelock.c</file>
218 <file>filter.c</file>
219 <file>filtrctx.c</file>
220 <file>fsfilter.c</file>
221 <file>fsrtlpc.c</file>
222 <file>largemcb.c</file>
223 <file>name.c</file>
224 <file>notify.c</file>
225 <file>oplock.c</file>
226 <file>pnp.c</file>
227 <file>stackovf.c</file>
228 <file>tunnel.c</file>
229 <file>unc.c</file>
230 </directory>
231 <directory name="fstub">
232 <file>disksup.c</file>
233 <file>fstubex.c</file>
234 <file>halstub.c</file>
235 </directory>
236 <directory name="inbv">
237 <file>inbv.c</file>
238 </directory>
239 <directory name="io">
240 <directory name="iomgr">
241 <file>adapter.c</file>
242 <file>arcname.c</file>
243 <file>bootlog.c</file>
244 <file>controller.c</file>
245 <file>device.c</file>
246 <file>deviface.c</file>
247 <file>driver.c</file>
248 <file>drvrlist.c</file>
249 <file>error.c</file>
250 <file>file.c</file>
251 <file>iocomp.c</file>
252 <file>ioevent.c</file>
253 <file>iofunc.c</file>
254 <file>iomdl.c</file>
255 <file>iomgr.c</file>
256 <file>iorsrce.c</file>
257 <file>iotimer.c</file>
258 <file>iowork.c</file>
259 <file>irp.c</file>
260 <file>irq.c</file>
261 <file>ramdisk.c</file>
262 <file>rawfs.c</file>
263 <file>remlock.c</file>
264 <file>util.c</file>
265 <file>symlink.c</file>
266 <file>volume.c</file>
267 </directory>
268 <directory name="pnpmgr">
269 <file>plugplay.c</file>
270 <file>pnpdma.c</file>
271 <file>pnpmgr.c</file>
272 <file>pnpnotify.c</file>
273 <file>pnpreport.c</file>
274 <file>pnproot.c</file>
275 </directory>
276 </directory>
277 <directory name="kd">
278 <if property="ARCH" value="i386">
279 <directory name="i386">
280 <file>kdmemsup.c</file>
281 </directory>
282 </if>
283 </directory>
284 <if property="_WINKD_" value="0">
285 <directory name="kdbg">
286 <if property="ARCH" value="i386">
287 <directory name="i386">
288 <if property="KDBG" value="1">
289 <group>
290 <file>i386-dis.c</file>
291 <file>kdb_help.S</file>
292 <file>longjmp.S</file>
293 <file>setjmp.S</file>
294 </group>
295 </if>
296 </directory>
297 </if>
298 <if property="KDBG" value="1">
299 <file>kdb.c</file>
300 <file>kdb_cli.c</file>
301 <file>kdb_expr.c</file>
302 <file>kdb_keyboard.c</file>
303 <file>kdb_serial.c</file>
304 </if>
305 <if property="DBG_OR_KDBG" value="true">
306 <file>kdb_symbols.c</file>
307 </if>
308 </directory>
309 <directory name="kd">
310 <directory name="wrappers">
311 <file>bochs.c</file>
312 <if property="ARCH" value="i386">
313 <file>gdbstub.c</file>
314 </if>
315 <if property="ARCH" value="powerpc">
316 <file>gdbstub_powerpc.c</file>
317 </if>
318 <file>kdbg.c</file>
319 </directory>
320 <file>kdinit.c</file>
321 <file>kdio.c</file>
322 <file>kdmain.c</file>
323 </directory>
324 </if>
325 <if property="_WINKD_" value ="1">
326 <directory name="kd64">
327 <file>kdapi.c</file>
328 <file>kdbreak.c</file>
329 <file>kddata.c</file>
330 <file>kdinit.c</file>
331 <file>kdlock.c</file>
332 <file>kdprint.c</file>
333 <file>kdtrap.c</file>
334 </directory>
335 </if>
336 <directory name="lpc">
337 <file>close.c</file>
338 <file>complete.c</file>
339 <file>connect.c</file>
340 <file>create.c</file>
341 <file>listen.c</file>
342 <file>port.c</file>
343 <file>reply.c</file>
344 <file>send.c</file>
345 </directory>
346 <directory name="mm">
347 <if property="ARCH" value="i386">
348 <directory name="i386">
349 <file>page.c</file>
350 </directory>
351 </if>
352 <if property="ARCH" value="arm">
353 <directory name="arm">
354 <file>stubs.c</file>
355 </directory>
356 </if>
357 <if property="ARCH" value="powerpc">
358 <directory name="powerpc">
359 <file>pfault.c</file>
360 <file>page.c</file>
361 </directory>
362 </if>
363 <file>anonmem.c</file>
364 <file>balance.c</file>
365 <file>cont.c</file>
366 <file>drvlck.c</file>
367 <file>freelist.c</file>
368 <file>iospace.c</file>
369 <file>kmap.c</file>
370 <file>marea.c</file>
371 <file>mdlsup.c</file>
372 <file>mm.c</file>
373 <file>mminit.c</file>
374 <file>mpw.c</file>
375 <file>ncache.c</file>
376 <file>npool.c</file>
377 <file>pagefile.c</file>
378 <file>pageop.c</file>
379 <file>pe.c</file>
380 <file>physical.c</file>
381 <file>pool.c</file>
382 <file>ppool.c</file>
383 <file>procsup.c</file>
384 <file>region.c</file>
385 <file>rmap.c</file>
386 <file>section.c</file>
387 <file>sysldr.c</file>
388 <file>verifier.c</file>
389 <file>virtual.c</file>
390 <file>wset.c</file>
391 <if property="_ELF_" value="1">
392 <file>elf32.c</file>
393 <file>elf64.c</file>
394 </if>
395 </directory>
396 <directory name="ob">
397 <file>obdir.c</file>
398 <file>obinit.c</file>
399 <file>obhandle.c</file>
400 <file>obname.c</file>
401 <file>oblife.c</file>
402 <file>obref.c</file>
403 <file>obsdcach.c</file>
404 <file>obsecure.c</file>
405 <file>oblink.c</file>
406 <file>obwait.c</file>
407 </directory>
408 <directory name="po">
409 <file>power.c</file>
410 <file>events.c</file>
411 </directory>
412 <directory name="ps">
413 <if property="ARCH" value="i386">
414 <directory name="i386">
415 <file>psctx.c</file>
416 </directory>
417 </if>
418 <if property="ARCH" value="arm">
419 <directory name="arm">
420 <file>psctx.c</file>
421 </directory>
422 </if>
423 <file>debug.c</file>
424 <file>job.c</file>
425 <file>kill.c</file>
426 <file>psnotify.c</file>
427 <file>process.c</file>
428 <file>psmgr.c</file>
429 <file>query.c</file>
430 <file>quota.c</file>
431 <file>security.c</file>
432 <file>state.c</file>
433 <file>thread.c</file>
434 <file>win32.c</file>
435 </directory>
436 <directory name="rtl">
437 <if property="ARCH" value="arm">
438 <directory name="arm">
439 <file>rtlexcpt.c</file>
440 </directory>
441 </if>
442 <if property="ARCH" value="i386">
443 <directory name="i386">
444 <file>stack.S</file>
445 </directory>
446 </if>
447 <file>libsupp.c</file>
448 <file>misc.c</file>
449 </directory>
450 <directory name="se">
451 <file>access.c</file>
452 <file>acl.c</file>
453 <file>audit.c</file>
454 <file>lsa.c</file>
455 <file>priv.c</file>
456 <file>sd.c</file>
457 <file>semgr.c</file>
458 <file>sid.c</file>
459 <file>token.c</file>
460 </directory>
461 <directory name="vdm">
462 <if property="ARCH" value="i386">
463 <file>vdmmain.c</file>
464 <file>vdmexec.c</file>
465 </if>
466 </directory>
467 <directory name="wmi">
468 <file>wmi.c</file>
469 </directory>
470 <file>ntoskrnl.rc</file>
471 <linkerscript>ntoskrnl_$(ARCH).lnk</linkerscript>
472
473 <!-- See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054#c7 -->
474 <compilerflag>-fno-unit-at-a-time</compilerflag>
475 </group>