From 25918452ed5e9d12ea56b3bb2193df9ab96666b1 Mon Sep 17 00:00:00 2001 From: lgao4 Date: Wed, 23 May 2012 08:27:14 +0000 Subject: Sync BaseTools Trunk (version r2524) to EDKII main trunk. Signed-off-by: Liming Gao Reviewed-by: Liu Yingke Reviewed-by: Yurui Zeng git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13353 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Source/Python/Workspace/WorkspaceDatabase.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'BaseTools/Source/Python/Workspace') diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py index 16766d32dc..e5fb41a8e0 100644 --- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py +++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py @@ -852,6 +852,21 @@ class DscBuildData(PlatformBuildClassObject): EdkLogger.error('build', PARSER_ERROR, "Pcd (%s.%s) defined in DSC is not declared in DEC files." % (TokenSpaceGuid, PcdCName), File=self.MetaFile, Line=Dummy4) + PcdValue = '' + if PcdType in (MODEL_PCD_DYNAMIC_VPD, MODEL_PCD_DYNAMIC_EX_VPD): + if DecPcds[PcdCName, TokenSpaceGuid].DatumType == "VOID*": + PcdValue = AnalyzeVpdPcdData(Setting)[2] + else: + PcdValue = AnalyzeVpdPcdData(Setting)[1] + elif PcdType in (MODEL_PCD_DYNAMIC_HII, MODEL_PCD_DYNAMIC_EX_HII): + PcdValue = AnalyzeHiiPcdData(Setting)[3] + else: + PcdValue = AnalyzePcdData(Setting)[0] + if PcdValue: + Valid, ErrStr = CheckPcdDatum(DecPcds[PcdCName, TokenSpaceGuid].DatumType, PcdValue) + if not Valid: + EdkLogger.error('build', FORMAT_INVALID, ErrStr, File=self.MetaFile, Line=Dummy4, + ExtraData="%s.%s" % (TokenSpaceGuid, PcdCName)) _Macros = property(_GetMacros) Arch = property(_GetArch, _SetArch) -- cgit v1.2.3