summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/spd2dec/StoreDec.py
diff options
context:
space:
mode:
Diffstat (limited to 'BaseTools/Source/Python/spd2dec/StoreDec.py')
-rw-r--r--BaseTools/Source/Python/spd2dec/StoreDec.py247
1 files changed, 0 insertions, 247 deletions
diff --git a/BaseTools/Source/Python/spd2dec/StoreDec.py b/BaseTools/Source/Python/spd2dec/StoreDec.py
deleted file mode 100644
index f3805f6210..0000000000
--- a/BaseTools/Source/Python/spd2dec/StoreDec.py
+++ /dev/null
@@ -1,247 +0,0 @@
-## @file
-# Store a Package class object to a DEC file.
-#
-# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import os
-from Common.MigrationUtilities import *
-from LoadSpd import LoadSpd
-from CommonDataClass.PackageClass import *
-
-
-## Store Defines section.
-#
-# Write [Defines] section to the DecFile based on Package class object.
-# Different CPU architectures are specified in the subsection if possible.
-#
-# @param DecFile The output DEC file to store the Defines section.
-# @param Package An input Package class object.
-#
-def StorePackageDefinesSection(DecFile, Package):
- DefinesTupleList = []
- DefinesTupleList.append(("DEC_VERSION", Package.Header.DecSpecification))
- DefinesTupleList.append(("PACKAGE_NAME", Package.Header.Name))
- DefinesTupleList.append(("PACKAGE_GUID", Package.Header.Guid))
-
- StoreDefinesSection(DecFile, DefinesTupleList)
-
-
-## Return a Package Include Class Item.
-#
-# Read the input Include class object and return one Include Class Item.
-#
-# @param Include An input Include class object.
-#
-# @retval IncludeClassItem A Package Include Class Item.
-#
-def GetPackageIncludeClassItem(Include):
- return Include.FilePath
-
-
-## Store Includes section.
-#
-# Write [Includes] section to the DecFile based on Package class object.
-# Different CPU architectures are specified in the subsection if possible.
-#
-# @param DecFile The output DEC file to store the Includes section.
-# @param Package An input Package class object.
-#
-def StorePackageIncludesSection(DecFile, Package):
- Includes = Package.Includes
- Section = GetSection("Includes", GetPackageIncludeClassItem, Includes)
- StoreTextFile(DecFile, Section)
-
-
-## Return a Package Library Class Item.
-#
-# Read the input LibraryClass class object and return one Library Class Item.
-#
-# @param LibraryClass An input LibraryClass class object.
-#
-# @retval LibraryClassItem A Package Library Class Item.
-#
-def GetPackageLibraryClassItem(LibraryClass):
- return "|".join((LibraryClass.LibraryClass, LibraryClass.IncludeHeader))
-
-
-## Store Library Classes section.
-#
-# Write [LibraryClasses] section to the DecFile based on Package class object.
-# Different CPU architectures are specified in the subsection if possible.
-#
-# @param DecFile The output DEC file to store the Library Classes
-# section.
-# @param Package An input Package class object.
-#
-def StorePackageLibraryClassesSection(DecFile, Package):
- LibraryClasses = Package.LibraryClassDeclarations
- Section = GetSection("LibraryClasses", GetPackageLibraryClassItem, LibraryClasses)
- StoreTextFile(DecFile, Section)
-
-
-## Return a Package Guid Declaration Item.
-#
-# Read the input Guid class object and return one line of Guid Declaration Item.
-#
-# @param Guid An input Guid class object.
-#
-# @retval GuidDeclarationItem A Package Guid Declaration Item.
-#
-def GetPackageGuidDeclarationItem(Guid):
- GuidCName = Guid.CName
- GuidValue = Guid.Guid.replace("-", "")
- GuidValueList = [GuidValue[0:8]]
- GuidValueList += [GuidValue[i : i + 4] for i in range(8, 16, 4)]
- GuidValueList += [GuidValue[i : i + 2] for i in range(16, 32, 2)]
-
- GuidCFormat = "{0x%s" + ", 0x%s" * 2 + ", {0x%s" + ", 0x%s" * 7 + "}}"
- GuidCValue = GuidCFormat % tuple(GuidValueList)
- return "%-30s = %s" % (GuidCName, GuidCValue)
-
-
-## Store Protocols section.
-#
-# Write [Protocols] section to the DecFile based on Package class object.
-# Different CPU architectures are specified in the subsection if possible.
-#
-# @param DecFile The output DEC file to store the Protocols section.
-# @param Package An input Package class object.
-#
-def StorePackageProtocolsSection(DecFile, Package):
- Protocols = Package.ProtocolDeclarations
- Section = GetSection("Protocols", GetPackageGuidDeclarationItem, Protocols)
- StoreTextFile(DecFile, Section)
-
-
-## Store Ppis section.
-#
-# Write [Ppis] section to the DecFile based on Package class object.
-# Different CPU architectures are specified in the subsection if possible.
-#
-# @param DecFile The output DEC file to store the Ppis section.
-# @param Package An input Package class object.
-#
-def StorePackagePpisSection(DecFile, Package):
- Ppis = Package.PpiDeclarations
- Section = GetSection("Ppis", GetPackageGuidDeclarationItem, Ppis)
- StoreTextFile(DecFile, Section)
-
-
-## Store Guids section.
-#
-# Write [Guids] section to the DecFile based on Package class object.
-# Different CPU architectures are specified in the subsection if possible.
-#
-# @param DecFile The output DEC file to store the Guids section.
-# @param Package An input Package class object.
-#
-def StorePackageGuidsSection(DecFile, Package):
- Guids = Package.GuidDeclarations
- Section = GetSection("Guids", GetPackageGuidDeclarationItem, Guids)
- StoreTextFile(DecFile, Section)
-
-
-## Return a Package Pcd Item.
-#
-# Read the input Pcd class object and return one line of Pcd Item.
-#
-# @param Pcd An input Pcd class object.
-#
-# @retval PcdItem A Package Pcd Item.
-#
-def GetPackagePcdItem(Pcd):
- PcdPair = "%s.%s" % (Pcd.TokenSpaceGuidCName, Pcd.CName)
- DatumType = Pcd.DatumType
- DefaultValue = Pcd.DefaultValue
- Token = Pcd.Token
- PcdList = [PcdPair, DefaultValue, DatumType, Token]
- return "|".join(PcdList)
-
-
-## DEC Pcd Section Name dictionary indexed by PCD Item Type.
-mDecPcdSectionNameDict = {
- "FEATURE_FLAG" : "PcdsFeatureFlag",
- "FIXED_AT_BUILD" : "PcdsFixedAtBuild",
- "PATCHABLE_IN_MODULE" : "PcdsPatchableInModule",
- "DYNAMIC" : "PcdsDynamic",
- "DYNAMIC_EX" : "PcdsDynamicEx"
- }
-
-## Store Pcds section.
-#
-# Write [Pcds*] section to the DecFile based on Package class object.
-# Different CPU architectures are specified in the subsection if possible.
-#
-# @param DecFile The output DEC file to store the Pcds section.
-# @param Package An input Package class object.
-#
-def StorePackagePcdsSection(DecFile, Package):
- PcdsDict = {}
- for Pcd in Package.PcdDeclarations:
- for PcdItemType in Pcd.ValidUsage:
- PcdSectionName = mDecPcdSectionNameDict.get(PcdItemType)
- if PcdSectionName:
- PcdsDict.setdefault(PcdSectionName, []).append(Pcd)
- else:
- EdkLogger.info("Unknown Pcd Item Type: %s" % PcdItemType)
-
- Section = ""
- for PcdSectionName in PcdsDict:
- Pcds = PcdsDict[PcdSectionName]
- Section += GetSection(PcdSectionName, GetPackagePcdItem, Pcds)
-
- StoreTextFile(DecFile, Section)
-
-
-## Store User Extensions section.
-#
-# Write [UserExtensions] section to the DecFile based on Package class object.
-#
-# @param DecFile The output DEC file to store the User Extensions section.
-# @param Package An input Package class object.
-#
-def StorePackageUserExtensionsSection(DecFile, Package):
- Section = "".join(map(GetUserExtensions, Package.UserExtensions))
- StoreTextFile(DecFile, Section)
-
-
-## Store a Package class object to a new DEC file.
-#
-# Read an input Package class object and ave the contents to a new DEC file.
-#
-# @param DecFileName The output DEC file.
-# @param Package An input Package class object.
-#
-def StoreDec(DecFileName, Package):
- DecFile = open(DecFileName, "w+")
- EdkLogger.info("Save file to %s" % DecFileName)
-
- StoreHeader(DecFile, Package.Header)
- StorePackageDefinesSection(DecFile, Package)
- StorePackageIncludesSection(DecFile, Package)
- StorePackageLibraryClassesSection(DecFile, Package)
- StorePackageProtocolsSection(DecFile, Package)
- StorePackagePpisSection(DecFile, Package)
- StorePackageGuidsSection(DecFile, Package)
- StorePackagePcdsSection(DecFile, Package)
- StorePackageUserExtensionsSection(DecFile, Package)
-
- DecFile.close()
-
-
-# This acts like the main() function for the script, unless it is 'import'ed
-# into another script.
-if __name__ == '__main__':
- pass
- \ No newline at end of file