Copy bootstrap files to cd
Modified: branches/xmlbuildsystem/reactos/Makefile
Added: branches/xmlbuildsystem/reactos/boot/freeldr/bootsect/bootsect.xml
Modified: branches/xmlbuildsystem/reactos/boot/freeldr/freeldr.xml
Modified: branches/xmlbuildsystem/reactos/drivers/dd/blue/blue.xml
Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cdfs.xml
Modified: branches/xmlbuildsystem/reactos/drivers/fs/ntfs/ntfs.xml
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/vfatfs.xml
Modified: branches/xmlbuildsystem/reactos/drivers/input/keyboard/keyboard.xml
Modified: branches/xmlbuildsystem/reactos/drivers/storage/atapi/atapi.xml
Modified: branches/xmlbuildsystem/reactos/drivers/storage/cdrom/cdrom.xml
Modified: branches/xmlbuildsystem/reactos/drivers/storage/class2/class2.xml
Modified: branches/xmlbuildsystem/reactos/drivers/storage/disk/disk.xml
Modified: branches/xmlbuildsystem/reactos/drivers/storage/diskdump/diskdump.xml
Modified: branches/xmlbuildsystem/reactos/drivers/storage/floppy/floppy.xml
Modified: branches/xmlbuildsystem/reactos/drivers/storage/scsiport/scsiport.xml
Modified: branches/xmlbuildsystem/reactos/lib/ntdll/ntdll.xml
Modified: branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml
Modified: branches/xmlbuildsystem/reactos/subsys/system/directory.xml
Added: branches/xmlbuildsystem/reactos/subsys/system/reactos/reactos.xml
Added: branches/xmlbuildsystem/reactos/subsys/system/usetup/usetup.xml
Modified: branches/xmlbuildsystem/reactos/subsys/system/welcome/welcome.xml
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/bootstrap.cpp

Modified: branches/xmlbuildsystem/reactos/Makefile
--- branches/xmlbuildsystem/reactos/Makefile	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/Makefile	2005-03-02 22:56:41 UTC (rev 13803)
@@ -16,6 +16,7 @@
 	dlltool = mingw32-dlltool
 	windres = mingw32-windres
 	rm = rm -f
+	cp = cp
 	NUL = /dev/null
 else # mingw32-windows
 	EXEPREFIX =
@@ -30,6 +31,7 @@
 	dlltool = dlltool
 	windres = windres
 	rm = del /f /q
+	cp = copy /y
 	NUL = NUL
 endif
 

Added: branches/xmlbuildsystem/reactos/boot/freeldr/bootsect/bootsect.xml
--- branches/xmlbuildsystem/reactos/boot/freeldr/bootsect/bootsect.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/boot/freeldr/bootsect/bootsect.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -0,0 +1,20 @@
+<module name="dosmbr" type="bootsector" >
+	<bootstrap base="loader" nameoncd="dosmbr.bin" />
+	<file>dosmbr.asm</file>
+</module>
+<module name="ext2" type="bootsector">
+	<bootstrap base="loader" nameoncd="ext2.bin" />
+	<file>ext2.asm</file>
+</module>
+<module name="fat32" type="bootsector">
+	<bootstrap base="loader" nameoncd="fat32.bin" />
+	<file>fat32.asm</file>
+</module>
+<module name="fat" type="bootsector">
+	<bootstrap base="loader" nameoncd="fat.bin" />
+	<file>fat.asm</file>
+</module>
+<module name="isoboot" type="bootsector">
+	<bootstrap base="loader" nameoncd="isoboot.bin" />
+	<file>isoboot.asm</file>
+</module>

Modified: branches/xmlbuildsystem/reactos/boot/freeldr/freeldr.xml
--- branches/xmlbuildsystem/reactos/boot/freeldr/freeldr.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/boot/freeldr/freeldr.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,14 +1,6 @@
-<module name="bootsector" type="bootsector">
-	<directory name="bootsect">
-		<file>dosmbr.asm</file>
-		<file>ext2.asm</file>
-		<file>fat32.asm</file>
-		<file>fat.asm</file>
-		<file>isoboot.asm</file>
-		<file>win2k.asm</file>
-		<file>wxpfat16.asm</file>
-	</directory>
-</module>
+<directory name="bootsect">
+	<xi:include href="bootsect/bootsect.xml" />
+</directory>
 <directory name="freeldr">
 	<xi:include href="freeldr/freeldr_startup.xml" />
 	<xi:include href="freeldr/freeldr_base64k.xml" />

Modified: branches/xmlbuildsystem/reactos/drivers/dd/blue/blue.xml
--- branches/xmlbuildsystem/reactos/drivers/dd/blue/blue.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/dd/blue/blue.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="blue" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<library>ntoskrnl</library>
 	<library>hal</library>
 	<file>blue.c</file>

Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cdfs.xml
--- branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cdfs.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cdfs.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="cdfs" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<include base="cdfs">.</include>
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: branches/xmlbuildsystem/reactos/drivers/fs/ntfs/ntfs.xml
--- branches/xmlbuildsystem/reactos/drivers/fs/ntfs/ntfs.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/fs/ntfs/ntfs.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="ntfs" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<include base="ntfs">.</include>
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/vfatfs.xml
--- branches/xmlbuildsystem/reactos/drivers/fs/vfat/vfatfs.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/fs/vfat/vfatfs.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="vfatfs" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<include base="vfatfs">.</include>
 	<define name="__USE_W32API" />
 	<library>ntoskrnl</library>

Modified: branches/xmlbuildsystem/reactos/drivers/input/keyboard/keyboard.xml
--- branches/xmlbuildsystem/reactos/drivers/input/keyboard/keyboard.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/input/keyboard/keyboard.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="keyboard" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<include base="keyboard">.</include>
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: branches/xmlbuildsystem/reactos/drivers/storage/atapi/atapi.xml
--- branches/xmlbuildsystem/reactos/drivers/storage/atapi/atapi.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/storage/atapi/atapi.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="atapi" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<include base="atapi">.</include>
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: branches/xmlbuildsystem/reactos/drivers/storage/cdrom/cdrom.xml
--- branches/xmlbuildsystem/reactos/drivers/storage/cdrom/cdrom.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/storage/cdrom/cdrom.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="cdrom" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<library>ntoskrnl</library>
 	<library>hal</library>
 	<library>class2</library>

Modified: branches/xmlbuildsystem/reactos/drivers/storage/class2/class2.xml
--- branches/xmlbuildsystem/reactos/drivers/storage/class2/class2.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/storage/class2/class2.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="class2" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<importlibrary definition="class2.def" />
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: branches/xmlbuildsystem/reactos/drivers/storage/disk/disk.xml
--- branches/xmlbuildsystem/reactos/drivers/storage/disk/disk.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/storage/disk/disk.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="disk" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<library>ntoskrnl</library>
 	<library>hal</library>
 	<library>class2</library>

Modified: branches/xmlbuildsystem/reactos/drivers/storage/diskdump/diskdump.xml
--- branches/xmlbuildsystem/reactos/drivers/storage/diskdump/diskdump.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/storage/diskdump/diskdump.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="diskdump" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<library definition="diskdump.def" />
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: branches/xmlbuildsystem/reactos/drivers/storage/floppy/floppy.xml
--- branches/xmlbuildsystem/reactos/drivers/storage/floppy/floppy.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/storage/floppy/floppy.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="floppy" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<include base="floppy">.</include>
 	<library>ntoskrnl</library>
 	<library>hal</library>

Modified: branches/xmlbuildsystem/reactos/drivers/storage/scsiport/scsiport.xml
--- branches/xmlbuildsystem/reactos/drivers/storage/scsiport/scsiport.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/drivers/storage/scsiport/scsiport.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="scsiport" type="kernelmodedriver">
+	<bootstrap base="reactos" />
 	<importlibrary definition="scsiport.def" />
 	<include base="scsiport">.</include>
 	<library>ntoskrnl</library>

Modified: branches/xmlbuildsystem/reactos/lib/ntdll/ntdll.xml
--- branches/xmlbuildsystem/reactos/lib/ntdll/ntdll.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/lib/ntdll/ntdll.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="ntdll" type="nativedll" baseaddress="${BASEADDRESS_NTDLL}">
+	<bootstrap base="reactos/system32" />
 	<importlibrary definition="def/ntdll.def" />
 	<define name="__NTDLL__" />
 	<define name="_DISABLE_TIDENTS" />

Modified: branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml
--- branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="ntoskrnl" type="kernel">
+	<bootstrap base="reactos" />
 	<importlibrary definition="ntoskrnl.def" />
 	<define name="_SEH_NO_NATIVE_NLG" />
 	<define name="_DISABLE_TIDENTS" />

Modified: branches/xmlbuildsystem/reactos/subsys/system/directory.xml
--- branches/xmlbuildsystem/reactos/subsys/system/directory.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/subsys/system/directory.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -40,6 +40,9 @@
 <directory name="userinit">
 	<xi:include href="userinit/userinit.xml" />
 </directory>
+<directory name="usetup">
+	<xi:include href="usetup/usetup.xml" />
+</directory>
 <directory name="vmwinst">
 	<xi:include href="vmwinst/vmwinst.xml" />
 </directory>

Added: branches/xmlbuildsystem/reactos/subsys/system/reactos/reactos.xml
--- branches/xmlbuildsystem/reactos/subsys/system/reactos/reactos.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/subsys/system/reactos/reactos.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -0,0 +1,12 @@
+<module name="reactos" type="win32gui">
+	<bootstrap base="reactos" />
+	<include base="reactos">.</include>
+	<define name="_WIN32_IE">0x0501</define>
+	<define name="_WIN32_WINNT">0x0501</define>
+	<define name="__USE_W32API" />
+	<library>kernel32</library>
+	<library>gdi32</library>
+	<library>user32</library>
+	<file>reactos.c</file>
+	<file>reactos.rc</file>
+</module>

Added: branches/xmlbuildsystem/reactos/subsys/system/usetup/usetup.xml
--- branches/xmlbuildsystem/reactos/subsys/system/usetup/usetup.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/subsys/system/usetup/usetup.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -0,0 +1,27 @@
+<module name="usetup" type="nativecui">
+	<bootstrap base="reactos/system32" nameoncd="smss.exe" />
+	<include base="usetup">.</include>
+	<include base="zlib">.</include>
+	<define name="_DISABLE_TIDENTS" />
+	<linkerflag>-lgcc</linkerflag>
+	<library>zlib</library>
+	<library>vfatlib</library>
+	<library>ntdll</library>
+	<file>bootsup.c</file>
+	<file>cabinet.c</file>
+	<file>console.c</file>
+	<file>drivesup.c</file>
+	<file>filequeue.c</file>
+	<file>filesup.c</file>
+	<file>format.c</file>
+	<file>fslist.c</file>
+	<file>genlist.c</file>
+	<file>infcache.c</file>
+	<file>inicache.c</file>
+	<file>partlist.c</file>
+	<file>progress.c</file>
+	<file>registry.c</file>
+	<file>settings.c</file>
+	<file>usetup.c</file>
+	<file>usetup.rc</file>
+</module>

Modified: branches/xmlbuildsystem/reactos/subsys/system/welcome/welcome.xml
--- branches/xmlbuildsystem/reactos/subsys/system/welcome/welcome.xml	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/subsys/system/welcome/welcome.xml	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1,4 +1,5 @@
 <module name="welcome" type="win32gui">
+	<bootstrap base="reactos" />
 	<include base="welcome">.</include>
 	<define name="_WIN32_IE">0x0501</define>
 	<define name="_WIN32_WINNT">0x0501</define>

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp	2005-03-02 22:56:41 UTC (rev 13803)
@@ -1989,6 +1989,24 @@
 	return directories;
 }
 
+string
+MingwIsoModuleHandler::GetCdFiles ( const string bootcdDirectory,
+	                                const Module& module ) const
+{
+	string files;
+	for ( size_t i = 0; i < module.project.modules.size (); i++ )
+	{
+		const Module& m = *module.project.modules[i];
+		if ( m.bootstrap != NULL )
+		{
+			if ( files.size () > 0 )
+				files += " ";
+			files += FixupTargetFilename ( m.GetPath () );
+		}
+	}
+	return files;
+}
+
 void
 MingwIsoModuleHandler::GenerateIsoModuleTarget ( const Module& module )
 {
@@ -2001,14 +2019,17 @@
 	string reactosDff = NormalizeFilename ( "bootdata/packages/reactos.dff" );
 	string cdDirectories = bootcdReactos + " " + GetCdDirectories ( bootcdDirectory,
 	                                                                module );
+	string cdFiles = GetCdFiles ( bootcdDirectory,
+	                              module );
 
 	fprintf ( fMakefile, ".PHONY: %s\n\n",
 		      module.name.c_str ());
 	fprintf ( fMakefile,
-	          "%s: all %s %s\n",
+	          "%s: all %s %s %s\n",
 	          module.name.c_str (),
 	          isoboot.c_str (),
-	          cdDirectories.c_str () );
+	          cdDirectories.c_str (),
+	          cdFiles.c_str () );
 	fprintf ( fMakefile,
 	          "\t${cabman} /C %s /L %s /I\n",
 	          reactosDff.c_str (),

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h	2005-03-02 22:56:41 UTC (rev 13803)
@@ -293,6 +293,8 @@
 	void GenerateIsoModuleTarget ( const Module& module );
 	std::string GetCdDirectories ( const std::string bootcdDirectory,
 	                               const Module& module ) const;
+	std::string GetCdFiles ( const std::string bootcdDirectory,
+	                         const Module& module ) const;
 	void OutputBootstrapfileCopyCommands ( const std::string bootcdDirectory,
 	                                       const Module& module ) const;
 };

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/bootstrap.cpp
--- branches/xmlbuildsystem/reactos/tools/rbuild/bootstrap.cpp	2005-03-02 22:29:11 UTC (rev 13802)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/bootstrap.cpp	2005-03-02 22:56:41 UTC (rev 13803)
@@ -32,12 +32,12 @@
 		case Win32CUI:
 		case Win32GUI:
 		case KernelModeDriver:
+		case BootSector:
 			return true;
 		case BuildTool:
 		case StaticLibrary:
 		case ObjectLibrary:
 		case BootLoader:
-		case BootSector:
 		case Iso:
 			return false;
 	}