xml nodes now store the location they were parsed from; invalidbuildexceptions now required a location of the error; don't allow modules to process xml until all modules are created; don't allow libraries, defines, includes, etc to process xml until all modules have processed; don't allow module to link against itself or a non-existant module; don't allow library to specify non-existant module;

svn path=/branches/xmlbuildsystem/; revision=12879
This commit is contained in:
Royce Mitchell III 2005-01-08 03:37:32 +00:00
parent de7c566b05
commit 774f167e5e
10 changed files with 196 additions and 102 deletions

View file

@ -48,7 +48,7 @@ MingwModuleHandler::GetImportLibraryDependencies ( const Module& module ) const
{
if ( dependencies.size () > 0 )
dependencies += " ";
Module* importedModule = module.project->LocateModule ( module.libraries[i]->name );
const Module* importedModule = module.project.LocateModule ( module.libraries[i]->name );
assert ( importedModule != NULL );
dependencies += importedModule->GetPath ().c_str ();
}
@ -117,7 +117,7 @@ MingwModuleHandler::GenerateGccDefineParametersFromVector ( const vector<Define*
string
MingwModuleHandler::GenerateGccDefineParameters ( const Module& module ) const
{
string parameters = GenerateGccDefineParametersFromVector ( module.project->defines );
string parameters = GenerateGccDefineParametersFromVector ( module.project.defines );
string s = GenerateGccDefineParametersFromVector ( module.defines );
if (s.length () > 0)
{
@ -160,7 +160,7 @@ string
MingwModuleHandler::GenerateGccIncludeParameters ( const Module& module ) const
{
string parameters = GenerateGccIncludeParametersFromVector ( ".",
module.project->includes );
module.project.includes );
string s = GenerateGccIncludeParametersFromVector ( module.path,
module.includes );
if (s.length () > 0)