* LinkerFlag tag support

* Build addsys, libwine.a, user32.dll, advapi32.dll, gdi32.dll, msvcrt.dll, and welcome.exe


svn path=/branches/xmlbuildsystem/; revision=13055
This commit is contained in:
Casper Hornstrup
2005-01-15 13:52:36 +00:00
parent 65f058c4f0
commit d3a30bf22d
29 changed files with 1008 additions and 51 deletions

View File

@@ -65,6 +65,8 @@ Module::~Module ()
delete dependencies[i];
for ( i = 0; i < ifs.size(); i++ )
delete ifs[i];
for ( i = 0; i < linkerFlags.size(); i++ )
delete linkerFlags[i];
}
void
@@ -87,6 +89,8 @@ Module::ProcessXML()
dependencies[i]->ProcessXML ();
for ( i = 0; i < ifs.size(); i++ )
ifs[i]->ProcessXML();
for ( i = 0; i < linkerFlags.size(); i++ )
linkerFlags[i]->ProcessXML();
}
void
@@ -179,6 +183,11 @@ Module::ProcessXMLSubElement ( const XMLElement& e,
ifs.push_back ( pIf );
subs_invalid = false;
}
else if ( e.name == "linkerflag" )
{
linkerFlags.push_back ( new LinkerFlag ( project, this, e ) );
subs_invalid = true;
}
else if ( e.name == "property" )
{
throw InvalidBuildFileException (
@@ -209,6 +218,8 @@ Module::GetModuleType ( const string& location, const XMLAttribute& attribute )
return NativeDLL;
if ( attribute.value == "win32dll" )
return Win32DLL;
if ( attribute.value == "win32gui" )
return Win32GUI;
throw InvalidAttributeValueException ( location,
attribute.name,
attribute.value );
@@ -224,6 +235,7 @@ Module::GetDefaultModuleExtension () const
case StaticLibrary:
return ".a";
case Kernel:
case Win32GUI:
return ".exe";
case KernelModeDLL:
case NativeDLL: