## @file InfPomAlignmentMisc.py\r
# This file contained the routines for InfPomAlignment\r
#\r
-# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials are licensed and made available \r
# under the terms and conditions of the BSD License which accompanies this \r
from Library.Misc import ConvertArchList\r
from Object.POM.ModuleObject import BinaryFileObject\r
from Object.POM import CommonObject\r
+from Library.String import FORMAT_INVALID\r
+from Library.Misc import CheckGuidRegFormat\r
+from Logger import StringTable as ST\r
+\r
\r
## GenModuleHeaderUserExt\r
#\r
CustomMakefile = DefineObj.GetCustomMakefile()\r
UefiHiiResourceSection = DefineObj.GetUefiHiiResourceSection()\r
\r
- if EdkReleaseVersion != None:\r
+ if EdkReleaseVersion is not None:\r
Name = DT.TAB_INF_DEFINES_EDK_RELEASE_VERSION\r
Value = EdkReleaseVersion.GetValue()\r
Statement = _GenInfDefineStateMent(EdkReleaseVersion.Comments.GetHeaderComments(),\r
EdkReleaseVersion.Comments.GetTailComments())\r
DefinesDictNew[Statement] = ArchString\r
\r
- if Shadow != None:\r
+ if Shadow is not None:\r
Name = DT.TAB_INF_DEFINES_SHADOW\r
Value = Shadow.GetValue()\r
Statement = _GenInfDefineStateMent(Shadow.Comments.GetHeaderComments(),\r
Shadow.Comments.GetTailComments())\r
DefinesDictNew[Statement] = ArchString\r
\r
- if DpxSource != None:\r
+ if DpxSource is not None:\r
Name = DT.TAB_INF_DEFINES_DPX_SOURCE\r
for DpxSourceItem in DpxSource:\r
Value = DpxSourceItem[0]\r
DpxSourceItem[1].GetTailComments())\r
DefinesDictNew[Statement] = ArchString\r
\r
- if PciVendorId != None:\r
+ if PciVendorId is not None:\r
Name = DT.TAB_INF_DEFINES_PCI_VENDOR_ID\r
Value = PciVendorId.GetValue()\r
Statement = _GenInfDefineStateMent(PciVendorId.Comments.GetHeaderComments(),\r
PciVendorId.Comments.GetTailComments())\r
DefinesDictNew[Statement] = ArchString\r
\r
- if PciDeviceId != None:\r
+ if PciDeviceId is not None:\r
Name = DT.TAB_INF_DEFINES_PCI_DEVICE_ID\r
Value = PciDeviceId.GetValue()\r
Statement = _GenInfDefineStateMent(PciDeviceId.Comments.GetHeaderComments(),\r
PciDeviceId.Comments.GetTailComments())\r
DefinesDictNew[Statement] = ArchString\r
\r
- if PciClassCode != None:\r
+ if PciClassCode is not None:\r
Name = DT.TAB_INF_DEFINES_PCI_CLASS_CODE\r
Value = PciClassCode.GetValue()\r
Statement = _GenInfDefineStateMent(PciClassCode.Comments.GetHeaderComments(),\r
PciClassCode.Comments.GetTailComments())\r
DefinesDictNew[Statement] = ArchString\r
\r
- if PciRevision != None:\r
+ if PciRevision is not None:\r
Name = DT.TAB_INF_DEFINES_PCI_REVISION\r
Value = PciRevision.GetValue()\r
Statement = _GenInfDefineStateMent(PciRevision.Comments.GetHeaderComments(),\r
PciRevision.Comments.GetTailComments())\r
DefinesDictNew[Statement] = ArchString\r
\r
- if PciCompress != None:\r
+ if PciCompress is not None:\r
Name = DT.TAB_INF_DEFINES_PCI_COMPRESS\r
Value = PciCompress.GetValue()\r
Statement = _GenInfDefineStateMent(PciCompress.Comments.GetHeaderComments(),\r
\r
DefinesDictNew[Statement] = ArchString\r
\r
- if UefiHiiResourceSection != None:\r
+ if UefiHiiResourceSection is not None:\r
Name = DT.TAB_INF_DEFINES_UEFI_HII_RESOURCE_SECTION\r
Value = UefiHiiResourceSection.GetValue()\r
HeaderComment = UefiHiiResourceSection.Comments.GetHeaderComments()\r
## GenBinaryData\r
#\r
#\r
-def GenBinaryData(BinaryData, BinaryObj, BinariesDict, AsBuildIns, BinaryFileObjectList, SupArchList, BinaryModule):\r
+def GenBinaryData(BinaryData, BinaryObj, BinariesDict, AsBuildIns, BinaryFileObjectList, \\r
+ SupArchList, BinaryModule, DecObjList=None):\r
if BinaryModule:\r
pass\r
OriSupArchList = SupArchList\r
else:\r
TagName = ''\r
Family = ''\r
+ \r
FFE = ItemObj.GetFeatureFlagExp()\r
\r
#\r
FileNameObj.SetFileType(ItemObj.GetType())\r
FileNameObj.SetFilename(ItemObj.GetFileName())\r
FileNameObj.SetFeatureFlag(FFE)\r
+ #\r
+ # Get GUID value of the GUID CName in the DEC file\r
+ #\r
+ if ItemObj.GetType() == DT.SUBTYPE_GUID_BINARY_FILE_TYPE: \r
+ if not CheckGuidRegFormat(ItemObj.GetGuidValue()):\r
+ if not DecObjList:\r
+ if DT.TAB_HORIZON_LINE_SPLIT in ItemObj.GetGuidValue() or \\r
+ DT.TAB_COMMA_SPLIT in ItemObj.GetGuidValue():\r
+ Logger.Error("\nMkPkg",\r
+ FORMAT_INVALID,\r
+ ST.ERR_DECPARSE_DEFINE_PKGGUID,\r
+ ExtraData=ItemObj.GetGuidValue(),\r
+ RaiseError=True)\r
+ else:\r
+ Logger.Error("\nMkPkg",\r
+ FORMAT_INVALID,\r
+ ST.ERR_UNI_SUBGUID_VALUE_DEFINE_DEC_NOT_FOUND % \\r
+ (ItemObj.GetGuidValue()),\r
+ RaiseError=True)\r
+ else:\r
+ for DecObj in DecObjList:\r
+ for GuidObj in DecObj.GetGuidList():\r
+ if GuidObj.GetCName() == ItemObj.GetGuidValue():\r
+ FileNameObj.SetGuidValue(GuidObj.GetGuid())\r
+ break\r
+\r
+ if not FileNameObj.GetGuidValue(): \r
+ Logger.Error("\nMkPkg",\r
+ FORMAT_INVALID,\r
+ ST.ERR_DECPARSE_CGUID_NOT_FOUND % \\r
+ (ItemObj.GetGuidValue()),\r
+ RaiseError=True) \r
+ else:\r
+ FileNameObj.SetGuidValue(ItemObj.GetGuidValue().strip())\r
+\r
FileNameObj.SetSupArchList(SupArchList)\r
FileNameList = [FileNameObj]\r
\r