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