added 'first' attribute to <file>

svn path=/branches/xmlbuildsystem/; revision=13129
This commit is contained in:
Royce Mitchell III 2005-01-19 01:37:35 +00:00
parent 6f056ee7ce
commit 6a6a71b2f1
4 changed files with 23 additions and 7 deletions

View file

@ -26,10 +26,10 @@
</output>
</invoke>
<directory name="ke"> <!-- leave this at the top -->
<directory name="ke">
<if property="ARCH" value="i386">
<directory name="i386">
<file>multiboot.S</file> <!-- leave this at the top -->
<file first>multiboot.S</file>
<file>bios.c</file>
<file>brkpoint.c</file>
<file>bthread.S</file>

View file

@ -447,6 +447,17 @@ MingwModuleHandler::GenerateMacros (
if ( files.size() )
{
for ( i = 0; i < files.size(); i++ )
{
if ( files[i]->first )
{
fprintf ( fMakefile,
"%s := %s $(%s)\n",
objs_macro.c_str(),
GetObjectFilename(files[i]->name).c_str(),
objs_macro.c_str() );
}
}
fprintf (
fMakefile,
"%s %s",
@ -455,7 +466,9 @@ MingwModuleHandler::GenerateMacros (
for ( i = 0; i < files.size(); i++ )
{
string extension = GetExtension ( files[i]->name );
if ( extension != ".spec" && extension != ".SPEC" )
if ( extension != ".spec"
&& extension != ".SPEC"
&& !files[i]->first )
{
fprintf (
fMakefile,

View file

@ -102,7 +102,9 @@ Module::ProcessXMLSubElement ( const XMLElement& e,
string subpath ( path );
if ( e.name == "file" && e.value.size () > 0 )
{
File* pFile = new File ( FixSeparator ( path + CSEP + e.value ) );
const XMLAttribute* att = e.GetAttribute ( "first", false );
File* pFile = new File ( FixSeparator ( path + CSEP + e.value ),
att != NULL );
if ( pIf )
pIf->files.push_back ( pFile );
else
@ -323,8 +325,8 @@ Module::GetInvocationTarget ( const int index ) const
}
File::File ( const string& _name )
: name(_name)
File::File ( const string& _name, bool _first )
: name(_name), first(_first)
{
}

View file

@ -168,8 +168,9 @@ class File
{
public:
std::string name;
bool first;
File ( const std::string& _name );
File ( const std::string& _name, bool _first );
void ProcessXML();
};