added LiveCDRegTest and BootCDRegTest targets

svn path=/trunk/; revision=23743
This commit is contained in:
Christoph von Wittich 2006-08-27 13:28:23 +00:00
parent 454bef01db
commit 5a6172f875
5 changed files with 72 additions and 8 deletions

View file

@ -438,6 +438,10 @@ MingwBackend::IncludeInAllTarget ( const Module& module ) const
return false; return false;
if ( module.type == LiveIso ) if ( module.type == LiveIso )
return false; return false;
if ( module.type == IsoRegTest )
return false;
if ( module.type == LiveIsoRegTest )
return false;
if ( module.type == Test ) if ( module.type == Test )
return false; return false;
if ( module.type == Alias ) if ( module.type == Alias )

View file

@ -241,6 +241,12 @@ MingwModuleHandler::InstanciateHandler (
case LiveIso: case LiveIso:
handler = new MingwLiveIsoModuleHandler ( module ); handler = new MingwLiveIsoModuleHandler ( module );
break; break;
case IsoRegTest:
handler = new MingwIsoModuleHandler ( module );
break;
case LiveIsoRegTest:
handler = new MingwLiveIsoModuleHandler ( module );
break;
case Test: case Test:
handler = new MingwTestModuleHandler ( module ); handler = new MingwTestModuleHandler ( module );
break; break;
@ -3006,9 +3012,25 @@ MingwIsoModuleHandler::GenerateIsoModuleTarget ()
string bootcd = PassThruCacheDirectory ( string bootcd = PassThruCacheDirectory (
NormalizeFilename ( bootcdDirectory + sSep ), NormalizeFilename ( bootcdDirectory + sSep ),
backend->outputDirectory ); backend->outputDirectory );
string bootloader;
string IsoName;
if (module.name == "bootcdregtest")
{
bootloader = "isobtrt.o";
IsoName = "ReactOS-RegTest.iso";
}
else
{
bootloader = "isoboot.o";
IsoName = "ReactOS.iso";
}
string isoboot = PassThruCacheDirectory ( string isoboot = PassThruCacheDirectory (
NormalizeFilename ( "boot" + sSep + "freeldr" + sSep + "bootsect" + sSep + "isoboot.o" ), NormalizeFilename ( "boot" + sSep + "freeldr" + sSep + "bootsect" + sSep + bootloader.c_str() ),
backend->outputDirectory ); backend->outputDirectory );
string bootcdReactosNoFixup = bootcdDirectory + sSep + "reactos"; string bootcdReactosNoFixup = bootcdDirectory + sSep + "reactos";
string bootcdReactos = PassThruCacheDirectory ( string bootcdReactos = PassThruCacheDirectory (
NormalizeFilename ( bootcdReactosNoFixup + sSep ), NormalizeFilename ( bootcdReactosNoFixup + sSep ),
@ -3049,9 +3071,10 @@ MingwIsoModuleHandler::GenerateIsoModuleTarget ()
OutputCdfileCopyCommands ( bootcdDirectory ); OutputCdfileCopyCommands ( bootcdDirectory );
fprintf ( fMakefile, "\t$(ECHO_CDMAKE)\n" ); fprintf ( fMakefile, "\t$(ECHO_CDMAKE)\n" );
fprintf ( fMakefile, fprintf ( fMakefile,
"\t$(Q)$(CDMAKE_TARGET) -v -m -b %s %s REACTOS ReactOS.iso\n", "\t$(Q)$(CDMAKE_TARGET) -v -m -b %s %s REACTOS %s\n",
isoboot.c_str (), isoboot.c_str (),
bootcd.c_str () ); bootcd.c_str (),
IsoName.c_str() );
fprintf ( fMakefile, fprintf ( fMakefile,
"\n" ); "\n" );
} }
@ -3175,13 +3198,29 @@ MingwLiveIsoModuleHandler::OutputRegistryCommands ( string& livecdDirectory )
void void
MingwLiveIsoModuleHandler::GenerateLiveIsoModuleTarget () MingwLiveIsoModuleHandler::GenerateLiveIsoModuleTarget ()
{ {
string livecdDirectory = "livecd"; string livecdDirectory = module.name;
string livecd = PassThruCacheDirectory ( string livecd = PassThruCacheDirectory (
NormalizeFilename ( livecdDirectory + sSep ), NormalizeFilename ( livecdDirectory + sSep ),
backend->outputDirectory ); backend->outputDirectory );
string bootloader;
string IsoName;
if (module.name == "livecdregtest")
{
bootloader = "isobtrt.o";
IsoName = "ReactOS-LiveCD-RegTest.iso";
}
else
{
bootloader = "isoboot.o";
IsoName = "ReactOS-LiveCD.iso";
}
string isoboot = PassThruCacheDirectory ( string isoboot = PassThruCacheDirectory (
NormalizeFilename ( "boot" + sSep + "freeldr" + sSep + "bootsect" + sSep + "isoboot.o" ), NormalizeFilename ( "boot" + sSep + "freeldr" + sSep + "bootsect" + sSep + bootloader.c_str() ),
backend->outputDirectory ); backend->outputDirectory );
string reactosDirectory = "reactos"; string reactosDirectory = "reactos";
string livecdReactosNoFixup = livecdDirectory + sSep + reactosDirectory; string livecdReactosNoFixup = livecdDirectory + sSep + reactosDirectory;
string livecdReactos = NormalizeFilename ( PassThruCacheDirectory ( string livecdReactos = NormalizeFilename ( PassThruCacheDirectory (
@ -3205,9 +3244,10 @@ MingwLiveIsoModuleHandler::GenerateLiveIsoModuleTarget ()
OutputRegistryCommands ( livecdDirectory ); OutputRegistryCommands ( livecdDirectory );
fprintf ( fMakefile, "\t$(ECHO_CDMAKE)\n" ); fprintf ( fMakefile, "\t$(ECHO_CDMAKE)\n" );
fprintf ( fMakefile, fprintf ( fMakefile,
"\t$(Q)$(CDMAKE_TARGET) -v -m -j -b %s %s REACTOS ReactOS-LiveCD.iso\n", "\t$(Q)$(CDMAKE_TARGET) -v -m -j -b %s %s REACTOS %s\n",
isoboot.c_str (), isoboot.c_str (),
livecd.c_str () ); livecd.c_str (),
IsoName.c_str() );
fprintf ( fMakefile, fprintf ( fMakefile,
"\n" ); "\n" );
} }

View file

@ -60,6 +60,8 @@ Bootstrap::IsSupportedModuleType ( ModuleType type )
case ObjectLibrary: case ObjectLibrary:
case Iso: case Iso:
case LiveIso: case LiveIso:
case IsoRegTest:
case LiveIsoRegTest:
case Test: case Test:
case RpcServer: case RpcServer:
case RpcClient: case RpcClient:

View file

@ -757,6 +757,10 @@ Module::GetModuleType ( const string& location, const XMLAttribute& attribute )
return Iso; return Iso;
if ( attribute.value == "liveiso" ) if ( attribute.value == "liveiso" )
return LiveIso; return LiveIso;
if ( attribute.value == "isoregtest" )
return IsoRegTest;
if ( attribute.value == "liveisoregtest" )
return LiveIsoRegTest;
if ( attribute.value == "test" ) if ( attribute.value == "test" )
return Test; return Test;
if ( attribute.value == "rpcserver" ) if ( attribute.value == "rpcserver" )
@ -803,6 +807,8 @@ Module::GetDefaultModuleExtension () const
return ".o"; return ".o";
case Iso: case Iso:
case LiveIso: case LiveIso:
case IsoRegTest:
case LiveIsoRegTest:
return ".iso"; return ".iso";
case Test: case Test:
return ".exe"; return ".exe";
@ -855,6 +861,8 @@ Module::GetDefaultModuleEntrypoint () const
case BootSector: case BootSector:
case Iso: case Iso:
case LiveIso: case LiveIso:
case IsoRegTest:
case LiveIsoRegTest:
case RpcServer: case RpcServer:
case RpcClient: case RpcClient:
case Alias: case Alias:
@ -894,6 +902,8 @@ Module::GetDefaultModuleBaseaddress () const
case BootSector: case BootSector:
case Iso: case Iso:
case LiveIso: case LiveIso:
case IsoRegTest:
case LiveIsoRegTest:
case RpcServer: case RpcServer:
case RpcClient: case RpcClient:
case Alias: case Alias:
@ -936,6 +946,8 @@ Module::IsDLL () const
case BootProgram: case BootProgram:
case Iso: case Iso:
case LiveIso: case LiveIso:
case IsoRegTest:
case LiveIsoRegTest:
case RpcServer: case RpcServer:
case RpcClient: case RpcClient:
case Alias: case Alias:
@ -968,6 +980,8 @@ Module::GenerateInOutputTree () const
case BootProgram: case BootProgram:
case Iso: case Iso:
case LiveIso: case LiveIso:
case IsoRegTest:
case LiveIsoRegTest:
return true; return true;
case StaticLibrary: case StaticLibrary:
case ObjectLibrary: case ObjectLibrary:
@ -1435,6 +1449,8 @@ AutoRegister::IsSupportedModuleType ( ModuleType type )
case ObjectLibrary: case ObjectLibrary:
case Iso: case Iso:
case LiveIso: case LiveIso:
case IsoRegTest:
case LiveIsoRegTest:
case Test: case Test:
case RpcServer: case RpcServer:
case RpcClient: case RpcClient:

View file

@ -268,7 +268,9 @@ enum ModuleType
BootProgram = 19, BootProgram = 19,
Win32SCR = 20, Win32SCR = 20,
ExportDriver = 21, ExportDriver = 21,
IdlHeader = 22 IdlHeader = 22,
IsoRegTest = 23,
LiveIsoRegTest = 24
}; };
enum HostType enum HostType