]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py
BaseTools: Remove the deprecated hash_key()
[mirror_edk2.git] / BaseTools / Source / Python / UPT / GenMetaFile / GenInfFile.py
index bb8a1206b17e1a98317e547f9b23de9f845d196e..b97b319e0956e7209484af0d77ca07805168e0be 100644 (file)
@@ -2,7 +2,7 @@
 #\r
 # This file contained the logical of transfer package object to INF files.\r
 #\r
-# Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2011 - 2018, 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
@@ -20,7 +20,7 @@ import stat
 import codecs\r
 import md5\r
 from Core.FileHook import __FileHookOpen__\r
-from Library.String import GetSplitValueList\r
+from Library.StringUtils import GetSplitValueList\r
 from Library.Parsing import GenSection\r
 from Library.Parsing import GetWorkspacePackage\r
 from Library.Parsing import ConvertArchForInstall\r
@@ -41,7 +41,7 @@ import Logger.Log as Logger
 from Library import DataType as DT\r
 from GenMetaFile import GenMetaFileMisc\r
 from Library.UniClassObject import FormatUniEntry\r
-from Library.String import GetUniFileName\r
+from Library.StringUtils import GetUniFileName\r
 \r
 \r
 ## Transfer Module Object to Inf files\r
@@ -140,7 +140,9 @@ def ModuleToInf(ModuleObject, PackageObject=None, DistHeader=None):
     #\r
     FileHeader = GenHeaderCommentSection(ModuleAbstract, ModuleDescription, ModuleCopyright, ModuleLicense, False, \\r
                                          DT.TAB_COMMENT_EDK1_SPLIT)\r
-    GenModuleUNIEncodeFile(ModuleObject, FileHeader)\r
+    ModuleUniFile = GenModuleUNIEncodeFile(ModuleObject, FileHeader)\r
+    if ModuleUniFile:\r
+        ModuleObject.SetModuleUniFile(os.path.basename(ModuleUniFile))\r
 \r
     #\r
     # Judge whether the INF file is an AsBuild INF.\r
@@ -310,7 +312,7 @@ def GenDefines(ModuleObject):
     # TAB_INF_DEFINES_VERSION_STRING\r
     if ModuleObject.UNIFlag:\r
         Statement = (u'%s ' % DT.TAB_INF_DEFINES_MODULE_UNI_FILE).ljust(LeftOffset) + \\r
-                    u'= %s' % ModuleObject.GetBaseName() + '.uni'\r
+                    u'= %s' % ModuleObject.GetModuleUniFile()\r
         SpecialStatementList.append(Statement)\r
 \r
     # TAB_INF_DEFINES_MODULE_TYPE\r
@@ -436,14 +438,14 @@ def GenLibraryClasses(ModuleObject):
                 Statement = '# Guid: ' + LibraryItem.Guid + ' Version: ' + LibraryItem.Version\r
 \r
                 if len(BinaryFile.SupArchList) == 0:\r
-                    if LibraryClassDict.has_key('COMMON') and Statement not in LibraryClassDict['COMMON']:\r
+                    if 'COMMON' in LibraryClassDict and Statement not in LibraryClassDict['COMMON']:\r
                         LibraryClassDict['COMMON'].append(Statement)\r
                     else:\r
                         LibraryClassDict['COMMON'] = ['## @LIB_INSTANCES']\r
                         LibraryClassDict['COMMON'].append(Statement)\r
                 else:\r
                     for Arch in BinaryFile.SupArchList:\r
-                        if LibraryClassDict.has_key(Arch):\r
+                        if Arch in LibraryClassDict:\r
                             if Statement not in LibraryClassDict[Arch]:\r
                                 LibraryClassDict[Arch].append(Statement)\r
                             else:\r
@@ -568,8 +570,9 @@ def GenUserExtensions(ModuleObject):
         if UserExtension.GetIdentifier() == 'Depex':\r
             continue\r
         Statement = UserExtension.GetStatement()\r
-        if not Statement:\r
-            continue\r
+# Comment the code to support user extension without any statement just the section header in []\r
+#         if not Statement:\r
+#             continue\r
         ArchList = UserExtension.GetSupArchList()\r
         for Index in xrange(0, len(ArchList)):\r
             ArchList[Index] = ConvertArchForInstall(ArchList[Index])\r
@@ -615,11 +618,11 @@ def GenSourceStatement(SourceFile, Family, FeatureFlag, TagName=None,
     # format of SourceFile|Family|TagName|ToolCode|FeatureFlag\r
     #\r
     Statement += SourceFile\r
-    if TagName == None:\r
+    if TagName is None:\r
         TagName = ''\r
-    if ToolCode == None:\r
+    if ToolCode is None:\r
         ToolCode = ''\r
-    if HelpStr == None:\r
+    if HelpStr is None:\r
         HelpStr = ''\r
     if FeatureFlag:\r
         Statement += '|' + Family + '|' + TagName + '|' + ToolCode + '|' + FeatureFlag\r
@@ -914,14 +917,14 @@ def GenAsBuiltPacthPcdSections(ModuleObject):
             if FileNameObjList:\r
                 ArchList = FileNameObjList[0].GetSupArchList()\r
             if len(ArchList) == 0:\r
-                if PatchPcdDict.has_key(DT.TAB_ARCH_COMMON):\r
+                if DT.TAB_ARCH_COMMON in PatchPcdDict:\r
                     if Statement not in PatchPcdDict[DT.TAB_ARCH_COMMON]:\r
                         PatchPcdDict[DT.TAB_ARCH_COMMON].append(Statement)\r
                 else:\r
                     PatchPcdDict[DT.TAB_ARCH_COMMON] = [Statement]\r
             else:\r
                 for Arch in ArchList:\r
-                    if PatchPcdDict.has_key(Arch):\r
+                    if Arch in PatchPcdDict:\r
                         if Statement not in PatchPcdDict[Arch]:\r
                             PatchPcdDict[Arch].append(Statement)\r
                     else:\r
@@ -964,13 +967,13 @@ def GenAsBuiltPcdExSections(ModuleObject):
                 ArchList = FileNameObjList[0].GetSupArchList()\r
 \r
             if len(ArchList) == 0:\r
-                if PcdExDict.has_key('COMMON'):\r
+                if 'COMMON' in PcdExDict:\r
                     PcdExDict['COMMON'].append(Statement)\r
                 else:\r
                     PcdExDict['COMMON'] = [Statement]\r
             else:\r
                 for Arch in ArchList:\r
-                    if PcdExDict.has_key(Arch):\r
+                    if Arch in PcdExDict:\r
                         if Statement not in PcdExDict[Arch]:\r
                             PcdExDict[Arch].append(Statement)\r
                     else:\r
@@ -1068,7 +1071,7 @@ def GenBuildOptions(ModuleObject):
             for BuilOptionItem in BinaryFile.AsBuiltList[0].BinaryBuildFlagList:\r
                 Statement = '#' + BuilOptionItem.AsBuiltOptionFlags\r
                 if len(BinaryFile.SupArchList) == 0:\r
-                    if BuildOptionDict.has_key('COMMON'):\r
+                    if 'COMMON' in BuildOptionDict:\r
                         if Statement not in BuildOptionDict['COMMON']:\r
                             BuildOptionDict['COMMON'].append(Statement)\r
                     else:\r
@@ -1076,7 +1079,7 @@ def GenBuildOptions(ModuleObject):
                         BuildOptionDict['COMMON'].append(Statement)\r
                 else:\r
                     for Arch in BinaryFile.SupArchList:\r
-                        if BuildOptionDict.has_key(Arch):\r
+                        if Arch in BuildOptionDict:\r
                             if Statement not in BuildOptionDict[Arch]:\r
                                 BuildOptionDict[Arch].append(Statement)\r
                         else:\r