#\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
-# distribution. The full text of the license may be found at \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
+# distribution. The full text of the license may be found at\r
# http://opensource.org/licenses/bsd-license.php\r
#\r
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
# </Filename> {1,}\r
# <AsBuilt> ... </AsBuilt> {0,}\r
# </BinaryFile> {1,}\r
-# \r
+#\r
class BinaryFileXml(object):\r
def __init__(self):\r
self.FileNames = []\r
pass\r
BinaryFile = BinaryFileObject()\r
FilenameList = []\r
+ SupArchList = ['COMMON']\r
for SubItem in XmlList(Item, '%s/Filename' % Key):\r
Axml = FilenameXml()\r
Bxml = Axml.FromXml(SubItem, 'Filename')\r
FilenameList.append(Bxml)\r
BinaryFile.SetFileNameList(FilenameList)\r
+ for FileName in FilenameList:\r
+ if FileName.GetSupArchList():\r
+ SupArchList = FileName.GetSupArchList()\r
+ BinaryFile.SetSupArchList(SupArchList)\r
if GlobalData.gIS_BINARY_INF:\r
AsBuiltList = []\r
for AsBuiltItem in XmlList(Item, '%s/AsBuilt' % Key):\r
NodeList.append(Tmp.ToXml(Filename, 'Filename'))\r
SupportArch = Filename.SupArchList\r
\r
- if GlobalData.gIS_BINARY_INF:\r
- AsBuildList = BinaryFile.GetAsBuiltList()\r
- PatchPcdValueList = AsBuildList.GetPatchPcdList()\r
- PcdExList = AsBuildList.GetPcdExList()\r
- LibGuidVerList = AsBuildList.GetLibraryInstancesList()\r
- BuildFlagList = AsBuildList.GetBuildFlagsList()\r
-\r
- AsBuiltNodeList = []\r
-\r
- for Pcd in PatchPcdValueList:\r
- if IsMatchArch(Pcd.SupArchList, SupportArch):\r
- Tmp = PcdEntryXml()\r
- AsBuiltNodeList.append(Tmp.ToXml4(Pcd, 'PatchPcdValue'))\r
-\r
- for Pcd in PcdExList:\r
- if IsMatchArch(Pcd.SupArchList, SupportArch):\r
- Tmp = PcdEntryXml()\r
- AsBuiltNodeList.append(Tmp.ToXml4(Pcd, 'PcdExValue'))\r
-\r
- GuiVerElemList = []\r
- for LibGuidVer in LibGuidVerList:\r
+ AsBuildList = BinaryFile.GetAsBuiltList()\r
+ PatchPcdValueList = AsBuildList.GetPatchPcdList()\r
+ PcdExList = AsBuildList.GetPcdExList()\r
+ LibGuidVerList = AsBuildList.GetLibraryInstancesList()\r
+ BuildFlagList = AsBuildList.GetBuildFlagsList()\r
+\r
+ AsBuiltNodeList = []\r
+\r
+ for Pcd in PatchPcdValueList:\r
+ if IsMatchArch(Pcd.SupArchList, SupportArch):\r
+ Tmp = PcdEntryXml()\r
+ AsBuiltNodeList.append(Tmp.ToXml4(Pcd, 'PatchPcdValue'))\r
+\r
+ for Pcd in PcdExList:\r
+ if IsMatchArch(Pcd.SupArchList, SupportArch):\r
+ Tmp = PcdEntryXml()\r
+ AsBuiltNodeList.append(Tmp.ToXml4(Pcd, 'PcdExValue'))\r
+\r
+ GuiVerElemList = []\r
+ for LibGuidVer in LibGuidVerList:\r
+ if LibGuidVer.GetLibGuid() and IsMatchArch(LibGuidVer.GetSupArchList(), SupportArch):\r
GuiVerElem = \\r
CreateXmlElement('GUID', LibGuidVer.GetLibGuid(), [], [['Version', LibGuidVer.GetLibVersion()]])\r
GuiVerElemList.append(GuiVerElem)\r
- if len(GuiVerElemList) > 0:\r
- LibGuidVerElem = CreateXmlElement('LibraryInstances', '', GuiVerElemList, [])\r
- AsBuiltNodeList.append(LibGuidVerElem)\r
+ if len(GuiVerElemList) > 0:\r
+ LibGuidVerElem = CreateXmlElement('LibraryInstances', '', GuiVerElemList, [])\r
+ AsBuiltNodeList.append(LibGuidVerElem)\r
\r
- for BuildFlag in BuildFlagList:\r
- Tmp = BuildFlagXml()\r
- Elem = CreateXmlElement('BuildFlags', ''.join(BuildFlag), [], [])\r
- AsBuiltNodeList.append(Elem)\r
+ for BuildFlag in BuildFlagList:\r
+ if IsMatchArch(BuildFlag.GetSupArchList(), SupportArch):\r
+ for Item in BuildFlag.GetAsBuildList():\r
+ Tmp = BuildFlagXml()\r
+ Elem = CreateXmlElement('BuildFlags', ''.join(Item), [], [])\r
+ AsBuiltNodeList.append(Elem)\r
\r
- if len(AsBuiltNodeList) > 0:\r
- Element = CreateXmlElement('AsBuilt', '', AsBuiltNodeList, [])\r
- NodeList.append(Element)\r
+ if len(AsBuiltNodeList) > 0:\r
+ Element = CreateXmlElement('AsBuilt', '', AsBuiltNodeList, [])\r
+ NodeList.append(Element)\r
\r
Root = CreateXmlElement('%s' % Key, '', NodeList, [])\r
\r
for Item in self.HelpText:\r
Str = Str + '\n\t' + str(Item)\r
return Str\r
-## \r
+##\r
# DepexXml\r
#\r
class DepexXml(object):\r
else:\r
Module.SetMiscFileList([])\r
\r
- # \r
+ #\r
# UserExtensions\r
#\r
for Item in XmlList(Item, '/ModuleSurfaceArea/UserExtensions'):\r
not XmlList(Item, '/ModuleSurfaceArea/PackageDependencies/Package'):\r
Module.SetPackageDependencyList([None])\r
\r
- # \r
+ #\r
# Guid\r
#\r
for SubItem in XmlList(Item, '/ModuleSurfaceArea/Guids/GuidCName'):\r