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