Support modules with no base install directory Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp 2005-05-15 12:13:17 UTC (rev 15307) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp 2005-05-15 13:20:45 UTC (rev 15308) @@ -241,9 +241,10 @@
string MingwBackend::AddDirectoryTarget ( const string& directory, - Directory* directoryTree ) + Directory* directoryTree ) { - directoryTree->Add ( directory.c_str() ); + if ( directory.length () > 0) + directoryTree->Add ( directory.c_str() ); return directoryTree->name; }
@@ -775,7 +776,11 @@ const Module& module = *ProjectNode.modules[i]; if ( module.installName.length () > 0 ) { - string targetFilenameNoFixup = module.installBase + SSEP + module.installName; + string targetFilenameNoFixup; + if ( module.installBase.length () > 0 ) + targetFilenameNoFixup = module.installBase + SSEP + module.installName; + else + targetFilenameNoFixup = module.installName; string targetFilename = MingwModuleHandler::PassThruCacheDirectory ( NormalizeFilename ( targetFilenameNoFixup ), installDirectory ); @@ -794,11 +799,16 @@
void MingwBackend::OutputInstallTarget ( const string& sourceFilename, - const string& targetFilename, - const string& targetDirectory ) + const string& targetFilename, + const string& targetDirectory ) { + string fullTargetFilename; + if ( targetDirectory.length () > 0) + fullTargetFilename = targetDirectory + SSEP + targetFilename; + else + fullTargetFilename = targetFilename; string normalizedTargetFilename = MingwModuleHandler::PassThruCacheDirectory ( - NormalizeFilename ( targetDirectory + SSEP + targetFilename ), + NormalizeFilename ( fullTargetFilename ), installDirectory ); string normalizedTargetDirectory = MingwModuleHandler::PassThruCacheDirectory ( NormalizeFilename ( targetDirectory ), @@ -823,8 +833,8 @@ { const InstallFile& installfile = *ProjectNode.installfiles[i]; OutputInstallTarget ( installfile.GetPath (), - installfile.newname, - installfile.base ); + installfile.newname, + installfile.base ); } }
_____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp 2005-05-15 12:13:17 UTC (rev 15307) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp 2005-05-15 13:20:45 UTC (rev 15308) @@ -110,7 +110,11 @@
/* This path already includes the generated files directory variable */ return file; else + { + if ( file == "" ) + return generatedFilesDirectory; return generatedFilesDirectory + SSEP + file; + } }
/*static*/ Directory* @@ -2682,8 +2686,8 @@
void MingwLiveIsoModuleHandler::OutputCopyCommand ( const string& sourceFilename, - const string& targetFilename, - const string& targetDirectory ) + const string& targetFilename, + const string& targetDirectory ) { string normalizedTargetFilename = MingwModuleHandler::PassThruCacheDirectory ( NormalizeFilename ( targetDirectory + SSEP + targetFilename ), @@ -2698,7 +2702,7 @@
void MingwLiveIsoModuleHandler::OutputModuleCopyCommands ( string& livecdDirectory, - string& reactosDirectory ) + string& reactosDirectory ) { for ( size_t i = 0; i < module.project.modules.size (); i++ ) { @@ -2717,7 +2721,7 @@
void MingwLiveIsoModuleHandler::OutputNonModuleCopyCommands ( string& livecdDirectory, - string& reactosDirectory ) + string& reactosDirectory ) { for ( size_t i = 0; i < module.project.installfiles.size (); i++ ) { _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp --- branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp 2005-05-15 12:13:17 UTC (rev 15307) +++ branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp 2005-05-15 13:20:45 UTC (rev 15308) @@ -73,7 +73,7 @@
{ size_t index = filename.find_last_of ( CSEP ); if ( index == string::npos ) - return filename; + return ""; else return filename.substr ( 0, index ); } @@ -81,6 +81,8 @@ string NormalizeFilename ( const string& filename ) { + if ( filename == "" ) + return ""; Path path; string normalizedPath = path.Fixup ( filename, true ); string relativeNormalizedPath = path.RelativeFromWorkingDirectory ( normalizedPath );