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 );