diff --git a/reactos/media/inf/inf.rbuild b/reactos/media/inf/inf.rbuild index 44d63060f05..6e3327f557f 100644 --- a/reactos/media/inf/inf.rbuild +++ b/reactos/media/inf/inf.rbuild @@ -14,7 +14,7 @@ nettcpip.inf ports.inf scsi.inf -syssetup.inf +syssetup.inf usbport.inf usbstor.inf xboxdisp.inf diff --git a/reactos/tools/rbuild/installfile.cpp b/reactos/tools/rbuild/installfile.cpp index f427b0bf96a..f048fa96088 100644 --- a/reactos/tools/rbuild/installfile.cpp +++ b/reactos/tools/rbuild/installfile.cpp @@ -23,8 +23,8 @@ using std::string; InstallFile::InstallFile ( const Project& project_, - const XMLElement& installfileNode, - const string& path ) + const XMLElement& installfileNode, + const string& path ) : project ( project_ ), node ( installfileNode ) { @@ -40,7 +40,24 @@ InstallFile::InstallFile ( const Project& project_, else newname = node.value; name = node.value; - this->path = path; + + att = node.GetAttribute ( "root", false ); + if ( att != NULL) + { + if ( att->value == "intermediate" ) + this->path = Environment::GetIntermediatePath () + sSep + path; + else if ( att->value == "output" ) + this->path = Environment::GetOutputPath () + sSep + path; + else + { + throw InvalidAttributeValueException ( + node.location, + "root", + att->value ); + } + } + else + this->path = path; } InstallFile::~InstallFile () diff --git a/reactos/tools/rbuild/syssetupgenerator.cpp b/reactos/tools/rbuild/syssetupgenerator.cpp index ce89155897b..acc64255901 100644 --- a/reactos/tools/rbuild/syssetupgenerator.cpp +++ b/reactos/tools/rbuild/syssetupgenerator.cpp @@ -39,7 +39,7 @@ SysSetupGenerator::Generate () unsigned long errorLine; string syssetupTemplate = "media" + sSep + "inf" + sSep + "syssetup.inf.tpl"; - string syssetup = "media" + sSep + "inf" + sSep + "syssetup.inf"; + string syssetup = Environment::GetIntermediatePath() + sSep + "media" + sSep + "inf" + sSep + "syssetup.inf"; if ( 0 != InfHostOpenFile ( &inf, syssetupTemplate.c_str (), &errorLine ) ) throw new FileNotFoundException ( syssetupTemplate );