Sync EDKII BaseTools to BaseTools project r1988

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10607 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qhuang8
2010-06-28 09:33:10 +00:00
parent 96dd57ee8d
commit 9053bc517e
41 changed files with 690 additions and 127 deletions

View File

@ -774,6 +774,8 @@ class DscParser(MetaFileParser):
except:
EdkLogger.error("Parser", PARSER_ERROR, File=self.MetaFile, Line=self._LineIndex+1,
ExtraData="Failed to parse content in file %s" % IncludedFile)
# insert an imaginary token in the DSC table to indicate its external dependency on another file
self._Store(MODEL_EXTERNAL_DEPENDENCY, IncludedFile, str(os.stat(IncludedFile)[8]), "")
# update current status with sub-parser's status
self._SectionName = Parser._SectionName
self._SectionType = Parser._SectionType

View File

@ -2287,6 +2287,13 @@ determine whether database file is out of date!\n")
Result = self.Cur.execute("select min(ID) from %s" % (TableName)).fetchall()
if Result[0][0] != -1:
return False
#
# Check whether the meta data file has external dependency by comparing the time stamp
#
Sql = "select Value1, Value2 from %s where Model=%d" % (TableName, MODEL_EXTERNAL_DEPENDENCY)
for Dependency in self.Cur.execute(Sql).fetchall():
if str(os.stat(Dependency[0])[8]) != Dependency[1]:
return False
except:
return False
return True