Modified: branches/xmlbuildsystem/reactos/ReactOS.xml
Deleted: branches/xmlbuildsystem/reactos/ntoskrnl/module.xml
Added: branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml
Modified: branches/xmlbuildsystem/reactos/tools/buildno.c
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h
Modified: branches/xmlbuildsystem/reactos/tools/tools.xml
Added: branches/xmlbuildsystem/reactos/tools/wmc/wmc.xml
--- branches/xmlbuildsystem/reactos/ReactOS.xml 2005-01-09 00:04:32 UTC (rev 12896)
+++ branches/xmlbuildsystem/reactos/ReactOS.xml 2005-01-09 01:10:43 UTC (rev 12897)
@@ -16,6 +16,6 @@
<xi:include href="lib/directory.xml" />
</directory>
<directory name="ntoskrnl">
- <xi:include href="ntoskrnl/module.xml" />
+ <xi:include href="ntoskrnl/ntoskrnl.xml" />
</directory>
</project>
--- branches/xmlbuildsystem/reactos/ntoskrnl/module.xml 2005-01-09 00:04:32 UTC (rev 12896)
+++ branches/xmlbuildsystem/reactos/ntoskrnl/module.xml 2005-01-09 01:10:43 UTC (rev 12897)
@@ -1,368 +0,0 @@
-<module name="ntoskrnl" type="kernelmodedll" extension=".exe">
- <dependency>buildno</dependency>
- <define name="_SEH_NO_NATIVE_NLG" />
- <define name="_DISABLE_TIDENTS" />
- <define name="__NTOSKRNL__" />
- <define name="__3GB__" />
- <include base="kjs">./include</include>
- <include base="ntoskrnl">include</include>
- <library>kjs</library>
- <directory name="cc">
- <file>cacheman.c</file>
- <file>copy.c</file>
- <file>fs.c</file>
- <file>mdl.c</file>
- <file>pin.c</file>
- <file>view.c</file>
- </directory>
- <directory name="cm">
- <file>import.c</file>
- <file>ntfunc.c</file>
- <file>regfile.c</file>
- <file>registry.c</file>
- <file>regobj.c</file>
- <file>rtlfunc.c</file>
- </directory>
- <directory name="dbg">
- <if property="arch" value="i386">
- <directory name="i386">
- <if property="kdbg" value="true">
- <group>
- <file>i386-dis.c</file>
- <file>kdb_help.S</file>
- </group>
- </if>
- </directory>
- </if>
- <if property="kdbg" value="true">
- <group>
- <file>kdb.c</file>
- <file>kdb_keyboard.c</file>
- <file>kdb_serial.c</file>
- <file>rdebug.c</file>
- <file>profile.c</file>
- </group>
- </if>
- <or>
- <!--
- <if property="kdbg" value="true">
- <group>
- <file>kdb_stabs.c</file>
- <file>kdb_symbols.c</file>
- </group>
- </if>
- -->
- <if property="dbg" value="true">
- <group>
- <file>kdb_stabs.c</file>
- <file>kdb_symbols.c</file>
- </group>
- </if>
- </or>
- <file>dbgctrl.c</file>
- <file>errinfo.c</file>
- <file>print.c</file>
- <file>user.c</file>
- </directory>
- <directory name="ex">
- <if property="arch" value="i386">
- <directory name="i386">
- <file>interlck.c</file>
- </directory>
- </if>
- <file>btree.c</file>
- <file>callback.c</file>
- <file>fmutex.c</file>
- <file>hashtab.c</file>
- <file>init.c</file>
- <file>interlck.c</file>
- <file>list.c</file>
- <file>lookas.c</file>
- <file>napi.c</file>
- <file>power.c</file>
- <file>resource.c</file>
- <file>rundown.c</file>
- <file>stree.c</file>
- <file>synch.c</file>
- <file>sysinfo.c</file>
- <file>time.c</file>
- <file>util.c</file>
- <file>uuid.c</file>
- <file>win32k.c</file>
- <file>work.c</file>
- <file>zone.c</file>
- </directory>
- <directory name="fs">
- <file>dbcsname.c</file>
- <file>filelock.c</file>
- <file>mcb.c</file>
- <file>mdl.c</file>
- <file>name.c</file>
- <file>notify.c</file>
- <file>oplock.c</file>
- <file>pool.c</file>
- <file>tunnel.c</file>
- <file>unc.c</file>
- <file>util.c</file>
- </directory>
- <directory name="inbv">
- <file>inbv.c</file>
- </directory>
- <directory name="io">
- <file>adapter.c</file>
- <file>arcname.c</file>
- <file>bootlog.c</file>
- <file>buildirp.c</file>
- <file>cancel.c</file>
- <file>cleanup.c</file>
- <file>cntrller.c</file>
- <file>create.c</file>
- <file>device.c</file>
- <file>deviface.c</file>
- <file>dir.c</file>
- <file>driver.c</file>
- <file>errlog.c</file>
- <file>error.c</file>
- <file>event.c</file>
- <file>file.c</file>
- <file>flush.c</file>
- <file>fs.c</file>
- <file>iocomp.c</file>
- <file>ioctrl.c</file>
- <file>iomgr.c</file>
- <file>iowork.c</file>
- <file>irp.c</file>
- <file>irq.c</file>
- <file>lock.c</file>
- <file>mailslot.c</file>
- <file>mdl.c</file>
- <file>npipe.c</file>
- <file>page.c</file>
- <file>parttab.c</file>
- <file>pnpdma.c</file>
- <file>pnpmgr.c</file>
- <file>pnpnotify.c</file>
- <file>pnpreport.c</file>
- <file>pnproot.c</file>
- <file>process.c</file>
- <file>queue.c</file>
- <file>rawfs.c</file>
- <file>remlock.c</file>
- <file>resource.c</file>
- <file>rw.c</file>
- <file>share.c</file>
- <file>shutdown.c</file>
- <file>symlink.c</file>
- <file>timer.c</file>
- <file>vpb.c</file>
- <file>wdm.c</file>
- <file>wmi.c</file>
- <file>xhaldisp.c</file>
- <file>xhaldrv.c</file>
- </directory>
- <directory name="kd">
- <file>dlog.c</file>
- <file>gdbstub.c</file>
- <file>kdebug.c</file>
- <file>mda.c</file>
- <file>service.c</file>
- </directory>
- <directory name="ke">
- <if property="arch" value="i386">
- <directory name="i386">
- <file>bios.c</file>
- <file>brkpoint.c</file>
- <file>bthread.S</file>
- <file>exp.c</file>
- <file>fpu.c</file>
- <file>gdt.c</file>
- <file>i386-mcount.S</file>
- <file>idt.c</file>
- <file>irq.c</file>
- <file>irqhand.s</file>
- <file>kernel.c</file>
- <file>ldt.c</file>
- <file>multiboot.S</file>
- <file>stkswitch.S</file>
- <file>syscall.S</file>
- <file>thread.c</file>
- <file>tlbflush.S</file>
- <file>trap.S</file>
- <file>tskswitch.S</file>
- <file>tss.c</file>
- <file>usercall.c</file>
- <file>usertrap.c</file>
- <file>v86m.c</file>
- <file>v86m_sup.S</file>
- </directory>
- </if>
- <file>apc.c</file>
- <file>bug.c</file>
- <file>catch.c</file>
- <file>critical.c</file>
- <file>device.c</file>
- <file>dpc.c</file>
- <file>error.c</file>
- <file>event.c</file>
- <file>gmutex.c</file>
- <file>ipi.c</file>
- <file>kqueue.c</file>
- <file>kthread.c</file>
- <file>main.c</file>
- <file>mutex.c</file>
- <file>process.c</file>
- <file>profile.c</file>
- <file>queue.c</file>
- <file>sem.c</file>
- <file>spinlock.c</file>
- <file>timer.c</file>
- <file>wait.c</file>
- </directory>
- <directory name="ldr">
- <file>init.c</file>
- <file>loader.c</file>
- <file>resource.c</file>
- <file>rtl.c</file>
- <file>sysdll.c</file>
- <file>userldr.c</file>
- </directory>
- <directory name="lpc">
- <file>close.c</file>
- <file>complete.c</file>
- <file>connect.c</file>
- <file>create.c</file>
- <file>listen.c</file>
- <file>port.c</file>
- <file>query.c</file>
- <file>queue.c</file>
- <file>receive.c</file>
- <file>reply.c</file>
- <file>send.c</file>
- </directory>
- <directory name="mm">
- <if property="arch" value="i386">
- <directory name="i386">
- <file>memsafe.s</file>
- <file>page.c</file>
- <file>pfault.c</file>
- </directory>
- </if>
- <file>anonmem.c</file>
- <file>aspace.c</file>
- <file>balance.c</file>
- <file>cont.c</file>
- <file>drvlck.c</file>
- <file>elf32.c</file>
- <file>elf64.c</file>
- <file>elf.c</file>
- <file>freelist.c</file>
- <file>iospace.c</file>
- <file>kmap.c</file>
- <file>marea.c</file>
- <file>mdl.c</file>
- <file>mm.c</file>
- <file>mminit.c</file>
- <file>mpw.c</file>
- <file>ncache.c</file>
- <file>npool.c</file>
- <file>pagefile.c</file>
- <file>pageop.c</file>
- <file>pager.c</file>
- <file>pagfault.c</file>
- <file>paging.c</file>
- <file>pe.c</file>
- <file>physical.c</file>
- <file>pool.c</file>
- <file>ppool.c</file>
- <file>region.c</file>
- <file>rmap.c</file>
- <file>section.c</file>
- <file>slab.c</file>
- <file>verifier.c</file>
- <file>virtual.c</file>
- <file>wset.c</file>
- </directory>
- <directory name="nt">
- <file>channel.c</file>
- <file>efi.c</file>
- <file>evtpair.c</file>
- <file>misc.c</file>
- <file>mutant.c</file>
- <file>nt.c</file>
- <file>ntevent.c</file>
- <file>ntsem.c</file>
- <file>nttimer.c</file>
- <file>plugplay.c</file>
- <file>profile.c</file>
- <file>vdm.c</file>
- </directory>
- <directory name="ob">
- <file>dirobj.c</file>
- <file>handle.c</file>
- <file>namespc.c</file>
- <file>ntobj.c</file>
- <file>object.c</file>
- <file>sdcache.c</file>
- <file>security.c</file>
- <file>symlink.c</file>
- </directory>
- <directory name="po">
- <file>power.c</file>
- </directory>
- <directory name="ps">
- <if property="arch" value="i386">
- <directory name="i386">
- <file>continue.c</file>
- </directory>
- </if>
- <file>cid.c</file>
- <file>create.c</file>
- <file>debug.c</file>
- <file>idle.c</file>
- <file>job.c</file>
- <file>kill.c</file>
- <file>locale.c</file>
- <file>process.c</file>
- <file>psmgr.c</file>
- <file>suspend.c</file>
- <file>thread.c</file>
- <file>tinfo.c</file>
- <file>w32call.c</file>
- <file>win32.c</file>
- </directory>
- <directory name="rtl">
- <if property="arch" value="i386">
- <directory name="i386">
- <file>exception.c</file>
- </directory>
- </if>
- <file>atom.c</file>
- <file>capture.c</file>
- <file>ctype.c</file>
- <file>handle.c</file>
- <file>libsupp.c</file>
- <file>message.c</file>
- <file>nls.c</file>
- <file>purecall.c</file>
- <file>rangelist.c</file>
- <file>regio.c</file>
- <file>sprintf.c</file>
- <file>stdlib.c</file>
- <file>string.c</file>
- <file>strtok.c</file>
- <file>swprintf.c</file>
- <file>wstring.c</file>
- </directory>
- <directory name="se">
- <file>access.c</file>
- <file>acl.c</file>
- <file>audit.c</file>
- <file>lsa.c</file>
- <file>luid.c</file>
- <file>priv.c</file>
- <file>sd.c</file>
- <file>semgr.c</file>
- <file>sid.c</file>
- <file>token.c</file>
- </directory>
-</module>
--- branches/xmlbuildsystem/reactos/ntoskrnl/module.xml 2005-01-08 19:38:51 UTC (rev 12891)
+++ branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml 2005-01-09 01:10:43 UTC (rev 12897)
@@ -0,0 +1,378 @@
+<module name="ntoskrnl" type="kernelmodedll" extension=".exe">
+ <dependency>buildno</dependency>
+ <dependency>wmc</dependency>
+ <define name="_SEH_NO_NATIVE_NLG" />
+ <define name="_DISABLE_TIDENTS" />
+ <define name="__NTOSKRNL__" />
+ <define name="__3GB__" />
+ <include base="kjs">./include</include>
+ <include base="ntoskrnl">include</include>
+ <library>kjs</library>
+ <invoke module="wmc">
+ <input>
+ <inputfile>ntoskrnl.mc</inputfile>
+ </input>
+ <output>
+ <outputfile switches="-H">../include/reactos/bugcodes.h</outputfile>
+ <outputfile switches="-o">bugcodes.rc</outputfile>
+ </output>
+ </invoke>
+ <directory name="cc">
+ <file>cacheman.c</file>
+ <file>copy.c</file>
+ <file>fs.c</file>
+ <file>mdl.c</file>
+ <file>pin.c</file>
+ <file>view.c</file>
+ </directory>
+ <directory name="cm">
+ <file>import.c</file>
+ <file>ntfunc.c</file>
+ <file>regfile.c</file>
+ <file>registry.c</file>
+ <file>regobj.c</file>
+ <file>rtlfunc.c</file>
+ </directory>
+ <directory name="dbg">
+ <if property="arch" value="i386">
+ <directory name="i386">
+ <if property="kdbg" value="true">
+ <group>
+ <file>i386-dis.c</file>
+ <file>kdb_help.S</file>
+ </group>
+ </if>
+ </directory>
+ </if>
+ <if property="kdbg" value="true">
+ <group>
+ <file>kdb.c</file>
+ <file>kdb_keyboard.c</file>
+ <file>kdb_serial.c</file>
+ <file>rdebug.c</file>
+ <file>profile.c</file>
+ </group>
+ </if>
+ <or>
+ <!--
+ <if property="kdbg" value="true">
+ <group>
+ <file>kdb_stabs.c</file>
+ <file>kdb_symbols.c</file>
+ </group>
+ </if>
+ -->
+ <if property="dbg" value="true">
+ <group>
+ <file>kdb_stabs.c</file>
+ <file>kdb_symbols.c</file>
+ </group>
+ </if>
+ </or>
+ <file>dbgctrl.c</file>
+ <file>errinfo.c</file>
+ <file>print.c</file>
+ <file>user.c</file>
+ </directory>
+ <directory name="ex">
+ <if property="arch" value="i386">
+ <directory name="i386">
+ <file>interlck.c</file>
+ </directory>
+ </if>
+ <file>btree.c</file>
+ <file>callback.c</file>
+ <file>fmutex.c</file>
+ <file>hashtab.c</file>
+ <file>init.c</file>
+ <file>interlck.c</file>
+ <file>list.c</file>
+ <file>lookas.c</file>
+ <file>napi.c</file>
+ <file>power.c</file>
+ <file>resource.c</file>
+ <file>rundown.c</file>
+ <file>stree.c</file>
+ <file>synch.c</file>
+ <file>sysinfo.c</file>
+ <file>time.c</file>
+ <file>util.c</file>
+ <file>uuid.c</file>
+ <file>win32k.c</file>
+ <file>work.c</file>
+ <file>zone.c</file>
+ </directory>
+ <directory name="fs">
+ <file>dbcsname.c</file>
+ <file>filelock.c</file>
+ <file>mcb.c</file>
+ <file>mdl.c</file>
+ <file>name.c</file>
+ <file>notify.c</file>
+ <file>oplock.c</file>
+ <file>pool.c</file>
+ <file>tunnel.c</file>
+ <file>unc.c</file>
+ <file>util.c</file>
+ </directory>
+ <directory name="inbv">
+ <file>inbv.c</file>
+ </directory>
+ <directory name="io">
+ <file>adapter.c</file>
+ <file>arcname.c</file>
+ <file>bootlog.c</file>
+ <file>buildirp.c</file>
+ <file>cancel.c</file>
+ <file>cleanup.c</file>
+ <file>cntrller.c</file>
+ <file>create.c</file>
+ <file>device.c</file>
+ <file>deviface.c</file>
+ <file>dir.c</file>
+ <file>driver.c</file>
+ <file>errlog.c</file>
+ <file>error.c</file>
+ <file>event.c</file>
+ <file>file.c</file>
+ <file>flush.c</file>
+ <file>fs.c</file>
+ <file>iocomp.c</file>
+ <file>ioctrl.c</file>
+ <file>iomgr.c</file>
+ <file>iowork.c</file>
+ <file>irp.c</file>
+ <file>irq.c</file>
+ <file>lock.c</file>
+ <file>mailslot.c</file>
+ <file>mdl.c</file>
+ <file>npipe.c</file>
+ <file>page.c</file>
+ <file>parttab.c</file>
+ <file>pnpdma.c</file>
+ <file>pnpmgr.c</file>
+ <file>pnpnotify.c</file>
+ <file>pnpreport.c</file>
+ <file>pnproot.c</file>
+ <file>process.c</file>
+ <file>queue.c</file>
+ <file>rawfs.c</file>
+ <file>remlock.c</file>
+ <file>resource.c</file>
+ <file>rw.c</file>
+ <file>share.c</file>
+ <file>shutdown.c</file>
+ <file>symlink.c</file>
+ <file>timer.c</file>
+ <file>vpb.c</file>
+ <file>wdm.c</file>
+ <file>wmi.c</file>
+ <file>xhaldisp.c</file>
+ <file>xhaldrv.c</file>
+ </directory>
+ <directory name="kd">
+ <file>dlog.c</file>
+ <file>gdbstub.c</file>
+ <file>kdebug.c</file>
+ <file>mda.c</file>
+ <file>service.c</file>
+ </directory>
+ <directory name="ke">
+ <if property="arch" value="i386">
+ <directory name="i386">
+ <file>bios.c</file>
+ <file>brkpoint.c</file>
+ <file>bthread.S</file>
+ <file>exp.c</file>
+ <file>fpu.c</file>
+ <file>gdt.c</file>
+ <file>i386-mcount.S</file>
+ <file>idt.c</file>
+ <file>irq.c</file>
+ <file>irqhand.s</file>
+ <file>kernel.c</file>
+ <file>ldt.c</file>
+ <file>multiboot.S</file>
+ <file>stkswitch.S</file>
+ <file>syscall.S</file>
+ <file>thread.c</file>
+ <file>tlbflush.S</file>
+ <file>trap.S</file>
+ <file>tskswitch.S</file>
+ <file>tss.c</file>
+ <file>usercall.c</file>
+ <file>usertrap.c</file>
+ <file>v86m.c</file>
+ <file>v86m_sup.S</file>
+ </directory>
+ </if>
+ <file>apc.c</file>
+ <file>bug.c</file>
+ <file>catch.c</file>
+ <file>critical.c</file>
+ <file>device.c</file>
+ <file>dpc.c</file>
+ <file>error.c</file>
+ <file>event.c</file>
+ <file>gmutex.c</file>
+ <file>ipi.c</file>
+ <file>kqueue.c</file>
+ <file>kthread.c</file>
+ <file>main.c</file>
+ <file>mutex.c</file>
+ <file>process.c</file>
+ <file>profile.c</file>
+ <file>queue.c</file>
+ <file>sem.c</file>
+ <file>spinlock.c</file>
+ <file>timer.c</file>
+ <file>wait.c</file>
+ </directory>
+ <directory name="ldr">
+ <file>init.c</file>
+ <file>loader.c</file>
+ <file>resource.c</file>
+ <file>rtl.c</file>
+ <file>sysdll.c</file>
+ <file>userldr.c</file>
+ </directory>
+ <directory name="lpc">
+ <file>close.c</file>
+ <file>complete.c</file>
+ <file>connect.c</file>
+ <file>create.c</file>
+ <file>listen.c</file>
+ <file>port.c</file>
+ <file>query.c</file>
+ <file>queue.c</file>
+ <file>receive.c</file>
+ <file>reply.c</file>
+ <file>send.c</file>
+ </directory>
+ <directory name="mm">
+ <if property="arch" value="i386">
+ <directory name="i386">
+ <file>memsafe.s</file>
+ <file>page.c</file>
+ <file>pfault.c</file>
+ </directory>
+ </if>
+ <file>anonmem.c</file>
+ <file>aspace.c</file>
+ <file>balance.c</file>
+ <file>cont.c</file>
+ <file>drvlck.c</file>
+ <file>elf32.c</file>
+ <file>elf64.c</file>
+ <file>elf.c</file>
+ <file>freelist.c</file>
+ <file>iospace.c</file>
+ <file>kmap.c</file>
+ <file>marea.c</file>
+ <file>mdl.c</file>
+ <file>mm.c</file>
+ <file>mminit.c</file>
+ <file>mpw.c</file>
+ <file>ncache.c</file>
+ <file>npool.c</file>
+ <file>pagefile.c</file>
+ <file>pageop.c</file>
+ <file>pager.c</file>
+ <file>pagfault.c</file>
+ <file>paging.c</file>
+ <file>pe.c</file>
+ <file>physical.c</file>
+ <file>pool.c</file>
+ <file>ppool.c</file>
+ <file>region.c</file>
+ <file>rmap.c</file>
+ <file>section.c</file>
+ <file>slab.c</file>
+ <file>verifier.c</file>
+ <file>virtual.c</file>
+ <file>wset.c</file>
+ </directory>
+ <directory name="nt">
+ <file>channel.c</file>
+ <file>efi.c</file>
+ <file>evtpair.c</file>
+ <file>misc.c</file>
+ <file>mutant.c</file>
+ <file>nt.c</file>
+ <file>ntevent.c</file>
+ <file>ntsem.c</file>
+ <file>nttimer.c</file>
+ <file>plugplay.c</file>
+ <file>profile.c</file>
+ <file>vdm.c</file>
+ </directory>
+ <directory name="ob">
+ <file>dirobj.c</file>
+ <file>handle.c</file>
+ <file>namespc.c</file>
+ <file>ntobj.c</file>
+ <file>object.c</file>
+ <file>sdcache.c</file>
+ <file>security.c</file>
+ <file>symlink.c</file>
+ </directory>
+ <directory name="po">
+ <file>power.c</file>
+ </directory>
+ <directory name="ps">
+ <if property="arch" value="i386">
+ <directory name="i386">
+ <file>continue.c</file>
+ </directory>
+ </if>
+ <file>cid.c</file>
+ <file>create.c</file>
+ <file>debug.c</file>
+ <file>idle.c</file>
+ <file>job.c</file>
+ <file>kill.c</file>
+ <file>locale.c</file>
+ <file>process.c</file>
+ <file>psmgr.c</file>
+ <file>suspend.c</file>
+ <file>thread.c</file>
+ <file>tinfo.c</file>
+ <file>w32call.c</file>
+ <file>win32.c</file>
+ </directory>
+ <directory name="rtl">
+ <if property="arch" value="i386">
+ <directory name="i386">
+ <file>exception.c</file>
+ </directory>
+ </if>
+ <file>atom.c</file>
+ <file>capture.c</file>
+ <file>ctype.c</file>
+ <file>handle.c</file>
+ <file>libsupp.c</file>
+ <file>message.c</file>
+ <file>nls.c</file>
+ <file>purecall.c</file>
+ <file>rangelist.c</file>
+ <file>regio.c</file>
+ <file>sprintf.c</file>
+ <file>stdlib.c</file>
+ <file>string.c</file>
+ <file>strtok.c</file>
+ <file>swprintf.c</file>
+ <file>wstring.c</file>
+ </directory>
+ <directory name="se">
+ <file>access.c</file>
+ <file>acl.c</file>
+ <file>audit.c</file>
+ <file>lsa.c</file>
+ <file>luid.c</file>
+ <file>priv.c</file>
+ <file>sd.c</file>
+ <file>semgr.c</file>
+ <file>sid.c</file>
+ <file>token.c</file>
+ </directory>
+</module>
--- branches/xmlbuildsystem/reactos/tools/buildno.c 2005-01-09 00:04:32 UTC (rev 12896)
+++ branches/xmlbuildsystem/reactos/tools/buildno.c 2005-01-09 01:10:43 UTC (rev 12897)
@@ -32,10 +32,8 @@
#define FALSE 0
#define TRUE 1
-/* File to (over)write */
-#define BUILDNO_INCLUDE_FILE "../include/reactos/buildno.h"
-
static char * argv0 = "";
+static char * filename = "";
#ifdef DBG
void
@@ -157,7 +155,7 @@
s = s + sprintf (s, "-%S\"\n", KERNEL_VERSION_BUILD_TYPE);
s = s + sprintf (s, "#endif\n/* EOF */\n");
- h = fopen (BUILDNO_INCLUDE_FILE, "rb");
+ h = fopen (filename, "rb");
if (h != NULL)
{
fseek(h, 0, SEEK_END);
@@ -178,13 +176,13 @@
fclose(h);
}
- h = fopen (BUILDNO_INCLUDE_FILE, "wb");
+ h = fopen (filename, "wb");
if (!h)
{
fprintf (stderr,
"%s: can not create file \"%s\"!\n",
argv0,
- BUILDNO_INCLUDE_FILE);
+ filename);
return;
}
fwrite(s1, 1, strlen(s1), h);
@@ -196,7 +194,7 @@
{
fprintf (
stderr,
- "Usage: %s [-{p|q}]\n\n -p print version number and exit\n -q run in quiet mode\n",
+ "Usage: %s [-{p|q}] path-to-header\n\n -p print version number and exit\n -q run in quiet mode\n",
argv0
);
exit (EXIT_SUCCESS);
@@ -221,6 +219,7 @@
case 1:
break;
case 2:
+ case 3:
if (argv[1][0] == '-')
{
if (argv[1][1] == 'q')
@@ -235,7 +234,12 @@
{
usage ();
}
+ filename = argv[2];
}
+ else if (argc == 2)
+ {
+ filename = argv[1];
+ }
else
{
usage ();
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp 2005-01-09 00:04:32 UTC (rev 12896)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp 2005-01-09 01:10:43 UTC (rev 12897)
@@ -106,7 +106,7 @@
MingwModuleHandler::GetObjectFilename ( const string& sourceFilename ) const
{
return FixupTargetFilename ( ReplaceExtension ( sourceFilename,
- ".o" ) );
+ ".o" ) );
}
string
@@ -221,12 +221,10 @@
{
string sourceFilename = module.files[i]->name;
string objectFilename = GetObjectFilename ( sourceFilename );
- string dependencies = GetModuleDependencies ( module );
fprintf ( fMakefile,
- "%s: %s %s\n",
+ "%s: %s\n",
objectFilename.c_str (),
- sourceFilename.c_str (),
- dependencies.c_str ());
+ sourceFilename.c_str () );
fprintf ( fMakefile,
"\t%s -c %s -o %s %s\n",
cc.c_str (),
@@ -293,27 +291,64 @@
for ( size_t i = 0; i < module.invocations.size (); i++ )
{
Invoke& invoke = *module.invocations[i];
+ if (invoke.invokeModule == &module)
+ /* Protect against circular dependencies */
+ continue;
if ( dependencies.length () > 0 )
dependencies += " ";
- string invokeTarget = module.GetInvocationTarget ( i );
- dependencies += invokeTarget;
+ dependencies += invoke.GetTargets ();
}
return dependencies;
}
-
+
+string
+MingwModuleHandler::GetInvocationParameters ( const Invoke& invoke ) const
+{
+ string parameters ( "" );
+ size_t i;
+ for (i = 0; i < invoke.output.size (); i++)
+ {
+ if (parameters.length () > 0)
+ parameters += " ";
+ InvokeFile& invokeFile = *invoke.output[i];
+ if (invokeFile.switches.length () > 0)
+ {
+ parameters += invokeFile.switches;
+ parameters += " ";
+ }
+ parameters += invokeFile.name;
+ }
+
+ for (i = 0; i < invoke.input.size (); i++)
+ {
+ if (parameters.length () > 0)
+ parameters += " ";
+ InvokeFile& invokeFile = *invoke.input[i];
+ if (invokeFile.switches.length () > 0)
+ {
+ parameters += invokeFile.switches;
+ parameters += " ";
+ }
+ parameters += invokeFile.name;
+ }
+
+ return parameters;
+}
+
void
MingwModuleHandler::GenerateInvocations ( const Module& module ) const
{
if ( module.invocations.size () == 0 )
return;
- if ( module.type != BuildTool )
- throw InvalidBuildFileException ( module.node.location,
- "Only modules of type buildtool can be invoked." );
-
for ( size_t i = 0; i < module.invocations.size (); i++ )
{
- Invoke& invoke = *module.invocations[i];
+ const Invoke& invoke = *module.invocations[i];
+
+ if ( invoke.invokeModule->type != BuildTool )
+ throw InvalidBuildFileException ( module.node.location,
+ "Only modules of type buildtool can be invoked." );
+
string invokeTarget = module.GetInvocationTarget ( i );
fprintf ( fMakefile,
"%s: %s\n\n",
@@ -322,17 +357,52 @@
fprintf ( fMakefile,
"%s: %s\n",
invokeTarget.c_str (),
- FixupTargetFilename ( module.GetPath () ).c_str () );
+ FixupTargetFilename ( invoke.invokeModule->GetPath () ).c_str () );
fprintf ( fMakefile,
- "\t%s\n\n",
- FixupTargetFilename ( module.GetPath () ).c_str () );
+ "\t%s %s\n\n",
+ FixupTargetFilename ( invoke.invokeModule->GetPath () ).c_str (),
+ GetInvocationParameters ( invoke ).c_str () );
fprintf ( fMakefile,
".PNONY: %s\n\n",
invokeTarget.c_str () );
}
}
+string
+MingwModuleHandler::GetPreconditionDependenciesName ( const Module& module ) const
+{
+ return ssprintf ( "%s_precondition",
+ module.name.c_str () );
+}
+void
+MingwModuleHandler::GeneratePreconditionDependencies ( const Module& module ) const
+{
+ string preconditionDependenciesName = GetPreconditionDependenciesName ( module );
+ string sourceFilenames = GetSourceFilenames ( module );
+ string dependencies = GetModuleDependencies ( module );
+ string s = GetInvocationDependencies ( module );
+ if ( s.length () > 0 )
+ {
+ if ( dependencies.length () > 0 )
+ dependencies += " ";
+ dependencies += s;
+ }
+
+ fprintf ( fMakefile,
+ "%s: %s\n\n",
+ preconditionDependenciesName.c_str (),
+ dependencies.c_str () );
+ fprintf ( fMakefile,
+ "%s: %s\n\n",
+ sourceFilenames.c_str (),
+ preconditionDependenciesName.c_str ());
+ fprintf ( fMakefile,
+ ".PNONY: %s\n\n",
+ preconditionDependenciesName.c_str () );
+}
+
+
MingwBuildToolModuleHandler::MingwBuildToolModuleHandler ( FILE* fMakefile )
: MingwModuleHandler ( fMakefile )
{
@@ -347,6 +417,7 @@
void
MingwBuildToolModuleHandler::Process ( const Module& module )
{
[truncated at 1000 lines; 241 more skipped]