Copy bootstrap files to cd
authorCasper Hornstrup <chorns@users.sourceforge.net>
Wed, 2 Mar 2005 22:56:41 +0000 (22:56 +0000)
committerCasper Hornstrup <chorns@users.sourceforge.net>
Wed, 2 Mar 2005 22:56:41 +0000 (22:56 +0000)
svn path=/branches/xmlbuildsystem/; revision=13803

24 files changed:
reactos/Makefile
reactos/boot/freeldr/bootsect/bootsect.xml [new file with mode: 0644]
reactos/boot/freeldr/freeldr.xml
reactos/drivers/dd/blue/blue.xml
reactos/drivers/fs/cdfs/cdfs.xml
reactos/drivers/fs/ntfs/ntfs.xml
reactos/drivers/fs/vfat/vfatfs.xml
reactos/drivers/input/keyboard/keyboard.xml
reactos/drivers/storage/atapi/atapi.xml
reactos/drivers/storage/cdrom/cdrom.xml
reactos/drivers/storage/class2/class2.xml
reactos/drivers/storage/disk/disk.xml
reactos/drivers/storage/diskdump/diskdump.xml
reactos/drivers/storage/floppy/floppy.xml
reactos/drivers/storage/scsiport/scsiport.xml
reactos/lib/ntdll/ntdll.xml
reactos/ntoskrnl/ntoskrnl.xml
reactos/subsys/system/directory.xml
reactos/subsys/system/reactos/reactos.xml [new file with mode: 0644]
reactos/subsys/system/usetup/usetup.xml [new file with mode: 0644]
reactos/subsys/system/welcome/welcome.xml
reactos/tools/rbuild/backend/mingw/modulehandler.cpp
reactos/tools/rbuild/backend/mingw/modulehandler.h
reactos/tools/rbuild/bootstrap.cpp

index 4e0c7dc..7668355 100644 (file)
@@ -16,6 +16,7 @@ ifeq ($(HOST),mingw32-linux)
        dlltool = mingw32-dlltool
        windres = mingw32-windres
        rm = rm -f
+       cp = cp
        NUL = /dev/null
 else # mingw32-windows
        EXEPREFIX =
@@ -30,6 +31,7 @@ else # mingw32-windows
        dlltool = dlltool
        windres = windres
        rm = del /f /q
+       cp = copy /y
        NUL = NUL
 endif
 
diff --git a/reactos/boot/freeldr/bootsect/bootsect.xml b/reactos/boot/freeldr/bootsect/bootsect.xml
new file mode 100644 (file)
index 0000000..b94b3d4
--- /dev/null
@@ -0,0 +1,20 @@
+<module name="dosmbr" type="bootsector" >\r
+       <bootstrap base="loader" nameoncd="dosmbr.bin" />\r
+       <file>dosmbr.asm</file>\r
+</module>\r
+<module name="ext2" type="bootsector">\r
+       <bootstrap base="loader" nameoncd="ext2.bin" />\r
+       <file>ext2.asm</file>\r
+</module>\r
+<module name="fat32" type="bootsector">\r
+       <bootstrap base="loader" nameoncd="fat32.bin" />\r
+       <file>fat32.asm</file>\r
+</module>\r
+<module name="fat" type="bootsector">\r
+       <bootstrap base="loader" nameoncd="fat.bin" />\r
+       <file>fat.asm</file>\r
+</module>\r
+<module name="isoboot" type="bootsector">\r
+       <bootstrap base="loader" nameoncd="isoboot.bin" />\r
+       <file>isoboot.asm</file>\r
+</module>\r
index a3c3e78..9ef1a6a 100644 (file)
@@ -1,14 +1,6 @@
-<module name="bootsector" type="bootsector">\r
-       <directory name="bootsect">\r
-               <file>dosmbr.asm</file>\r
-               <file>ext2.asm</file>\r
-               <file>fat32.asm</file>\r
-               <file>fat.asm</file>\r
-               <file>isoboot.asm</file>\r
-               <file>win2k.asm</file>\r
-               <file>wxpfat16.asm</file>\r
-       </directory>\r
-</module>\r
+<directory name="bootsect">\r
+       <xi:include href="bootsect/bootsect.xml" />\r
+</directory>\r
 <directory name="freeldr">\r
        <xi:include href="freeldr/freeldr_startup.xml" />\r
        <xi:include href="freeldr/freeldr_base64k.xml" />\r
index f5e4124..32eccd7 100644 (file)
@@ -1,4 +1,5 @@
 <module name="blue" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
        <file>blue.c</file>\r
index 793b5bc..1dc4c02 100644 (file)
@@ -1,4 +1,5 @@
 <module name="cdfs" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <include base="cdfs">.</include>\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
index 5682791..b3d7171 100644 (file)
@@ -1,4 +1,5 @@
 <module name="ntfs" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <include base="ntfs">.</include>\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
index 3d1ce7c..a263ad0 100644 (file)
@@ -1,4 +1,5 @@
 <module name="vfatfs" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <include base="vfatfs">.</include>\r
        <define name="__USE_W32API" />\r
        <library>ntoskrnl</library>\r
index a19e315..25041e8 100644 (file)
@@ -1,4 +1,5 @@
 <module name="keyboard" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <include base="keyboard">.</include>\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
index 29cd890..cf3e82a 100644 (file)
@@ -1,4 +1,5 @@
 <module name="atapi" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <include base="atapi">.</include>\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
index 8045380..44f8b2a 100644 (file)
@@ -1,4 +1,5 @@
 <module name="cdrom" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
        <library>class2</library>\r
index dd30127..92e16d5 100644 (file)
@@ -1,4 +1,5 @@
 <module name="class2" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <importlibrary definition="class2.def" />\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
index 804c859..4dddb22 100644 (file)
@@ -1,4 +1,5 @@
 <module name="disk" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
        <library>class2</library>\r
index 4d9f078..14e1347 100644 (file)
@@ -1,4 +1,5 @@
 <module name="diskdump" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <library definition="diskdump.def" />\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
index 799d713..ec58220 100644 (file)
@@ -1,4 +1,5 @@
 <module name="floppy" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <include base="floppy">.</include>\r
        <library>ntoskrnl</library>\r
        <library>hal</library>\r
index 77318e9..025467d 100644 (file)
@@ -1,4 +1,5 @@
 <module name="scsiport" type="kernelmodedriver">\r
+       <bootstrap base="reactos" />\r
        <importlibrary definition="scsiport.def" />\r
        <include base="scsiport">.</include>\r
        <library>ntoskrnl</library>\r
index 97ddb89..5b7cd3c 100644 (file)
@@ -1,4 +1,5 @@
 <module name="ntdll" type="nativedll" baseaddress="${BASEADDRESS_NTDLL}">\r
+       <bootstrap base="reactos/system32" />\r
        <importlibrary definition="def/ntdll.def" />\r
        <define name="__NTDLL__" />\r
        <define name="_DISABLE_TIDENTS" />\r
index 9bf4b8f..4794940 100644 (file)
@@ -1,4 +1,5 @@
 <module name="ntoskrnl" type="kernel">\r
+       <bootstrap base="reactos" />\r
        <importlibrary definition="ntoskrnl.def" />\r
        <define name="_SEH_NO_NATIVE_NLG" />\r
        <define name="_DISABLE_TIDENTS" />\r
index 516e20c..c3b2976 100644 (file)
@@ -40,6 +40,9 @@
 <directory name="userinit">\r
        <xi:include href="userinit/userinit.xml" />\r
 </directory>\r
+<directory name="usetup">\r
+       <xi:include href="usetup/usetup.xml" />\r
+</directory>\r
 <directory name="vmwinst">\r
        <xi:include href="vmwinst/vmwinst.xml" />\r
 </directory>\r
diff --git a/reactos/subsys/system/reactos/reactos.xml b/reactos/subsys/system/reactos/reactos.xml
new file mode 100644 (file)
index 0000000..84a0af0
--- /dev/null
@@ -0,0 +1,12 @@
+<module name="reactos" type="win32gui">\r
+       <bootstrap base="reactos" />\r
+       <include base="reactos">.</include>\r
+       <define name="_WIN32_IE">0x0501</define>\r
+       <define name="_WIN32_WINNT">0x0501</define>\r
+       <define name="__USE_W32API" />\r
+       <library>kernel32</library>\r
+       <library>gdi32</library>\r
+       <library>user32</library>\r
+       <file>reactos.c</file>\r
+       <file>reactos.rc</file>\r
+</module>\r
diff --git a/reactos/subsys/system/usetup/usetup.xml b/reactos/subsys/system/usetup/usetup.xml
new file mode 100644 (file)
index 0000000..465f9d0
--- /dev/null
@@ -0,0 +1,27 @@
+<module name="usetup" type="nativecui">\r
+       <bootstrap base="reactos/system32" nameoncd="smss.exe" />\r
+       <include base="usetup">.</include>\r
+       <include base="zlib">.</include>\r
+       <define name="_DISABLE_TIDENTS" />\r
+       <linkerflag>-lgcc</linkerflag>\r
+       <library>zlib</library>\r
+       <library>vfatlib</library>\r
+       <library>ntdll</library>\r
+       <file>bootsup.c</file>\r
+       <file>cabinet.c</file>\r
+       <file>console.c</file>\r
+       <file>drivesup.c</file>\r
+       <file>filequeue.c</file>\r
+       <file>filesup.c</file>\r
+       <file>format.c</file>\r
+       <file>fslist.c</file>\r
+       <file>genlist.c</file>\r
+       <file>infcache.c</file>\r
+       <file>inicache.c</file>\r
+       <file>partlist.c</file>\r
+       <file>progress.c</file>\r
+       <file>registry.c</file>\r
+       <file>settings.c</file>\r
+       <file>usetup.c</file>\r
+       <file>usetup.rc</file>\r
+</module>\r
index 2e8a424..bb5f9ab 100644 (file)
@@ -1,4 +1,5 @@
 <module name="welcome" type="win32gui">\r
+       <bootstrap base="reactos" />\r
        <include base="welcome">.</include>\r
        <define name="_WIN32_IE">0x0501</define>\r
        <define name="_WIN32_WINNT">0x0501</define>\r
index 5d9ab57..a9e7dde 100644 (file)
@@ -1989,6 +1989,24 @@ MingwIsoModuleHandler::GetCdDirectories ( const string bootcdDirectory,
        return directories;\r
 }\r
 \r
+string\r
+MingwIsoModuleHandler::GetCdFiles ( const string bootcdDirectory,\r
+                                       const Module& module ) const\r
+{\r
+       string files;\r
+       for ( size_t i = 0; i < module.project.modules.size (); i++ )\r
+       {\r
+               const Module& m = *module.project.modules[i];\r
+               if ( m.bootstrap != NULL )\r
+               {\r
+                       if ( files.size () > 0 )\r
+                               files += " ";\r
+                       files += FixupTargetFilename ( m.GetPath () );\r
+               }\r
+       }\r
+       return files;\r
+}\r
+\r
 void\r
 MingwIsoModuleHandler::GenerateIsoModuleTarget ( const Module& module )\r
 {\r
@@ -2001,14 +2019,17 @@ MingwIsoModuleHandler::GenerateIsoModuleTarget ( const Module& module )
        string reactosDff = NormalizeFilename ( "bootdata/packages/reactos.dff" );\r
        string cdDirectories = bootcdReactos + " " + GetCdDirectories ( bootcdDirectory,\r
                                                                        module );\r
+       string cdFiles = GetCdFiles ( bootcdDirectory,\r
+                                     module );\r
 \r
        fprintf ( fMakefile, ".PHONY: %s\n\n",\r
                      module.name.c_str ());\r
        fprintf ( fMakefile,\r
-                 "%s: all %s %s\n",\r
+                 "%s: all %s %s %s\n",\r
                  module.name.c_str (),\r
                  isoboot.c_str (),\r
-                 cdDirectories.c_str () );\r
+                 cdDirectories.c_str (),\r
+                 cdFiles.c_str () );\r
        fprintf ( fMakefile,\r
                  "\t${cabman} /C %s /L %s /I\n",\r
                  reactosDff.c_str (),\r
index 5a4feca..37bb9a1 100644 (file)
@@ -293,6 +293,8 @@ private:
        void GenerateIsoModuleTarget ( const Module& module );\r
        std::string GetCdDirectories ( const std::string bootcdDirectory,\r
                                       const Module& module ) const;\r
+       std::string GetCdFiles ( const std::string bootcdDirectory,\r
+                                const Module& module ) const;\r
        void OutputBootstrapfileCopyCommands ( const std::string bootcdDirectory,\r
                                               const Module& module ) const;\r
 };\r
index b96a1f7..00ee4bd 100644 (file)
@@ -32,12 +32,12 @@ Bootstrap::IsSupportedModuleType ( ModuleType type )
                case Win32CUI:\r
                case Win32GUI:\r
                case KernelModeDriver:\r
+               case BootSector:\r
                        return true;\r
                case BuildTool:\r
                case StaticLibrary:\r
                case ObjectLibrary:\r
                case BootLoader:\r
-               case BootSector:\r
                case Iso:\r
                        return false;\r
        }\r