As some of you may know I have been working in rbuild on my own branch (http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/) for the last two weeks.

 

I will summarize my most important changes here so anyone can give me their opinion:

 

- Created a new concept "the cd bootstrap folder" . The cd bootstrap folder is a user customizable folder in the cd's root that defaults to the current build architecture for example i386 o ppc.

 

- Modifed the InstallBase from the BootStrap element to be relative to the bootstrap folder, for example the usetup

bootstrap:

 

<bootstrap installbase="system32" nameoncd="smss.exe" />

 

will be created in  :

 

(CD)\i386\system32\smss.exe on a I386 build and

(CD)\ppc\system32\smss.exe on a powerpc build

 

- Introduced a new element "bootstrapfile" equivalent to the bootstrap for module target but applied to regular files for

example :

 

            <bootstrapfile>hivecls.inf</bootstrapfile>

 

will be placed in :

 

(CD)\i386\hivecls.inf on a I386 build and

(CD)\ppc\hivecls.inf on a powerpc build

 

With these changes we will be able to place complete installation for more than one architecture in the same cd .Only one of the architectures will be able to

be booted by default but we can include the cdmake utility + some .bat files in a (CD)\tools folder so the user can download the official CD with all

supported architectures and create a bootable boot CD for a particular architecture. cool huh?

 

- Experimental support to autogenerate rsrc.rc equivalent and platform dependent manifest.xml to intermediate folder

 

- Add preliminary support to track authors/contributors/developers/translators for each module. It can be useful to autogenerate uptodate \CREDITS file , module/authors reports (see for example: http://www.codexchange.net/rosdoc/authors.htm or http://www.codexchange.net/rosdoc/eventvwr.htm) or even source code for modules like notevil

 

- Autogenerate CREDITS file in intermediate folder (for now)

 

- Declarative module localizations : Now module localizations are created in a declarative way which makes trivial tasks like listing non existent or outdated language localizations in real time  for example :

http://www.codexchange.net/rosdoc/localizations.htm

 

Let me know your opinions and suggestions as I would like to start finishing some of this features and merge all/part of my changes back to trunk

 

note: The produced iso images won't boot due to relocation of the \loader folder. boot/freeldr/bootsect/isoboot.asm and isobtrt.asm will have to be modified to search \i386\loader .Probably also setuldr.sys will have to be modified.

 

/Marc