summaryrefslogtreecommitdiff
path: root/BaseTools/Source/Python/Workspace
diff options
context:
space:
mode:
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2010-06-28 09:33:10 +0000
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2010-06-28 09:33:10 +0000
commit9053bc517ea77b9780830bf08b966979eff1cb0f (patch)
tree960bef933abdad405b30af68375d4743e98b80c5 /BaseTools/Source/Python/Workspace
parent96dd57ee8d5deb549310c4fbd4e4b5c7a810a928 (diff)
downloadedk2-platforms-9053bc517ea77b9780830bf08b966979eff1cb0f.tar.xz
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
Diffstat (limited to 'BaseTools/Source/Python/Workspace')
-rw-r--r--BaseTools/Source/Python/Workspace/MetaFileParser.py2
-rw-r--r--BaseTools/Source/Python/Workspace/WorkspaceDatabase.py7
2 files changed, 9 insertions, 0 deletions
diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
index 70c6e62fe9..7a6152c8fb 100644
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -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
diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
index 12c3324b8d..3aabd545d5 100644
--- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
+++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
@@ -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