Author: cfinck Date: Thu Jan 10 14:48:52 2008 New Revision: 31700
URL: http://svn.reactos.org/svn/reactos?rev=31700&view=rev Log: - Add an "architecture.h" file, which includes architecture-dependent constants. Currently, I only added the root architecture path on the CD (ARCH_CD_ROOT), which is needed in some components. - Make freeldr and usetup use this path, so the Boot-CD and Live-CD become bootable again. - Change the boot sectors to search for the loader in the "I386" directory. - Rename GetArch() to GetArchName(), also add GetArchCdPath() for getting the root architecture path on the CD in rbuild. - Skip creating the "Profiles" directory and its subdirectories. The Live-CD works flawlessy without it and its content is completely ignored by Explorer anyway. - Create the "CREDITS" file in the root "reactos" directory, people expect it there. Remove our current "CREDITS" file. - Fix indentation of "creditsgenerator.cpp"
Added: branches/rbuild/reactos/include/reactos/architecture.h (with props) Removed: branches/rbuild/reactos/CREDITS Modified: branches/rbuild/reactos/ (props changed) branches/rbuild/reactos/base/setup/usetup/bootsup.c branches/rbuild/reactos/base/setup/usetup/interface/usetup.c branches/rbuild/reactos/base/setup/usetup/partlist.c branches/rbuild/reactos/base/setup/usetup/usetup.h branches/rbuild/reactos/boot/freeldr/bootsect/isoboot.asm branches/rbuild/reactos/boot/freeldr/bootsect/isobtrt.asm branches/rbuild/reactos/boot/freeldr/freeldr/reactos/reactos.c branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.cpp branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.h branches/rbuild/reactos/tools/rbuild/creditsgenerator.cpp branches/rbuild/reactos/tools/rbuild/project.cpp branches/rbuild/reactos/tools/rbuild/rbuild.h
Propchange: branches/rbuild/reactos/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Thu Jan 10 14:48:52 2008 @@ -12,3 +12,4 @@ *.suo versionreport.xml config.rbuild +CREDITS
Removed: branches/rbuild/reactos/CREDITS URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/CREDITS?rev=31699... ============================================================================== --- branches/rbuild/reactos/CREDITS (original) +++ branches/rbuild/reactos/CREDITS (removed) @@ -1,69 +1,0 @@ -ReactOS is available thanks to the work of: - -Aleksey Bragin <aleksey at reactos org> -Alex Ionescu alex.ionescu@reactos.org -Andrew Greenwood lists@silverblade.co.uk -Andrew Munger waxdragon@gmail.com -Arindam Das -Art Yerkes ayerkes@speakeasy.net -Ariadne -Brandon Turner (turnerb7@msu.edu) -Brian Palmer brianp@sginet.com -Casper S. Hornstrup chorns@users.sourceforge.net -Christoph von Wittich (christoph_vw@reactos.org) -David Welch welch@cwcom.net -Emanuele Aliberti ea@iol.it -Eric Kohl ekohl@rz-online.de -Eugene Ingerman geneing@myrealbox.com -Filip Navara xnavara@volny.cz -Frederik Leemans -Ge van Geldorp ge@gse.nl -Ged Murphy gedmurphy@reactos.org -Guido de Jong -Gunnar Andre' Dalsnes hardon@online.no -Hans Kremer -Hartmut Birr hartmut.birr@gmx.de -Hernan Ochoa -Herve Poussineau hpoussin@reactos.com -Iwan Fatahi i_fatahi@hotmail.com -James B. Tabor jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net -Jason Eager -Jason Filby jasonfilby@yahoo.com -Jason Weiler -Jean Michault -Jim Noeth -Johannes Anderwald johannes.anderwald@student.tugraz.at -Jonathan Wilson jonwil@tpgi.com.au -Jurgen van Gael jurgen.vangael@student.kuleuven.ac.be -KJK::Hyperion noog@libero.it -Klemens R. Friedl klemens_friedl@gmx.net -Maarten Bosma maarten.paul@bosma.de -Magnus Olsen (magnus@greatlord.com) -Mark Tempel mtempel@visi.com -Mark Weaver mark@npsl.co.uk -Martin Fuchs martin-fuchs@gmx.net -Marty Dill mdill@uvic.ca -Matt Pyne -Mike Nordell ("tamlin") -Nathan Woods npwoods@mess.org -Pablo Borobia pborobia@gmail.com -Paolo Pantaleo paolopan@freemail.it -Phillip Susi phreak@iag.net -Rex Jolliff rex@lvcablemodem.com -Richard Campbell betam4x@gmail.com -Robert Bergkvist fragdance@hotmail.com -Robert Dickenson robd@reactos.org -Royce Mitchell III royce3@ev1.net -Saveliy Tretiakov saveliyt@mail.ru -Steven Edwards steven_ed4153@yahoo.com -Thomas Weidenmueller w3seek@users.sourceforge.net -Timo Kreuzer timo.kreuzer@reactos.org -Victor Kirhenshtein sauros@iname.com -Vizzini vizzini@plasmic.com - - -Graphic Design from - -Mindflyer mf@mufunyo.net -Tango Desktop Project (http://tango-project.org) -Everaldo (http://everaldo.com)
Modified: branches/rbuild/reactos/base/setup/usetup/bootsup.c URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/base/setup/usetup... ============================================================================== --- branches/rbuild/reactos/base/setup/usetup/bootsup.c (original) +++ branches/rbuild/reactos/base/setup/usetup/bootsup.c Thu Jan 10 14:48:52 2008 @@ -1836,7 +1836,7 @@
/* Copy FreeLoader to the boot partition */ wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\freeldr.sys"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\freeldr.sys"); wcscpy(DstPath, SystemRootPath->Buffer); wcscat(DstPath, L"\freeldr.sys");
@@ -1870,7 +1870,7 @@ { /* Install FAT32 bootcode */ wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\fat32.bin"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\fat32.bin"); wcscpy(DstPath, SystemRootPath->Buffer); wcscat(DstPath, L"\bootsect.ros");
@@ -1888,7 +1888,7 @@ { /* Install FAT16 bootcode */ wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\fat.bin"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\fat.bin"); wcscpy(DstPath, SystemRootPath->Buffer); wcscat(DstPath, L"\bootsect.ros");
@@ -1941,7 +1941,7 @@
/* Copy FreeLoader to the boot partition */ wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\freeldr.sys"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\freeldr.sys"); wcscpy(DstPath, SystemRootPath->Buffer); wcscat(DstPath, L"\freeldr.sys");
@@ -1988,7 +1988,7 @@ PartitionType == PARTITION_FAT32_XINT13) { wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\fat32.bin"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\fat32.bin");
DPRINT1("Install FAT32 bootcode: %S ==> %S\n", SrcPath, SystemRootPath->Buffer); Status = InstallFat32BootCodeToDisk(SrcPath, @@ -2002,7 +2002,7 @@ else { wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\fat.bin"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\fat.bin");
DPRINT1("Install FAT bootcode: %S ==> %S\n", SrcPath, SystemRootPath->Buffer); Status = InstallFat16BootCodeToDisk(SrcPath, @@ -2036,7 +2036,7 @@
/* Copy FreeLoader to the boot partition */ wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\freeldr.sys"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\freeldr.sys"); wcscpy(DstPath, SystemRootPath->Buffer); wcscat(DstPath, L"\freeldr.sys");
@@ -2083,7 +2083,7 @@ PartitionType == PARTITION_FAT32_XINT13) { wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\fat32.bin"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\fat32.bin");
DPRINT("Install FAT32 bootcode: %S ==> %S\n", SrcPath, SystemRootPath->Buffer); Status = InstallFat32BootCodeToDisk(SrcPath, @@ -2097,7 +2097,7 @@ else { wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\fat.bin"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\fat.bin");
DPRINT("Install FAT bootcode: %S ==> %S\n", SrcPath, SystemRootPath->Buffer); Status = InstallFat16BootCodeToDisk(SrcPath, @@ -2143,7 +2143,7 @@
/* Copy FreeLoader to the boot partition */ wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\freeldr.sys"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\freeldr.sys");
wcscpy(DstPath, L"\Device\Floppy0\freeldr.sys");
@@ -2169,7 +2169,7 @@
/* Install FAT12/16 boosector */ wcscpy(SrcPath, SourceRootPath->Buffer); - wcscat(SrcPath, L"\loader\fat.bin"); + wcscat(SrcPath, L"\" ARCH_CD_ROOT "\loader\fat.bin");
wcscpy(DstPath, L"\Device\Floppy0");
Modified: branches/rbuild/reactos/base/setup/usetup/interface/usetup.c URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/base/setup/usetup... ============================================================================== --- branches/rbuild/reactos/base/setup/usetup/interface/usetup.c (original) +++ branches/rbuild/reactos/base/setup/usetup/interface/usetup.c Thu Jan 10 14:48:52 2008 @@ -2359,7 +2359,7 @@ || (PartEntry->PartInfo[0].PartitionType == PARTITION_FAT32)) { wcscpy(PathBuffer, SourceRootPath.Buffer); - wcscat(PathBuffer, L"\loader\fat32.bin"); + wcscat(PathBuffer, L"\" ARCH_CD_ROOT "\loader\fat32.bin");
DPRINT("Install FAT32 bootcode: %S ==> %S\n", PathBuffer, DestinationRootPath.Buffer); @@ -2377,7 +2377,7 @@ else { wcscpy(PathBuffer, SourceRootPath.Buffer); - wcscat(PathBuffer, L"\loader\fat.bin"); + wcscat(PathBuffer, L"\" ARCH_CD_ROOT "\loader\fat.bin");
DPRINT("Install FAT bootcode: %S ==> %S\n", PathBuffer, DestinationRootPath.Buffer);
Modified: branches/rbuild/reactos/base/setup/usetup/partlist.c URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/base/setup/usetup... ============================================================================== --- branches/rbuild/reactos/base/setup/usetup/partlist.c (original) +++ branches/rbuild/reactos/base/setup/usetup/partlist.c Thu Jan 10 14:48:52 2008 @@ -2504,7 +2504,7 @@ DiskEntry1->BiosDiskNumber == 0) { wcscpy (SrcPath, SourceRootPath.Buffer); - wcscat (SrcPath, L"\loader\dosmbr.bin"); + wcscat (SrcPath, L"\" ARCH_CD_ROOT "\loader\dosmbr.bin");
DPRINT ("Install MBR bootcode: %S ==> %S\n", SrcPath, DstPath);
Modified: branches/rbuild/reactos/base/setup/usetup/usetup.h URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/base/setup/usetup... ============================================================================== --- branches/rbuild/reactos/base/setup/usetup/usetup.h (original) +++ branches/rbuild/reactos/base/setup/usetup/usetup.h Thu Jan 10 14:48:52 2008 @@ -51,6 +51,9 @@ /* ReactOS Version */ #include <reactos/buildno.h>
+/* Architecture header */ +#include <reactos/architecture.h> + /* Internal Headers */ #include "interface/consup.h" #include "partlist.h"
Modified: branches/rbuild/reactos/boot/freeldr/bootsect/isoboot.asm URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/boot/freeldr/boot... ============================================================================== --- branches/rbuild/reactos/boot/freeldr/bootsect/isoboot.asm (original) +++ branches/rbuild/reactos/boot/freeldr/bootsect/isoboot.asm Thu Jan 10 14:48:52 2008 @@ -961,7 +961,7 @@ diskerr_msg: db 'Disk error ', 0 ondrive_str: db ', drive ', 0 err_bootfailed db CR, LF, 'Boot failed: press a key to retry...' -isolinux_dir db '\LOADER', 0 +isolinux_dir db '\I386\LOADER', 0 no_dir_msg db 'Could not find the LOADER directory.', CR, LF, 0 isolinux_bin db 'SETUPLDR.SYS', 0 no_isolinux_msg db 'Could not find SETUPLDR.SYS.', CR, LF, 0
Modified: branches/rbuild/reactos/boot/freeldr/bootsect/isobtrt.asm URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/boot/freeldr/boot... ============================================================================== --- branches/rbuild/reactos/boot/freeldr/bootsect/isobtrt.asm (original) +++ branches/rbuild/reactos/boot/freeldr/bootsect/isobtrt.asm Thu Jan 10 14:48:52 2008 @@ -928,7 +928,7 @@ diskerr_msg: db 'Disk error ', 0 ondrive_str: db ', drive ', 0 err_bootfailed db CR, LF, 'Boot failed: press a key to retry...' -isolinux_dir db '\LOADER', 0 +isolinux_dir db '\I386\LOADER', 0 no_dir_msg db 'Could not find the LOADER directory.', CR, LF, 0 isolinux_bin db 'SETUPLDR.SYS', 0 no_isolinux_msg db 'Could not find SETUPLDR.SYS.', CR, LF, 0
Modified: branches/rbuild/reactos/boot/freeldr/freeldr/reactos/reactos.c URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/boot/freeldr/free... ============================================================================== --- branches/rbuild/reactos/boot/freeldr/freeldr/reactos/reactos.c (original) +++ branches/rbuild/reactos/boot/freeldr/freeldr/reactos/reactos.c Thu Jan 10 14:48:52 2008 @@ -21,6 +21,7 @@
#include <freeldr.h> #include <debug.h> +#include <reactos/architecture.h>
extern ULONG PageDirectoryStart; extern ULONG PageDirectoryEnd; @@ -648,7 +649,7 @@ { /* Normalize */ MachDiskGetBootPath(SystemPath, sizeof(SystemPath)); - strcat(SystemPath, "\reactos"); + strcat(SystemPath, "\" ARCH_CD_ROOT "\reactos"); strcat(strcpy(reactos_kernel_cmdline, SystemPath), " /MININT"); }
Added: branches/rbuild/reactos/include/reactos/architecture.h URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/include/reactos/a... ============================================================================== --- branches/rbuild/reactos/include/reactos/architecture.h (added) +++ branches/rbuild/reactos/include/reactos/architecture.h Thu Jan 10 14:48:52 2008 @@ -1,0 +1,14 @@ +// Simple header for defining architecture-dependent settings + +#ifndef _REACTOS_ARCHITECTURE_H +#define _REACTOS_ARCHITECTURE_H + +#if defined(_M_IX86) +# define ARCH_CD_ROOT "I386" +#elif defined(_M_PPC) +# define ARCH_CD_ROOT "PPC" +#else +# error Unsupported architecture +#endif + +#endif
Propchange: branches/rbuild/reactos/include/reactos/architecture.h ------------------------------------------------------------------------------ svn:eol-style = native
Modified: branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.cpp URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/back... ============================================================================== --- branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.cpp (original) +++ branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.cpp Thu Jan 10 14:48:52 2008 @@ -3502,7 +3502,7 @@ MingwIsoModuleHandler::GenerateIsoModuleTarget () { string bootcdDirectory = "cd"; - string bootcdStrapDirectory = bootcdDirectory + sSep + Environment::GetBootstrapCdOutputPath(); + string bootcdStrapDirectory = bootcdDirectory + sSep + Environment::GetBootstrapCdOutputPath( module.project );
FileLocation bootcd ( OutputDirectory, bootcdDirectory, @@ -3620,8 +3620,7 @@ }
void -MingwLiveIsoModuleHandler::OutputModuleCopyCommands ( string& livecdDirectory, - string& reactosDirectory ) +MingwLiveIsoModuleHandler::OutputModuleCopyCommands ( string& livecdReactosDirectory ) { for ( size_t i = 0; i < module.project.modules.size (); i++ ) { @@ -3633,8 +3632,8 @@ const Module& aliasedModule = backend->GetAliasedModuleOrModule ( m ); FileLocation destination ( OutputDirectory, m.install->relative_path.length () > 0 - ? livecdDirectory + sSep + reactosDirectory + sSep + m.install->relative_path - : livecdDirectory + sSep + reactosDirectory, + ? livecdReactosDirectory + sSep + m.install->relative_path + : livecdReactosDirectory, m.install->name ); OutputCopyCommand ( *aliasedModule.output, destination); @@ -3643,59 +3642,49 @@ }
void -MingwLiveIsoModuleHandler::OutputNonModuleCopyCommands ( string& livecdDirectory, - string& reactosDirectory ) +MingwLiveIsoModuleHandler::OutputNonModuleCopyCommands ( string& livecdReactosDirectory ) { for ( size_t i = 0; i < module.project.installfiles.size (); i++ ) { const InstallFile& installfile = *module.project.installfiles[i]; FileLocation target ( OutputDirectory, installfile.target->relative_path.length () > 0 - ? livecdDirectory + sSep + reactosDirectory + sSep + installfile.target->relative_path - : livecdDirectory + sSep + reactosDirectory, + ? livecdReactosDirectory + sSep + installfile.target->relative_path + : livecdReactosDirectory, installfile.target->name ); OutputCopyCommand ( *installfile.source, target ); } }
void -MingwLiveIsoModuleHandler::OutputProfilesDirectoryCommands ( string& livecdDirectory ) -{ - CreateDirectory ( livecdDirectory + sSep + "Profiles" ); - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "All Users") ; - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "All Users" + sSep + "Desktop" ); - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "Default User" ); - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "Default User" + sSep + "Desktop" ); - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "Default User" + sSep + "My Documents" ); - +MingwLiveIsoModuleHandler::OutputLoaderCommands ( string& livecdRootDirectory, string& livecdArchDirectory ) +{ FileLocation livecdIni ( SourceDirectory, "boot" + sSep + "bootdata", "livecd.ini" ); - FileLocation destination ( OutputDirectory, - livecdDirectory, - "freeldr.ini" ); + + FileLocation livecdIniDestination ( OutputDirectory, + livecdRootDirectory, + "freeldr.ini" ); OutputCopyCommand ( livecdIni, - destination ); -} - -void -MingwLiveIsoModuleHandler::OutputLoaderCommands ( string& livecdDirectory ) -{ + livecdIniDestination ); + + FileLocation freeldr ( OutputDirectory, "boot" + sSep + "freeldr" + sSep + "freeldr", "freeldr.sys" ); - FileLocation destination ( OutputDirectory, - livecdDirectory + sSep + "loader", - "setupldr.sys" ); + FileLocation freeldrDestination ( OutputDirectory, + livecdArchDirectory + sSep + "loader", + "setupldr.sys" ); OutputCopyCommand ( freeldr, - destination ); -} - -void -MingwLiveIsoModuleHandler::OutputRegistryCommands ( string& livecdDirectory ) + freeldrDestination ); +} + +void +MingwLiveIsoModuleHandler::OutputRegistryCommands ( string& livecdReactosDirectory ) { FileLocation reactosSystem32ConfigDirectory ( OutputDirectory, - livecdDirectory + sSep + "reactos" + sSep + "system32" + sSep + "config", + livecdReactosDirectory + sSep + "system32" + sSep + "config", "" ); fprintf ( fMakefile, "\t$(ECHO_MKHIVE)\n" ); @@ -3708,8 +3697,9 @@ void MingwLiveIsoModuleHandler::GenerateLiveIsoModuleTarget () { - string livecdDirectory = module.name; - FileLocation livecd ( OutputDirectory, livecdDirectory, "" ); + string livecdRootDirectory = module.name; + string livecdArchDirectory = module.name + sSep + Environment::GetArchCdPath( module.project ); + FileLocation livecd ( OutputDirectory, livecdRootDirectory, "" );
string bootloader; string IsoName; @@ -3727,10 +3717,9 @@
FileLocation isoboot ( OutputDirectory, "boot" + sSep + "freeldr" + sSep + "bootsect", bootloader );
- string reactosDirectory = Environment::GetArch();// "reactos"; - string livecdReactosNoFixup = livecdDirectory + sSep + reactosDirectory; + string livecdReactosDirectory = livecdArchDirectory + sSep + "reactos"; FileLocation livecdReactos ( OutputDirectory, - livecdReactosNoFixup, + livecdReactosDirectory, "" ); CLEAN_FILE ( livecdReactos );
@@ -3741,13 +3730,10 @@ module.name.c_str (), backend->GetFullName ( isoboot) .c_str (), backend->GetFullPath ( livecdReactos ).c_str () ); - OutputModuleCopyCommands ( livecdDirectory, - reactosDirectory ); - OutputNonModuleCopyCommands ( livecdDirectory, - reactosDirectory ); - OutputProfilesDirectoryCommands ( livecdDirectory ); - OutputLoaderCommands ( livecdDirectory ); - OutputRegistryCommands ( livecdDirectory ); + OutputModuleCopyCommands ( livecdReactosDirectory ); + OutputNonModuleCopyCommands ( livecdReactosDirectory ); + OutputLoaderCommands ( livecdRootDirectory, livecdArchDirectory ); + OutputRegistryCommands ( livecdReactosDirectory ); fprintf ( fMakefile, "\t$(ECHO_CDMAKE)\n" ); fprintf ( fMakefile, "\t$(Q)$(CDMAKE_TARGET) -v -m -j -b %s %s REACTOS %s\n",
Modified: branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.h URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/back... ============================================================================== --- branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.h (original) +++ branches/rbuild/reactos/tools/rbuild/backend/mingw/modulehandler.h Thu Jan 10 14:48:52 2008 @@ -450,13 +450,10 @@ private: void GenerateLiveIsoModuleTarget (); void CreateDirectory ( const std::string& directory ); - void OutputModuleCopyCommands ( std::string& livecdDirectory, - std::string& livecdReactos ); - void OutputNonModuleCopyCommands ( std::string& livecdDirectory, - std::string& livecdReactos ); - void OutputProfilesDirectoryCommands ( std::string& livecdDirectory ); - void OutputLoaderCommands ( std::string& livecdDirectory ); - void OutputRegistryCommands ( std::string& livecdDirectory ); + void OutputModuleCopyCommands ( std::string& livecdReactosDirectory ); + void OutputNonModuleCopyCommands ( std::string& livecdReactosDirectory ); + void OutputLoaderCommands ( std::string& livecdRootDirectory, std::string& livecdArchDirectory ); + void OutputRegistryCommands ( std::string& livecdReactosDirectory ); };
Modified: branches/rbuild/reactos/tools/rbuild/creditsgenerator.cpp URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/cred... ============================================================================== --- branches/rbuild/reactos/tools/rbuild/creditsgenerator.cpp (original) +++ branches/rbuild/reactos/tools/rbuild/creditsgenerator.cpp Thu Jan 10 14:48:52 2008 @@ -86,7 +86,7 @@ }
- FileSupportCode::WriteIfChanged ( buf, NormalizeFilename ( Environment::GetIntermediatePath () + sSep + "CREDITS" ) ); + FileSupportCode::WriteIfChanged (buf, "CREDITS");
free ( buf ); } @@ -105,8 +105,8 @@ s = s + sprintf ( s, "/* Auto generated */\n"); s = s + sprintf ( s, "/* Edit contributors.rbuild to add or remove developers */\n" ); s = s + sprintf ( s, "\n" ); - s = s + sprintf ( s, "#ifndef __INCLUDE_AUTOCONTRIBUTORS_H\n" ); - s = s + sprintf ( s, "#define __INCLUDE_AUTOCONTRIBUTORS_H\n" ); + s = s + sprintf ( s, "#ifndef __INCLUDE_AUTOCONTRIBUTORS_H\n" ); + s = s + sprintf ( s, "#define __INCLUDE_AUTOCONTRIBUTORS_H\n" ); s = s + sprintf ( s, "\n" ); s = s + sprintf ( s, "const char* szAutoContributors[]= \n" ); s = s + sprintf ( s, "{\n" );
Modified: branches/rbuild/reactos/tools/rbuild/project.cpp URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/proj... ============================================================================== --- branches/rbuild/reactos/tools/rbuild/project.cpp (original) +++ branches/rbuild/reactos/tools/rbuild/project.cpp Thu Jan 10 14:48:52 2008 @@ -72,9 +72,21 @@ }
string -Environment::GetArch () -{ - return GetEnvironmentVariablePathOrDefault ( "ROS_ARCH", "i386" ); +Environment::GetArchName () +{ + return GetEnvironmentVariablePathOrDefault("ROS_ARCH", "i386"); +} + +string +Environment::GetArchCdPath ( const Project& project ) +{ + switch( project.architectureType ) + { + case I386: return "I386"; + case PowerPC: return "PPC"; + } + + throw MissingArgumentException("architectureType"); }
/* static */ string @@ -92,7 +104,7 @@ Environment::GetIntermediatePath () { string defaultIntermediate = - string( "obj-" ) + GetArch (); + string( "obj-" ) + GetArchName (); return GetEnvironmentVariablePathOrDefault ( "ROS_INTERMEDIATE", defaultIntermediate ); } @@ -113,7 +125,7 @@ Environment::GetOutputPath () { string defaultOutput = - string( "output-" ) + GetArch (); + string( "output-" ) + GetArchName (); return GetEnvironmentVariablePathOrDefault ( "ROS_OUTPUT", defaultOutput ); } @@ -134,10 +146,10 @@ }
/* static */ string -Environment::GetBootstrapCdOutputPath () +Environment::GetBootstrapCdOutputPath ( const Project& project ) { return GetEnvironmentVariablePathOrDefault ( "ROS_CDBOOTSTRAPOUTPUT", - GetArch()); + GetArchCdPath(project) ); }
/* static */ string
Modified: branches/rbuild/reactos/tools/rbuild/rbuild.h URL: http://svn.reactos.org/svn/reactos/branches/rbuild/reactos/tools/rbuild/rbui... ============================================================================== --- branches/rbuild/reactos/tools/rbuild/rbuild.h (original) +++ branches/rbuild/reactos/tools/rbuild/rbuild.h Thu Jan 10 14:48:52 2008 @@ -123,6 +123,7 @@ class BuildFamily; class Family; class PlatformLanguage; +class Project;
typedef std::mapstd::string,Directory* directory_map;
@@ -209,11 +210,12 @@ { public: static std::string GetVariable ( const std::string& name ); - static std::string GetArch (); + static std::string GetArchName (); + static std::string GetArchCdPath ( const Project& project ); static std::string GetIntermediatePath (); static std::string GetOutputPath (); static std::string GetCdOutputPath (); - static std::string GetBootstrapCdOutputPath (); + static std::string GetBootstrapCdOutputPath ( const Project& project ); static std::string GetInstallPath (); static std::string GetAutomakeFile ( const std::string& defaultFile ); static std::string GetEnvironmentVariablePathOrDefault ( const std::string& name,