Author: mpiulachs
Date: Fri Nov 2 21:36:55 2007
New Revision: 30072
URL:
http://svn.reactos.org/svn/reactos?rev=30072&view=rev
Log:
- 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
- Moved the "loader" folder from cd root to the bootstrap cd folder (this will
require a modification in isoboot.asm). Every architecture will have its
bootloader code in (CD)\(BootStrapFolder)\loader
With this 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?
============================================
- Consity and explicty declare install folders , use the same ID that this folders have on
Windows , we will use it later to validate InstallBase attributes
and during setup
Added:
branches/rbuild/reactos/installfolders.rbuild (with props)
Modified:
branches/rbuild/reactos/ReactOS-generic.rbuild
branches/rbuild/reactos/base/applications/notepad/setup/notepad.inf
branches/rbuild/reactos/base/setup/reactos/reactos.rbuild
branches/rbuild/reactos/base/setup/usetup/usetup.rbuild
branches/rbuild/reactos/base/setup/welcome/welcome.rbuild
branches/rbuild/reactos/boot/bootdata/bootdata.rbuild
branches/rbuild/reactos/boot/freeldr/freeldr/setupldr.rbuild
branches/rbuild/reactos/dll/ntdll/ntdll.rbuild
branches/rbuild/reactos/drivers/base/bootvid/bootvid.rbuild
branches/rbuild/reactos/drivers/base/kdcom/kdcom.rbuild
branches/rbuild/reactos/drivers/filesystems/cdfs/cdfs.rbuild
branches/rbuild/reactos/drivers/filesystems/ntfs/ntfs.rbuild
branches/rbuild/reactos/drivers/filesystems/vfat/vfatfs.rbuild
branches/rbuild/reactos/drivers/input/i8042prt/i8042prt.rbuild
branches/rbuild/reactos/drivers/input/kbdclass/kbdclass.rbuild
branches/rbuild/reactos/drivers/setup/blue/blue.rbuild
branches/rbuild/reactos/drivers/storage/class/cdrom/cdrom.rbuild
branches/rbuild/reactos/drivers/storage/class/class2/class2.rbuild
branches/rbuild/reactos/drivers/storage/class/disk/disk.rbuild
branches/rbuild/reactos/drivers/storage/floppy/floppy.rbuild
branches/rbuild/reactos/drivers/storage/ide/atapi/atapi.rbuild
branches/rbuild/reactos/drivers/storage/ide/uniata/uniata.rbuild
branches/rbuild/reactos/drivers/storage/port/buslogic/buslogic.rbuild
branches/rbuild/reactos/drivers/storage/port/diskdump/diskdump.rbuild
branches/rbuild/reactos/drivers/storage/scsiport/scsiport.rbuild
branches/rbuild/reactos/hal/halppc/up/halup.rbuild
branches/rbuild/reactos/hal/halx86/mp/halmp.rbuild
branches/rbuild/reactos/hal/halx86/up/halup.rbuild
branches/rbuild/reactos/media/drivers/etc/etc.rbuild
branches/rbuild/reactos/media/nls/nls.rbuild
branches/rbuild/reactos/ntoskrnl/ntoskrnl.rbuild
branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.h
branches/rbuild/reactos/tools/rbuild/bootstrap.cpp
branches/rbuild/reactos/tools/rbuild/cdfile.cpp
branches/rbuild/reactos/tools/rbuild/linkerscript.cpp
branches/rbuild/reactos/tools/rbuild/project.cpp
branches/rbuild/reactos/tools/rbuild/rbuild.h
branches/rbuild/reactos/tools/rbuild/syssetupgenerator.cpp
Modified: branches/rbuild/reactos/ReactOS-generic.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/ReactOS-generic.…
==============================================================================
--- branches/rbuild/reactos/ReactOS-generic.rbuild (original)
+++ branches/rbuild/reactos/ReactOS-generic.rbuild Fri Nov 2 21:36:55 2007
@@ -3,6 +3,7 @@
<group
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="baseaddress.rbuild" />
<xi:include href="contributors.rbuild" />
+ <xi:include href="installfolders.rbuild" />
<define name="__REACTOS__" overridable="true" />
<if property="MP" value="1">
Modified: branches/rbuild/reactos/base/applications/notepad/setup/notepad.inf
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/base/application…
==============================================================================
--- branches/rbuild/reactos/base/applications/notepad/setup/notepad.inf (original)
+++ branches/rbuild/reactos/base/applications/notepad/setup/notepad.inf Fri Nov 2
21:36:55 2007
@@ -8,9 +8,9 @@
[NotepadDesktopItemAdd]
Name = %NOTEPAD_NAME%, 0x0000008, 16409
-CmdLine = 24,"%SystemRoot%\system32\","notepad.exe"
+CmdLine = 11,,"notepad.exe"
InfoTip = %NOTEPAD_DESC%
-WorkingDir = 24,"%HOMEDRIVE%%HOMEPATH%"
+WorkingDir = "%HOMEDRIVE%%HOMEPATH%"
; Localizable Strings
Modified: branches/rbuild/reactos/base/setup/reactos/reactos.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/base/setup/react…
==============================================================================
--- branches/rbuild/reactos/base/setup/reactos/reactos.rbuild (original)
+++ branches/rbuild/reactos/base/setup/reactos/reactos.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="reactos" type="win32gui">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<include base="reactos">.</include>
<define name="_WIN32_IE">0x0501</define>
<define name="_WIN32_WINNT">0x0501</define>
Modified: branches/rbuild/reactos/base/setup/usetup/usetup.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/base/setup/usetu…
==============================================================================
--- branches/rbuild/reactos/base/setup/usetup/usetup.rbuild (original)
+++ branches/rbuild/reactos/base/setup/usetup/usetup.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="usetup" type="nativecui"
installbase="system32" installname="usetup.exe"
allowwarnings="false">
- <bootstrap installbase="$(CDOUTPUT)/system32" nameoncd="smss.exe"
/>
+ <bootstrap installbase="system32" nameoncd="smss.exe" />
<include base="usetup">.</include>
<include base="zlib">.</include>
<include base="inflib">.</include>
Modified: branches/rbuild/reactos/base/setup/welcome/welcome.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/base/setup/welco…
==============================================================================
--- branches/rbuild/reactos/base/setup/welcome/welcome.rbuild (original)
+++ branches/rbuild/reactos/base/setup/welcome/welcome.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="welcome" type="win32gui"
installbase="system32" installname="welcome.exe">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<include base="welcome">.</include>
<define name="_WIN32_IE">0x0501</define>
<define name="_WIN32_WINNT">0x0501</define>
Modified: branches/rbuild/reactos/boot/bootdata/bootdata.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/boot/bootdata/bo…
==============================================================================
--- branches/rbuild/reactos/boot/bootdata/bootdata.rbuild (original)
+++ branches/rbuild/reactos/boot/bootdata/bootdata.rbuild Fri Nov 2 21:36:55 2007
@@ -4,12 +4,23 @@
<cdfile>autorun.inf</cdfile>
<cdfile>icon.ico</cdfile>
<cdfile>readme.txt</cdfile>
- <cdfile installbase="$(CDOUTPUT)">hivecls.inf</cdfile>
- <cdfile installbase="$(CDOUTPUT)">hivedef.inf</cdfile>
- <cdfile installbase="$(CDOUTPUT)">hivesft.inf</cdfile>
- <cdfile installbase="$(CDOUTPUT)">hivesys.inf</cdfile>
- <cdfile installbase="$(CDOUTPUT)">txtsetup.sif</cdfile>
- <cdfile installbase="$(CDOUTPUT)">unattend.inf</cdfile>
+
+ <bootstrapfile>hivecls.inf</bootstrapfile>
+ <bootstrapfile>hivedef.inf</bootstrapfile>
+ <bootstrapfile>hivesft.inf</bootstrapfile>
+ <bootstrapfile>hivesys.inf</bootstrapfile>
+ <bootstrapfile>txtsetup.sif</bootstrapfile>
+ <bootstrapfile>unattend.inf</bootstrapfile>
+
+ <!--
+ <cdfile installbase="reactos">hivecls.inf</cdfile>
+ <cdfile installbase="reactos">hivedef.inf</cdfile>
+ <cdfile installbase="reactos">hivesft.inf</cdfile>
+ <cdfile installbase="reactos">hivesys.inf</cdfile>
+ <cdfile installbase="reactos">txtsetup.sif</cdfile>
+ <cdfile installbase="reactos">unattend.inf</cdfile>
+ -->
+
<directory name="bootcd">
<xi:include href="bootcd/bootcd.rbuild" />
</directory>
Modified: branches/rbuild/reactos/boot/freeldr/freeldr/setupldr.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/boot/freeldr/fre…
==============================================================================
--- branches/rbuild/reactos/boot/freeldr/freeldr/setupldr.rbuild (original)
+++ branches/rbuild/reactos/boot/freeldr/freeldr/setupldr.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="setupldr" type="bootloader">
- <bootstrap installbase="loader" />
+ <bootstrap installbase="loader"/>
<library>freeldr_startup</library>
<library>freeldr_base64k</library>
<library>freeldr_base</library>
Modified: branches/rbuild/reactos/dll/ntdll/ntdll.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/dll/ntdll/ntdll.…
==============================================================================
--- branches/rbuild/reactos/dll/ntdll/ntdll.rbuild (original)
+++ branches/rbuild/reactos/dll/ntdll/ntdll.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../tools/rbuild/project.dtd">
<module name="ntdll" type="nativedll" entrypoint="0"
baseaddress="${BASEADDRESS_NTDLL}" installbase="system32"
installname="ntdll.dll">
- <bootstrap installbase="$(CDOUTPUT)/system32" />
+ <bootstrap installbase="system32" />
<importlibrary definition="def/ntdll.def" />
<include base="ntdll">inc</include>
<include base="ReactOS">include/reactos/subsys</include>
Modified: branches/rbuild/reactos/drivers/base/bootvid/bootvid.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/base/boo…
==============================================================================
--- branches/rbuild/reactos/drivers/base/bootvid/bootvid.rbuild (original)
+++ branches/rbuild/reactos/drivers/base/bootvid/bootvid.rbuild Fri Nov 2 21:36:55 2007
@@ -2,7 +2,7 @@
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="bootvid" type="kernelmodedll"
entrypoint="DriverEntry@8" installbase="system32/drivers"
installname="bootvid.dll">
<importlibrary definition="bootvid.def"></importlibrary>
- <bootstrap installbase="$(CDOUTPUT)" nameoncd="bootvid.dll"
/>
+ <bootstrap nameoncd="bootvid.dll" />
<include base="bootvid">.</include>
<define name="__USE_W32API" />
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/base/kdcom/kdcom.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/base/kdc…
==============================================================================
--- branches/rbuild/reactos/drivers/base/kdcom/kdcom.rbuild (original)
+++ branches/rbuild/reactos/drivers/base/kdcom/kdcom.rbuild Fri Nov 2 21:36:55 2007
@@ -2,7 +2,7 @@
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="kdcom" type="kernelmodedll"
entrypoint="DriverEntry@8" installbase="system32/drivers"
installname="kdcom.dll">
<importlibrary definition="kdcom.def"></importlibrary>
- <bootstrap installbase="$(CDOUTPUT)" nameoncd="kdcom.dll" />
+ <bootstrap nameoncd="kdcom.dll" />
<include base="kdcom">.</include>
<define name="__USE_W32API" />
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/filesystems/cdfs/cdfs.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/filesyst…
==============================================================================
--- branches/rbuild/reactos/drivers/filesystems/cdfs/cdfs.rbuild (original)
+++ branches/rbuild/reactos/drivers/filesystems/cdfs/cdfs.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="cdfs" type="kernelmodedriver"
installbase="system32/drivers" installname="cdfs.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<include base="cdfs">.</include>
<define name="__USE_W32API" />
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/filesystems/ntfs/ntfs.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/filesyst…
==============================================================================
--- branches/rbuild/reactos/drivers/filesystems/ntfs/ntfs.rbuild (original)
+++ branches/rbuild/reactos/drivers/filesystems/ntfs/ntfs.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="ntfs" type="kernelmodedriver"
installbase="system32/drivers" installname="ntfs.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<include base="ntfs">.</include>
<define name="__USE_W32API" />
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/filesystems/vfat/vfatfs.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/filesyst…
==============================================================================
--- branches/rbuild/reactos/drivers/filesystems/vfat/vfatfs.rbuild (original)
+++ branches/rbuild/reactos/drivers/filesystems/vfat/vfatfs.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="vfatfs" type="kernelmodedriver"
installbase="system32/drivers" installname="vfatfs.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<include base="vfatfs">.</include>
<define name="__USE_W32API" />
<linkerflag>-lgcc</linkerflag>
Modified: branches/rbuild/reactos/drivers/input/i8042prt/i8042prt.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/input/i8…
==============================================================================
--- branches/rbuild/reactos/drivers/input/i8042prt/i8042prt.rbuild (original)
+++ branches/rbuild/reactos/drivers/input/i8042prt/i8042prt.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="i8042prt" type="kernelmodedriver"
installbase="system32/drivers" installname="i8042prt.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<include base="i8042prt">.</include>
<define name="__USE_W32API" />
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/input/kbdclass/kbdclass.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/input/kb…
==============================================================================
--- branches/rbuild/reactos/drivers/input/kbdclass/kbdclass.rbuild (original)
+++ branches/rbuild/reactos/drivers/input/kbdclass/kbdclass.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="kbdclass" type="kernelmodedriver"
installbase="system32/drivers" installname="kbdclass.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<define name="NDEBUG" />
<library>pseh</library>
Modified: branches/rbuild/reactos/drivers/setup/blue/blue.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/setup/bl…
==============================================================================
--- branches/rbuild/reactos/drivers/setup/blue/blue.rbuild (original)
+++ branches/rbuild/reactos/drivers/setup/blue/blue.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="blue" type="kernelmodedriver"
installbase="system32/drivers" installname="blue.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<include base="ReactOS">include/reactos/drivers</include>
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/storage/class/cdrom/cdrom.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/class/cdrom/cdrom.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/class/cdrom/cdrom.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="cdrom" type="kernelmodedriver"
installbase="system32/drivers" installname="cdrom.sys"
allowwarnings="true">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<library>ntoskrnl</library>
<library>hal</library>
Modified: branches/rbuild/reactos/drivers/storage/class/class2/class2.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/class/class2/class2.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/class/class2/class2.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="class2" type="kernelmodedriver"
installbase="system32/drivers" installname="class2.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<importlibrary definition="class2.def" />
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/storage/class/disk/disk.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/class/disk/disk.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/class/disk/disk.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="disk" type="kernelmodedriver"
installbase="system32/drivers" installname="disk.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<linkerflag>-lgcc</linkerflag>
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/storage/floppy/floppy.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/floppy/floppy.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/floppy/floppy.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="floppy" type="kernelmodedriver"
installbase="system32/drivers" installname="floppy.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<include base="floppy">.</include>
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/storage/ide/atapi/atapi.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/ide/atapi/atapi.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/ide/atapi/atapi.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="atapi" type="kernelmodedriver"
installbase="system32/drivers" installname="atapi.sys"
allowwarnings="true">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<include base="atapi">.</include>
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/storage/ide/uniata/uniata.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/ide/uniata/uniata.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/ide/uniata/uniata.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="uniata" type="kernelmodedriver"
installbase="system32/drivers" allowwarnings="true"
installname="uniata.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<define name="_DEBUG" />
<include base="uniata">.</include>
Modified: branches/rbuild/reactos/drivers/storage/port/buslogic/buslogic.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/port/buslogic/buslogic.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/port/buslogic/buslogic.rbuild Fri Nov 2
21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="buslogic" type="kernelmodedriver"
installbase="system32/drivers" installname="buslogic.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<include base="buslogic">.</include>
<library>ntoskrnl</library>
Modified: branches/rbuild/reactos/drivers/storage/port/diskdump/diskdump.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/port/diskdump/diskdump.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/port/diskdump/diskdump.rbuild Fri Nov 2
21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="diskdump" type="kernelmodedriver"
installbase="system32/drivers" installname="diskdump.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<importlibrary definition="diskdump.def" />
<define name="__USE_W32API" />
<include base="ReactOS">include/reactos/drivers</include>
Modified: branches/rbuild/reactos/drivers/storage/scsiport/scsiport.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/drivers/storage/…
==============================================================================
--- branches/rbuild/reactos/drivers/storage/scsiport/scsiport.rbuild (original)
+++ branches/rbuild/reactos/drivers/storage/scsiport/scsiport.rbuild Fri Nov 2 21:36:55
2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="scsiport" type="kernelmodedriver"
installbase="system32/drivers" installname="scsiport.sys">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<define name="__USE_W32API" />
<define name="_SCSIPORT_" />
<importlibrary definition="scsiport.def" />
Modified: branches/rbuild/reactos/hal/halppc/up/halup.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/hal/halppc/up/ha…
==============================================================================
--- branches/rbuild/reactos/hal/halppc/up/halup.rbuild (original)
+++ branches/rbuild/reactos/hal/halppc/up/halup.rbuild Fri Nov 2 21:36:55 2007
@@ -2,7 +2,7 @@
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="halppc_up" type="kernelmodedll">
<importlibrary definition="../../hal/hal.def" />
- <bootstrap installbase="$(CDOUTPUT)" nameoncd="hal.dll" />
+ <bootstrap nameoncd="hal.dll" />
<include base="halppc_generic">../include</include>
<include base="ntoskrnl">include</include>
<define name="_DISABLE_TIDENTS" />
Modified: branches/rbuild/reactos/hal/halx86/mp/halmp.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/hal/halx86/mp/ha…
==============================================================================
--- branches/rbuild/reactos/hal/halx86/mp/halmp.rbuild (original)
+++ branches/rbuild/reactos/hal/halx86/mp/halmp.rbuild Fri Nov 2 21:36:55 2007
@@ -2,7 +2,7 @@
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="halmp" type="kernelmodedll"
entrypoint="0">
<importlibrary definition="../../hal/hal.def" />
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<include base="hal_generic">../include</include>
<include base="ntoskrnl">include</include>
<define name="_DISABLE_TIDENTS" />
Modified: branches/rbuild/reactos/hal/halx86/up/halup.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/hal/halx86/up/ha…
==============================================================================
--- branches/rbuild/reactos/hal/halx86/up/halup.rbuild (original)
+++ branches/rbuild/reactos/hal/halx86/up/halup.rbuild Fri Nov 2 21:36:55 2007
@@ -2,7 +2,7 @@
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="halup" type="kernelmodedll"
entrypoint="0">
<importlibrary definition="../../hal/hal.def" />
- <bootstrap installbase="$(CDOUTPUT)" nameoncd="hal.dll" />
+ <bootstrap nameoncd="hal.dll" />
<include base="hal_generic">../include</include>
<include base="ntoskrnl">include</include>
<define name="_DISABLE_TIDENTS" />
Added: branches/rbuild/reactos/installfolders.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/installfolders.r…
==============================================================================
--- branches/rbuild/reactos/installfolders.rbuild (added)
+++ branches/rbuild/reactos/installfolders.rbuild Fri Nov 2 21:36:55 2007
@@ -1,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE group SYSTEM "tools/rbuild/project.dtd">
+<group
xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ <!-- XP SP2 folders -->
+ <installfolder id="1">.</installfolder>
+ <installfolder id="2">system32</installfolder>
+ <installfolder id="3">system32\config</installfolder>
+ <installfolder id="4">system32\drivers</installfolder>
+ <installfolder id="5">system</installfolder>
+ <installfolder id="17">system32\drivers\etc</installfolder>
+ <installfolder id="20">inf</installfolder>
+ <installfolder id="22">fonts</installfolder>
+
+ <!-- Reactos specific folders -->
+ <installfolder id="201">system32\bin</installfolder>
+ <installfolder id="202">media\fonts</installfolder>
+</group>
Propchange: branches/rbuild/reactos/installfolders.rbuild
------------------------------------------------------------------------------
svn:eol-style = native
Modified: branches/rbuild/reactos/media/drivers/etc/etc.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/media/drivers/et…
==============================================================================
--- branches/rbuild/reactos/media/drivers/etc/etc.rbuild (original)
+++ branches/rbuild/reactos/media/drivers/etc/etc.rbuild Fri Nov 2 21:36:55 2007
@@ -1,10 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
<group>
- <cdfile installbase="$(CDOUTPUT)">services</cdfile>
+ <bootstrapfile>services</bootstrapfile>
<installfile
installbase="system32/drivers/etc">services</installfile>
<if property="KDBG" value="1">
- <cdfile installbase="$(CDOUTPUT)">KDBinit</cdfile>
+ <bootstrapfile>KDBinit</bootstrapfile>
<installfile
installbase="system32/drivers/etc">KDBinit</installfile>
</if>
</group>
Modified: branches/rbuild/reactos/media/nls/nls.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/media/nls/nls.rb…
==============================================================================
--- branches/rbuild/reactos/media/nls/nls.rbuild (original)
+++ branches/rbuild/reactos/media/nls/nls.rbuild Fri Nov 2 21:36:55 2007
@@ -1,9 +1,9 @@
<?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
<group>
- <cdfile installbase="$(CDOUTPUT)">c_437.nls</cdfile>
- <cdfile installbase="$(CDOUTPUT)">c_1252.nls</cdfile>
- <cdfile installbase="$(CDOUTPUT)">l_intl.nls</cdfile>
+ <bootstrapfile>c_437.nls</bootstrapfile>
+ <bootstrapfile>c_1252.nls</bootstrapfile>
+ <bootstrapfile>l_intl.nls</bootstrapfile>
<installfile installbase="system32">c_037.nls</installfile>
<installfile installbase="system32">c_424.nls</installfile>
@@ -59,4 +59,4 @@
<installfile installbase="system32">c_28598.nls</installfile>
<installfile installbase="system32">c_28599.nls</installfile>
<installfile installbase="system32">l_intl.nls</installfile>
-</group>
+</group>
Modified: branches/rbuild/reactos/ntoskrnl/ntoskrnl.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/ntoskrnl/ntoskrn…
==============================================================================
--- branches/rbuild/reactos/ntoskrnl/ntoskrnl.rbuild (original)
+++ branches/rbuild/reactos/ntoskrnl/ntoskrnl.rbuild Fri Nov 2 21:36:55 2007
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../tools/rbuild/project.dtd">
<module name="ntoskrnl" type="kernel"
installbase="system32" installname="ntoskrnl.exe">
- <bootstrap installbase="$(CDOUTPUT)" />
+ <bootstrap />
<importlibrary definition="ntoskrnl.def" />
<define name="_DISABLE_TIDENTS" />
<define name="__NTOSKRNL__" />
Modified: branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/bac…
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.cpp (original)
+++ branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.cpp Fri Nov 2
21:36:55 2007
@@ -3329,7 +3329,8 @@
}
void
-MingwIsoModuleHandler::OutputBootstrapfileCopyCommands (
+MingwIsoModuleHandler::OutputBootstrapModuleTargetCopyCommands (
+ const string& bootcdstrapDirectory ,
const string& bootcdDirectory )
{
for ( size_t i = 0; i < module.project.modules.size (); i++ )
@@ -3339,12 +3340,26 @@
continue;
if ( m.bootstrap != NULL )
{
- FileLocation targetFile ( OutputDirectory,
- m.bootstrap->base.length () > 0
- ? bootcdDirectory + sSep + m.bootstrap->base
- : bootcdDirectory,
- m.bootstrap->nameoncd );
- OutputCopyCommand ( *m.output, targetFile );
+ if (m.bootstrap->archDependent == true)
+ {
+ FileLocation targetFile ( OutputDirectory,
+ m.bootstrap->base.length () > 0
+ ? bootcdstrapDirectory + sSep +
m.bootstrap->base
+ : bootcdstrapDirectory,
+ m.bootstrap->nameoncd );
+
+ OutputCopyCommand ( *m.output, targetFile );
+ }
+ else
+ {
+ FileLocation targetFile ( OutputDirectory,
+ m.bootstrap->base.length () > 0
+ ? bootcdDirectory + sSep + m.bootstrap->base
+ : bootcdDirectory,
+ m.bootstrap->nameoncd );
+
+ OutputCopyCommand ( *m.output, targetFile );
+ }
}
}
}
@@ -3362,6 +3377,22 @@
: bootcdDirectory,
cdfile.target->name );
OutputCopyCommand ( *cdfile.source, targetFile );
+ }
+}
+
+void
+MingwIsoModuleHandler::OutputBootstrapfileCopyCommands (
+ const string& bootcdDirectory )
+{
+ for ( size_t i = 0; i < module.project.bootstrapfiles.size (); i++ )
+ {
+ const BootstrapFile& bootfile = *module.project.bootstrapfiles[i];
+ FileLocation targetFile ( OutputDirectory,
+ bootfile.target->relative_path.length () > 0
+ ? bootcdDirectory + sSep +
bootfile.target->relative_path
+ : bootcdDirectory,
+ bootfile.target->name );
+ OutputCopyCommand ( *bootfile.source, targetFile );
}
}
@@ -3449,11 +3480,13 @@
MingwIsoModuleHandler::GenerateIsoModuleTarget ()
{
string bootcdDirectory = "cd";
+ string bootcdStrapDirectory = bootcdDirectory + sSep +
Environment::GetBootstrapCdOutputPath();
+
FileLocation bootcd ( OutputDirectory,
bootcdDirectory,
"" );
FileLocation bootcdReactos ( OutputDirectory,
- bootcdDirectory + sSep + Environment::GetCdOutputPath (),
+ bootcdStrapDirectory,
"" );
vector<FileLocation> vSourceFiles, vCdFiles;
vector<FileLocation> vCdDirectories;
@@ -3523,7 +3556,9 @@
fprintf ( fMakefile,
"\t-@${rm} %s 2>$(NUL)\n",
backend->GetFullName ( reactosInf ).c_str () );
- OutputBootstrapfileCopyCommands ( bootcdDirectory );
+
+ OutputBootstrapfileCopyCommands ( bootcdStrapDirectory );
+ OutputBootstrapModuleTargetCopyCommands ( bootcdStrapDirectory , bootcdDirectory);
OutputCdfileCopyCommands ( bootcdDirectory );
if (module.type == IsoRegTest)
@@ -3670,7 +3705,7 @@
FileLocation isoboot ( OutputDirectory, "boot" + sSep + "freeldr" +
sSep + "bootsect", bootloader );
- string reactosDirectory = "reactos";
+ string reactosDirectory = Environment::GetArch();// "reactos";
string livecdReactosNoFixup = livecdDirectory + sSep + reactosDirectory;
FileLocation livecdReactos ( OutputDirectory,
livecdReactosNoFixup,
Modified: branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.h
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/bac…
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.h (original)
+++ branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.h Fri Nov 2 21:36:55
2007
@@ -434,8 +434,9 @@
void GetBootstrapCdFiles ( std::vector<FileLocation>& out ) const;
void GetNonModuleCdFiles ( std::vector<FileLocation>& out ) const;
void GetCdFiles ( std::vector<FileLocation>& out ) const;
- void OutputBootstrapfileCopyCommands ( const std::string& bootcdDirectory );
+ void OutputBootstrapModuleTargetCopyCommands ( const std::string&
bootcdstrapDirectory , const std::string& bootcdDirectory );
void OutputCdfileCopyCommands ( const std::string& bootcdDirectory );
+ void OutputBootstrapfileCopyCommands ( const std::string& bootcdDirectory );
};
Modified: branches/rbuild/reactos/tools/rbuild/bootstrap.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/boo…
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/bootstrap.cpp (original)
+++ branches/rbuild/reactos/tools/rbuild/bootstrap.cpp Fri Nov 2 21:36:55 2007
@@ -103,6 +103,24 @@
else
base = "";
+ archDependent = true;
+
+ att = node.GetAttribute ( "archDependent", false );
+ if ( att != NULL )
+ {
+ const char* p = att->value.c_str();
+ if ( !stricmp ( p, TRUE_STRING ) || !stricmp ( p, YES_STRING ) )
+ archDependent = true;
+ else if ( !stricmp ( p, FALSE_STRING ) || !stricmp ( p, NO_STRING ) )
+ archDependent = false;
+ else
+ {
+ throw XMLInvalidBuildFileException (
+ node.location,
+ "attribute 'archDependent' of <bootstrap> element can only be
'true' or 'false'" );
+ }
+ }
+
att = node.GetAttribute ( "nameoncd", false );
if ( att != NULL )
nameoncd = att->value;
Modified: branches/rbuild/reactos/tools/rbuild/cdfile.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/cdf…
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/cdfile.cpp (original)
+++ branches/rbuild/reactos/tools/rbuild/cdfile.cpp Fri Nov 2 21:36:55 2007
@@ -34,6 +34,18 @@
return path;
}
+string
+BootstrapFile::ReplaceVariable ( const string& name,
+ const string& value,
+ string path )
+{
+ size_t i = path.find ( name );
+ if ( i != string::npos )
+ return path.replace ( i, name.length (), value );
+ else
+ return path;
+}
+
CDFile::CDFile ( const Project& project,
const XMLElement& cdfileNode,
const string& path )
@@ -57,3 +69,27 @@
nameoncd ? att->value : cdfileNode.value,
&cdfileNode );
}
+
+BootstrapFile::BootstrapFile ( const Project& project,
+ const XMLElement& cdfileNode,
+ const string& path )
+ : XmlNode ( project, cdfileNode )
+{
+ const XMLAttribute* att = cdfileNode.GetAttribute ( "installbase", false );
+ string target_relative_directory;
+ if ( att != NULL )
+ target_relative_directory = ReplaceVariable ( "$(CDOUTPUT)",
Environment::GetCdOutputPath (), att->value );
+ else
+ target_relative_directory = "";
+
+ const XMLAttribute* nameoncd = cdfileNode.GetAttribute ( "nameoncd", false );
+
+ source = new FileLocation ( SourceDirectory,
+ path,
+ cdfileNode.value,
+ &cdfileNode );
+ target = new FileLocation ( OutputDirectory,
+ target_relative_directory,
+ nameoncd ? att->value : cdfileNode.value,
+ &cdfileNode );
+}
Modified: branches/rbuild/reactos/tools/rbuild/linkerscript.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/lin…
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/linkerscript.cpp (original)
+++ branches/rbuild/reactos/tools/rbuild/linkerscript.cpp Fri Nov 2 21:36:55 2007
@@ -76,3 +76,18 @@
else
section = "DefaultInstall";
}
+
+InstallFolder::InstallFolder ( const XMLElement& node_)
+ : node(node_)
+{
+ ProcessXML ();
+}
+
+void
+InstallFolder::ProcessXML()
+{
+ const XMLAttribute* att = node.GetAttribute ( "id", true );
+ assert(att);
+ id = att->value;
+ name = node.value;
+}
Modified: branches/rbuild/reactos/tools/rbuild/project.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/pro…
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/project.cpp (original)
+++ branches/rbuild/reactos/tools/rbuild/project.cpp Fri Nov 2 21:36:55 2007
@@ -73,16 +73,23 @@
/* static */ string
Environment::GetInstallPath ()
{
- string defaultInstall = GetCdOutputPath ();
+ //string defaultInstall = GetCdOutputPath ();
return GetEnvironmentVariablePathOrDefault ( "ROS_INSTALL",
- defaultInstall );
+ /*defaultInstall*/ "reactos" );
}
/* static */ string
Environment::GetCdOutputPath ()
{
return GetEnvironmentVariablePathOrDefault ( "ROS_CDOUTPUT",
- "reactos" );
+ "");
+}
+
+/* static */ string
+Environment::GetBootstrapCdOutputPath ()
+{
+ return GetEnvironmentVariablePathOrDefault ( "ROS_CDBOOTSTRAPOUTPUT",
+ GetArch());
}
/* static */ string
@@ -193,6 +200,8 @@
delete linkerFlags[i];
for ( i = 0; i < cdfiles.size (); i++ )
delete cdfiles[i];
+ for ( i = 0; i < bootstrapfiles.size (); i++ )
+ delete bootstrapfiles[i];
for ( i = 0; i < installfiles.size (); i++ )
delete installfiles[i];
delete head;
@@ -401,6 +410,8 @@
linkerFlags[i]->ProcessXML ();
for ( i = 0; i < modules.size (); i++ )
modules[i]->ProcessXML ();
+ for ( i = 0; i < bootstrapfiles.size (); i++ )
+ bootstrapfiles[i]->ProcessXML ();
for ( i = 0; i < cdfiles.size (); i++ )
cdfiles[i]->ProcessXML ();
for ( i = 0; i < installfiles.size (); i++ )
@@ -477,6 +488,12 @@
cdfiles.push_back ( cdfile );
subs_invalid = true;
}
+ else if ( e.name == "bootstrapfile" )
+ {
+ BootstrapFile* bootstrapfile = new BootstrapFile ( *this, e, path );
+ bootstrapfiles.push_back ( bootstrapfile );
+ subs_invalid = true;
+ }
else if ( e.name == "installfile" )
{
InstallFile* installfile = new InstallFile ( *this, e, path );
@@ -493,7 +510,13 @@
{
Contributor* contributor = new Contributor ( e );
contributors.push_back ( contributor );
- subs_invalid = true;
+ subs_invalid = false;
+ }
+ else if ( e.name == "installfolder" )
+ {
+ InstallFolder* installFolder = new InstallFolder ( e );
+ installFolders.push_back ( installFolder );
+ subs_invalid = false;
}
else if ( e.name == "directory" )
{
@@ -596,6 +619,18 @@
return NULL;
}
+const Contributor*
+Project::LocateContributor ( const string& alias ) const
+{
+ for ( size_t i = 0; i < contributors.size (); i++ )
+ {
+ if ( contributors[i]->alias == alias )
+ return contributors[i];
+ }
+
+ return NULL;
+}
+
const std::string&
Project::GetProjectFilename () const
{
Modified: branches/rbuild/reactos/tools/rbuild/rbuild.h
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/rbu…
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/rbuild.h (original)
+++ branches/rbuild/reactos/tools/rbuild/rbuild.h Fri Nov 2 21:36:55 2007
@@ -99,6 +99,7 @@
class Bootstrap;
class CDFile;
class InstallFile;
+class BootstrapFile;
class PchFile;
class StubbedComponent;
class StubbedSymbol;
@@ -117,6 +118,7 @@
class AutoManifest;
class AutoResource;
class InstallComponent;
+class InstallFolder;
typedef std::map<std::string,Directory*> directory_map;
@@ -199,6 +201,7 @@
static std::string GetIntermediatePath ();
static std::string GetOutputPath ();
static std::string GetCdOutputPath ();
+ static std::string GetBootstrapCdOutputPath ();
static std::string GetInstallPath ();
static std::string GetAutomakeFile ( const std::string& defaultFile );
static std::string GetEnvironmentVariablePathOrDefault ( const std::string& name,
@@ -262,10 +265,12 @@
XMLIncludes xmlbuildfiles;
std::vector<LinkerFlag*> linkerFlags;
std::vector<CDFile*> cdfiles;
+ std::vector<BootstrapFile*> bootstrapfiles;
std::vector<InstallFile*> installfiles;
std::vector<Module*> modules;
std::vector<Language*> languages;
std::vector<Contributor*> contributors;
+ std::vector<InstallFolder*> installFolders;
IfableData non_if_data;
ArchitectureType GetArchitectureType ( const std::string& location,
const XMLAttribute& attribute );
@@ -280,6 +285,7 @@
ArchitectureType architectureType;
void ProcessXML ( const std::string& path );
Module* LocateModule ( const std::string& name );
+ const Contributor* LocateContributor ( const std::string& alias ) const;
const Module* LocateModule ( const std::string& name ) const;
const std::string& GetProjectFilename () const;
std::string ResolveProperties ( const std::string& s ) const;
@@ -339,6 +345,19 @@
HostDefault,
HostTrue
};
+
+// reference :
http://www.msfn.org/board/lofiversion/index.php/t29964.html
+
+#define SETUPAPI_SOURCEDRIVE "1" //(the directory from which the INF file
was installed)
+#define SETUPAPI_OS "10" //(%SystemRoot%)
+#define SETUPAPI_SYSTEM "11" //(%SystemRoot%\system32)
+#define SETUPAPI_DRIVERS "12" //(%SystemRoot%\system32\drivers)
+#define SETUPAPI_INF "17" //(%SystemRoot%\inf)
+#define SETUPAPI_HELP "18" //(%SystemRoot%\Help)
+#define SETUPAPI_FONTS "20" //(%SystemRoot%\Fonts)
+#define SETUPAPI_ROOT "24" //(%SystemDrive%)
+#define SETUPAPI_SHARED "25" //(%ALLUSERSPROFILE%\Shared Documents)
+#define SETUPAPI_USERPROFILE "53" //(%USERPROFILE%)
class FileLocation
{
@@ -773,6 +792,17 @@
void ProcessXML();
};
+class InstallFolder
+{
+public:
+ const XMLElement& node;
+ std::string id;
+ std::string name;
+
+ InstallFolder ( const XMLElement& node);
+ ~InstallFolder ();
+ void ProcessXML();
+};
class Property
{
@@ -938,6 +968,7 @@
const XMLElement& node;
std::string base;
std::string nameoncd;
+ bool archDependent;
Bootstrap ( const Project& project,
const Module* module,
@@ -968,6 +999,20 @@
std::string path );
};
+class BootstrapFile : public XmlNode
+{
+public:
+ FileLocation *source;
+ FileLocation *target;
+
+ BootstrapFile ( const Project& project,
+ const XMLElement& bootstrapNode,
+ const std::string& path );
+private:
+ static std::string ReplaceVariable ( const std::string& name,
+ const std::string& value,
+ std::string path );
+};
class InstallFile : public XmlNode
{
Modified: branches/rbuild/reactos/tools/rbuild/syssetupgenerator.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/sys…
==============================================================================
--- branches/rbuild/reactos/tools/rbuild/syssetupgenerator.cpp (original)
+++ branches/rbuild/reactos/tools/rbuild/syssetupgenerator.cpp Fri Nov 2 21:36:55 2007
@@ -67,13 +67,11 @@
InfHostCloseFile ( inf );
}
-#define DIRECTORYID_SYSTEM32 "11"
-
string
SysSetupGenerator::GetDirectoryId ( const Module& module )
{
if ( module.install && ToLower ( module.install->relative_path ) ==
"system32" )
- return DIRECTORYID_SYSTEM32;
+ return SETUPAPI_SYSTEM;
throw InvalidOperationException ( __FILE__,
__LINE__ );
}