attribute 'first' of <file> must be 'true' or 'false'
remove an obsolete comment
Modified: branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/XML.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp

Modified: branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml
--- branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml	2005-01-21 18:09:02 UTC (rev 13190)
+++ branches/xmlbuildsystem/reactos/ntoskrnl/ntoskrnl.xml	2005-01-21 18:15:10 UTC (rev 13191)
@@ -29,7 +29,7 @@
 	<directory name="ke">
 		<if property="ARCH" value="i386">
 			<directory name="i386">
-				<file first="1">multiboot.S</file>
+				<file first="true">multiboot.S</file>
 				<file>bios.c</file>
 				<file>brkpoint.c</file>
 				<file>bthread.S</file>

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/XML.cpp
--- branches/xmlbuildsystem/reactos/tools/rbuild/XML.cpp	2005-01-21 18:09:02 UTC (rev 13190)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/XML.cpp	2005-01-21 18:15:10 UTC (rev 13191)
@@ -628,7 +628,6 @@
 XMLElement*
 XMLLoadInclude ( XMLElement* e, const Path& path, XMLIncludes& includes )
 {
-	// TODO FIXME
 	XMLAttribute* att;
 	att = e->GetAttribute("href",true);
 	assert(att);

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp
--- branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp	2005-01-21 18:09:02 UTC (rev 13190)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp	2005-01-21 18:15:10 UTC (rev 13191)
@@ -111,9 +111,18 @@
 	string subpath ( path );
 	if ( e.name == "file" && e.value.size () > 0 )
 	{
+		bool first = false;
 		const XMLAttribute* att = e.GetAttribute ( "first", false );
-		File* pFile = new File ( FixSeparator ( path + CSEP + e.value ),
-		                         att && atoi(att->value.c_str()) != 0 );
+		if ( att )
+		{
+			if ( !stricmp ( att->value.c_str(), "true" ) )
+				first = true;
+			else if ( stricmp ( att->value.c_str(), "false" ) )
+				throw InvalidBuildFileException (
+					e.location,
+					"attribute 'first' of <file> element can only be 'true' or 'false'" );
+		}
+		File* pFile = new File ( FixSeparator ( path + CSEP + e.value ), first );
 		if ( pIf )
 			pIf->files.push_back ( pFile );
 		else