]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Replace Binary File type strings with predefined constant
authorCarsey, Jaben <jaben.carsey@intel.com>
Thu, 26 Apr 2018 16:57:56 +0000 (00:57 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Wed, 2 May 2018 07:01:43 +0000 (15:01 +0800)
BINARY_FILE_TYPE_FW was 'FW'
BINARY_FILE_TYPE_GUID was 'GUID'
BINARY_FILE_TYPE_PREEFORM was 'PREEFORM'
BINARY_FILE_TYPE_UEFI_APP was 'UEFI_APP'
BINARY_FILE_TYPE_UNI_UI was 'UNI_UI'
BINARY_FILE_TYPE_UNI_VER was 'UNI_VER'
BINARY_FILE_TYPE_LIB was 'LIB'
BINARY_FILE_TYPE_PE32 was 'PE32'
BINARY_FILE_TYPE_PIC was 'PIC'
BINARY_FILE_TYPE_PEI_DEPEX was 'PEI_DEPEX'
BINARY_FILE_TYPE_DXE_DEPEX was 'DXE_DEPEX'
BINARY_FILE_TYPE_SMM_DEPEX was 'SMM_DEPEX'
BINARY_FILE_TYPE_TE was 'TE'
BINARY_FILE_TYPE_VER was 'VER'
BINARY_FILE_TYPE_UI was 'UI'
BINARY_FILE_TYPE_BIN was 'BIN'
BINARY_FILE_TYPE_FV was 'FV'

v2 - split apart FV and GUID types with different meanings.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
24 files changed:
BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools/Source/Python/AutoGen/GenC.py
BaseTools/Source/Python/AutoGen/GenPcdDb.py
BaseTools/Source/Python/Common/DataType.py
BaseTools/Source/Python/Common/Expression.py
BaseTools/Source/Python/Common/Misc.py
BaseTools/Source/Python/GenFds/DataSection.py
BaseTools/Source/Python/GenFds/DepexSection.py
BaseTools/Source/Python/GenFds/EfiSection.py
BaseTools/Source/Python/GenFds/Fd.py
BaseTools/Source/Python/GenFds/FdfParser.py
BaseTools/Source/Python/GenFds/Ffs.py
BaseTools/Source/Python/GenFds/FfsInfStatement.py
BaseTools/Source/Python/GenFds/Fv.py
BaseTools/Source/Python/GenFds/GenFds.py
BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
BaseTools/Source/Python/GenFds/OptRomInfStatement.py
BaseTools/Source/Python/GenFds/Region.py
BaseTools/Source/Python/GenFds/Section.py
BaseTools/Source/Python/GenFds/UiSection.py
BaseTools/Source/Python/Trim/Trim.py
BaseTools/Source/Python/Workspace/DscBuildData.py
BaseTools/Source/Python/Workspace/InfBuildData.py
BaseTools/Source/Python/build/BuildReport.py

index 2a6fa05ab819a04f443b1b37725db030e285d15b..671f02133aca3ebf44d07e2571d5bc7e7483f504 100644 (file)
@@ -922,7 +922,7 @@ class WorkspaceAutoGen(AutoGen):
     ## Return the directory to store FV files\r
     def _GetFvDir(self):\r
         if self._FvDir is None:\r
-            self._FvDir = path.join(self.BuildDir, 'FV')\r
+            self._FvDir = path.join(self.BuildDir, TAB_FV_DIRECTORY)\r
         return self._FvDir\r
 \r
     ## Return the directory to store all intermediate and final files built\r
@@ -1325,7 +1325,7 @@ class PlatformAutoGen(AutoGen):
 \r
     def UpdateNVStoreMaxSize(self,OrgVpdFile):\r
         if self.VariableInfo:\r
-            VpdMapFilePath = os.path.join(self.BuildDir, "FV", "%s.map" % self.Platform.VpdToolGuid)\r
+            VpdMapFilePath = os.path.join(self.BuildDir, TAB_FV_DIRECTORY, "%s.map" % self.Platform.VpdToolGuid)\r
             PcdNvStoreDfBuffer = [item for item in self._DynamicPcdList if item.TokenCName == "PcdNvStoreDefaultValueBuffer" and item.TokenSpaceGuidCName == "gEfiMdeModulePkgTokenSpaceGuid"]\r
 \r
             if PcdNvStoreDfBuffer:\r
@@ -1718,7 +1718,7 @@ class PlatformAutoGen(AutoGen):
 \r
                 # Process VPD map file generated by third party BPDG tool\r
                 if NeedProcessVpdMapFile:\r
-                    VpdMapFilePath = os.path.join(self.BuildDir, "FV", "%s.map" % self.Platform.VpdToolGuid)\r
+                    VpdMapFilePath = os.path.join(self.BuildDir, TAB_FV_DIRECTORY, "%s.map" % self.Platform.VpdToolGuid)\r
                     if os.path.exists(VpdMapFilePath):\r
                         VpdFile.Read(VpdMapFilePath)\r
 \r
@@ -1769,7 +1769,7 @@ class PlatformAutoGen(AutoGen):
         self.AllPcdList = self._NonDynamicPcdList + self._DynamicPcdList\r
 \r
     def FixVpdOffset(self,VpdFile ):\r
-        FvPath = os.path.join(self.BuildDir, "FV")\r
+        FvPath = os.path.join(self.BuildDir, TAB_FV_DIRECTORY)\r
         if not os.path.exists(FvPath):\r
             try:\r
                 os.makedirs(FvPath)\r
@@ -1782,7 +1782,7 @@ class PlatformAutoGen(AutoGen):
             # retrieve BPDG tool's path from tool_def.txt according to VPD_TOOL_GUID defined in DSC file.\r
             BPDGToolName = None\r
             for ToolDef in self.ToolDefinition.values():\r
-                if ToolDef.has_key("GUID") and ToolDef["GUID"] == self.Platform.VpdToolGuid:\r
+                if ToolDef.has_key(TAB_GUID) and ToolDef[TAB_GUID] == self.Platform.VpdToolGuid:\r
                     if not ToolDef.has_key("PATH"):\r
                         EdkLogger.error("build", ATTRIBUTE_NOT_AVAILABLE, "PATH attribute was not provided for BPDG guid tool %s in tools_def.txt" % self.Platform.VpdToolGuid)\r
                     BPDGToolName = ToolDef["PATH"]\r
@@ -3031,7 +3031,7 @@ class ModuleAutoGen(AutoGen):
     def _GetFfsOutputDir(self):\r
         if self._FfsOutputDir is None:\r
             if GlobalData.gFdfParser is not None:\r
-                self._FfsOutputDir = path.join(self.PlatformInfo.BuildDir, "FV", "Ffs", self.Guid + self.Name)\r
+                self._FfsOutputDir = path.join(self.PlatformInfo.BuildDir, TAB_FV_DIRECTORY, "Ffs", self.Guid + self.Name)\r
             else:\r
                 self._FfsOutputDir = ''\r
         return self._FfsOutputDir\r
index 45542ed46390371230ee00cb03c479ff0e74252c..89a3e56be3f9e0b2351cd1f56175051bc28cd20f 100644 (file)
@@ -1613,7 +1613,7 @@ def CreateModuleUnloadImageCode(Info, AutoGenC, AutoGenH):
 #\r
 def CreateGuidDefinitionCode(Info, AutoGenC, AutoGenH):\r
     if Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE]:\r
-        GuidType = "GUID"\r
+        GuidType = TAB_GUID\r
     else:\r
         GuidType = "EFI_GUID"\r
 \r
@@ -1637,7 +1637,7 @@ def CreateGuidDefinitionCode(Info, AutoGenC, AutoGenH):
 #\r
 def CreateProtocolDefinitionCode(Info, AutoGenC, AutoGenH):\r
     if Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE]:\r
-        GuidType = "GUID"\r
+        GuidType = TAB_GUID\r
     else:\r
         GuidType = "EFI_GUID"\r
 \r
@@ -1661,7 +1661,7 @@ def CreateProtocolDefinitionCode(Info, AutoGenC, AutoGenH):
 #\r
 def CreatePpiDefinitionCode(Info, AutoGenC, AutoGenH):\r
     if Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE]:\r
-        GuidType = "GUID"\r
+        GuidType = TAB_GUID\r
     else:\r
         GuidType = "EFI_GUID"\r
 \r
@@ -1698,7 +1698,7 @@ def CreatePcdCode(Info, AutoGenC, AutoGenH):
     if TokenSpaceList:\r
         AutoGenH.Append("\n// Definition of PCD Token Space GUIDs used in this module\n\n")\r
         if Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE]:\r
-            GuidType = "GUID"\r
+            GuidType = TAB_GUID\r
         else:\r
             GuidType = "EFI_GUID"              \r
         for Item in TokenSpaceList:\r
index b48ddcd59ec8a89ba8c7b4bfe6a353712bf11b2d..fab6859edb2f4b92aa799acb9b3d285767b4b050 100644 (file)
@@ -972,7 +972,7 @@ def CreatePcdDatabaseCode (Info, AutoGenC, AutoGenH):
         AutoGenC.Append(AdditionalAutoGenC.String)\r
 \r
     if Info.IsBinaryModule:\r
-        DbFileName = os.path.join(Info.PlatformInfo.BuildDir, "FV", Phase + "PcdDataBase.raw")\r
+        DbFileName = os.path.join(Info.PlatformInfo.BuildDir, TAB_FV_DIRECTORY, Phase + "PcdDataBase.raw")\r
     else:\r
         DbFileName = os.path.join(Info.OutputDir, Phase + "PcdDataBase.raw")\r
     DbFile = StringIO()\r
@@ -1054,7 +1054,7 @@ def NewCreatePcdDatabasePhaseSpecificAutoGen(Platform,Phase):
             PcdDriverAutoGenData[(skuname,skuid)] = (AdditionalAutoGenH, AdditionalAutoGenC)\r
             VarCheckTableData[(skuname,skuid)] = VarCheckTab\r
         if Platform.Platform.VarCheckFlag:\r
-            dest = os.path.join(Platform.BuildDir, 'FV')\r
+            dest = os.path.join(Platform.BuildDir, TAB_FV_DIRECTORY)\r
             VarCheckTable = CreateVarCheckBin(VarCheckTableData)\r
             VarCheckTable.dump(dest, Phase)\r
         AdditionalAutoGenH, AdditionalAutoGenC =  CreateAutoGen(PcdDriverAutoGenData)\r
index 2662132e5106f061d4b438ff4a31440e6bc9e6de..5030df27b4daf149ea6cd4c1d75e1308b64ead23 100644 (file)
@@ -40,6 +40,7 @@ TAB_UINT16 = 'UINT16'
 TAB_UINT32 = 'UINT32'\r
 TAB_UINT64 = 'UINT64'\r
 TAB_VOID = 'VOID*'\r
+TAB_GUID = 'GUID'\r
 \r
 TAB_PCD_CLEAN_NUMERIC_TYPES = {TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64}\r
 TAB_PCD_NUMERIC_TYPES = {TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64, 'BOOLEAN'}\r
@@ -48,6 +49,7 @@ TAB_PCD_NUMERIC_TYPES_VOID = {TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64, 'BO
 TAB_EDK_SOURCE = '$(EDK_SOURCE)'\r
 TAB_EFI_SOURCE = '$(EFI_SOURCE)'\r
 TAB_WORKSPACE = '$(WORKSPACE)'\r
+TAB_FV_DIRECTORY = 'FV'\r
 \r
 TAB_ARCH_NULL = ''\r
 TAB_ARCH_COMMON = 'COMMON'\r
index 53504c110d6dedcaa2a6d3587ce626b5ea13c1f2..9fec10d2bb9c3c89a3e7f7b6295a4470fd57c293 100644 (file)
@@ -951,7 +951,7 @@ class ValueExpressionEx(ValueExpression):
                             Size = 0\r
                             ValueStr = ''\r
                             TokenSpaceGuidName = ''\r
-                            if Item.startswith('GUID') and Item.endswith(')'):\r
+                            if Item.startswith(TAB_GUID) and Item.endswith(')'):\r
                                 try:\r
                                     TokenSpaceGuidName = re.search('GUID\((\w+)\)', Item).group(1)\r
                                 except:\r
index f05ae39ebb29d8067596de9dbc9426bd143f796b..3d205197abfc4a59500ac94d4e331b19d0e5e04e 100644 (file)
@@ -1219,7 +1219,7 @@ class tdict:
 \r
 def IsFieldValueAnArray (Value):\r
     Value = Value.strip()\r
-    if Value.startswith('GUID') and Value.endswith(')'):\r
+    if Value.startswith(TAB_GUID) and Value.endswith(')'):\r
         return True\r
     if Value.startswith('L"') and Value.endswith('"')  and len(list(Value[2:-1])) > 1:\r
         return True\r
@@ -1316,7 +1316,7 @@ def ParseFieldValue (Value):
         if Size > 8:\r
             raise BadExpression('Value (%s) Size larger than %d' % (Value, Size))\r
         return Value, 8\r
-    if Value.startswith('GUID') and Value.endswith(')'):\r
+    if Value.startswith(TAB_GUID) and Value.endswith(')'):\r
         Value = Value.split('(', 1)[1][:-1].strip()\r
         if Value[0] == '{' and Value[-1] == '}':\r
             TmpValue = GuidStructureStringToGuidString(Value)\r
index 99d7392aaab3de984d803b62a8c656aa1544f418..29caa00c0d8dc4ff6031afa600c3d7e80b0e81ed 100644 (file)
@@ -82,7 +82,7 @@ class DataSection (DataSectionClassObject):
                         CopyLongFilePath(MapFile, CopyMapFile)\r
 \r
         #Get PE Section alignment when align is set to AUTO\r
-        if self.Alignment == 'Auto' and self.SecType in ('TE', 'PE32'):\r
+        if self.Alignment == 'Auto' and self.SecType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):\r
             ImageObj = PeImageClass (Filename)\r
             if ImageObj.SectionAlignment < 0x400:\r
                 self.Alignment = str (ImageObj.SectionAlignment)\r
@@ -92,7 +92,7 @@ class DataSection (DataSectionClassObject):
                 self.Alignment = str (ImageObj.SectionAlignment / 0x100000) + 'M'\r
 \r
         NoStrip = True\r
-        if self.SecType in ('TE', 'PE32'):\r
+        if self.SecType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):\r
             if self.KeepReloc is not None:\r
                 NoStrip = self.KeepReloc\r
 \r
@@ -110,7 +110,7 @@ class DataSection (DataSectionClassObject):
                 )\r
             self.SectFileName = StrippedFile\r
 \r
-        if self.SecType == 'TE':\r
+        if self.SecType == BINARY_FILE_TYPE_TE:\r
             TeFile = os.path.join( OutputPath, ModuleName + 'Te.raw')\r
             GenFdsGlobalVariable.GenerateFirmwareImage(\r
                     TeFile,\r
index d04160e890f17781c0e2596e1f53c1fcaa434e61..f42162d5a27e372d52bcf21a21354fccf15ac8bc 100644 (file)
@@ -96,13 +96,13 @@ class DepexSection (DepexSectionClassObject):
 \r
         if self.DepexType == 'PEI_DEPEX_EXP':\r
             ModuleType = SUP_MODULE_PEIM\r
-            SecType    = 'PEI_DEPEX'\r
+            SecType    = BINARY_FILE_TYPE_PEI_DEPEX\r
         elif self.DepexType == 'DXE_DEPEX_EXP':\r
             ModuleType = SUP_MODULE_DXE_DRIVER\r
-            SecType    = 'DXE_DEPEX'\r
+            SecType    = BINARY_FILE_TYPE_DXE_DEPEX\r
         elif self.DepexType == 'SMM_DEPEX_EXP':\r
             ModuleType = SUP_MODULE_DXE_SMM_DRIVER\r
-            SecType    = 'SMM_DEPEX'\r
+            SecType    = BINARY_FILE_TYPE_SMM_DEPEX\r
         else:\r
             EdkLogger.error("GenFds", FORMAT_INVALID,\r
                             "Depex type %s is not valid for module %s" % (self.DepexType, ModuleName))\r
index 1be23b4bf7fd85e52f48354875dd00801275b8bf..5405d0a8da135969b309e6035bbe523f619b9c30 100644 (file)
@@ -67,7 +67,7 @@ class EfiSection (EfiSectionClassObject):
             StringData = FfsInf.__ExtendMacro__(self.StringData)\r
             ModuleNameStr = FfsInf.__ExtendMacro__('$(MODULE_NAME)')\r
             NoStrip = True\r
-            if FfsInf.ModuleType in (SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM) and SectionType in ('TE', 'PE32'):\r
+            if FfsInf.ModuleType in (SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM) and SectionType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):\r
                 if FfsInf.KeepReloc is not None:\r
                     NoStrip = FfsInf.KeepReloc\r
                 elif FfsInf.KeepRelocFromRule is not None:\r
@@ -171,9 +171,9 @@ class EfiSection (EfiSectionClassObject):
                 OutputFileList.append(OutputFile)\r
 \r
         #\r
-        # If Section Type is 'UI'\r
+        # If Section Type is BINARY_FILE_TYPE_UI\r
         #\r
-        elif SectionType == 'UI':\r
+        elif SectionType == BINARY_FILE_TYPE_UI:\r
 \r
             InfOverrideUiString = False\r
             if FfsInf.Ui is not None:\r
@@ -242,7 +242,7 @@ class EfiSection (EfiSectionClassObject):
                     File = GenFdsGlobalVariable.MacroExtend(File, Dict)\r
                     \r
                     #Get PE Section alignment when align is set to AUTO\r
-                    if self.Alignment == 'Auto' and (SectionType == 'PE32' or SectionType == 'TE'):\r
+                    if self.Alignment == 'Auto' and (SectionType == BINARY_FILE_TYPE_PE32 or SectionType == BINARY_FILE_TYPE_TE):\r
                         ImageObj = PeImageClass (File)\r
                         if ImageObj.SectionAlignment < 0x400:\r
                             Align = str (ImageObj.SectionAlignment)\r
@@ -287,7 +287,7 @@ class EfiSection (EfiSectionClassObject):
                     \r
                     """For TE Section call GenFw to generate TE image"""\r
 \r
-                    if SectionType == 'TE':\r
+                    if SectionType == BINARY_FILE_TYPE_TE:\r
                         TeFile = os.path.join( OutputPath, ModuleName + 'Te.raw')\r
                         GenFdsGlobalVariable.GenerateFirmwareImage(\r
                                 TeFile,\r
index cc4124ad902e6905b82976cc0cf7745bd04a3e09..188ca28cd7ce2a751d741bbca4664fe1b9acad9a 100644 (file)
@@ -27,6 +27,7 @@ from Common import EdkLogger
 from Common.BuildToolError import *\r
 from Common.Misc import SaveFileOnChange\r
 from GenFds import GenFds\r
+from Common.DataType import BINARY_FILE_TYPE_FV\r
 \r
 ## generate FD\r
 #\r
@@ -158,7 +159,7 @@ class FD(FDClassObject):
         FvAddDict ={}\r
         FvList = []\r
         for RegionObj in self.RegionList:\r
-            if RegionObj.RegionType == 'FV':\r
+            if RegionObj.RegionType == BINARY_FILE_TYPE_FV:\r
                 if len(RegionObj.RegionDataList) == 1:\r
                     RegionData = RegionObj.RegionDataList[0]\r
                     FvList.append(RegionData.upper())\r
index 469cb128ba5fc1f78d45a01034ea67876e39b8d8..49ed4041a287d687b51d8db2c5c565bf4937e311 100644 (file)
@@ -1843,7 +1843,7 @@ class FdfParser:
         if not self.__GetNextWord():\r
             return True\r
 \r
-        if not self.__Token in ("SET", "FV", "FILE", "DATA", "CAPSULE", "INF"):\r
+        if not self.__Token in ("SET", BINARY_FILE_TYPE_FV, "FILE", "DATA", "CAPSULE", "INF"):\r
             #\r
             # If next token is a word which is not a valid FV type, it might be part of [PcdOffset[|PcdSize]]\r
             # Or it might be next region's offset described by an expression which starts with a PCD.\r
@@ -1874,7 +1874,7 @@ class FdfParser:
             if not self.__GetNextWord():\r
                 return True\r
 \r
-        elif self.__Token == "FV":\r
+        elif self.__Token == BINARY_FILE_TYPE_FV:\r
             self.__UndoToken()\r
             self.__GetRegionFvType( RegionObj)\r
 \r
@@ -1918,8 +1918,8 @@ class FdfParser:
     #\r
     def __GetRegionFvType(self, RegionObj):\r
 \r
-        if not self.__IsKeyword( "FV"):\r
-            raise Warning("expected Keyword 'FV'", self.FileName, self.CurrentLineNumber)\r
+        if not self.__IsKeyword( BINARY_FILE_TYPE_FV):\r
+            raise Warning("expected Keyword BINARY_FILE_TYPE_FV", self.FileName, self.CurrentLineNumber)\r
 \r
         if not self.__IsToken( "="):\r
             raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
@@ -1927,10 +1927,10 @@ class FdfParser:
         if not self.__GetNextToken():\r
             raise Warning("expected FV name", self.FileName, self.CurrentLineNumber)\r
 \r
-        RegionObj.RegionType = "FV"\r
+        RegionObj.RegionType = BINARY_FILE_TYPE_FV\r
         RegionObj.RegionDataList.append((self.__Token).upper())\r
 \r
-        while self.__IsKeyword( "FV"):\r
+        while self.__IsKeyword( BINARY_FILE_TYPE_FV):\r
 \r
             if not self.__IsToken( "="):\r
                 raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
@@ -2528,7 +2528,7 @@ class FdfParser:
             if self.__GetStringData():\r
                 FfsInfObj.Version = self.__Token\r
 \r
-        if self.__IsKeyword( "UI"):\r
+        if self.__IsKeyword( BINARY_FILE_TYPE_UI):\r
             if not self.__IsToken( "="):\r
                 raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
             if not self.__GetNextToken():\r
@@ -2641,7 +2641,7 @@ class FdfParser:
     #\r
     @staticmethod\r
     def __SectionCouldHaveRelocFlag (SectionType):\r
-        if SectionType in ('TE', 'PE32'):\r
+        if SectionType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):\r
             return True\r
         else:\r
             return False\r
@@ -2674,7 +2674,7 @@ class FdfParser:
         if not self.__GetNextToken():\r
             raise Warning("expected File name or section data", self.FileName, self.CurrentLineNumber)\r
 \r
-        if self.__Token == "FV":\r
+        if self.__Token == BINARY_FILE_TYPE_FV:\r
             if not self.__IsToken( "="):\r
                 raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
             if not self.__GetNextToken():\r
@@ -2881,7 +2881,7 @@ class FdfParser:
                 VerSectionObj.FileName = self.__Token\r
             Obj.SectionList.append(VerSectionObj)\r
             \r
-        elif self.__IsKeyword( "UI"):\r
+        elif self.__IsKeyword( BINARY_FILE_TYPE_UI):\r
             if AlignValue == 'Auto':\r
                 raise Warning("Auto alignment can only be used in PE32 or TE section ", self.FileName, self.CurrentLineNumber)\r
             if not self.__IsToken( "="):\r
@@ -2965,10 +2965,10 @@ class FdfParser:
                 self.SetFileBufferPos(OldPos)\r
                 return False\r
 \r
-            if self.__Token not in ("COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
-                               "UI", "VERSION", "PEI_DEPEX", "SUBTYPE_GUID", "SMM_DEPEX"):\r
+            if self.__Token not in ("COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+                               BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, "SUBTYPE_GUID", BINARY_FILE_TYPE_SMM_DEPEX):\r
                 raise Warning("Unknown section type '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
-            if AlignValue == 'Auto'and (not self.__Token == 'PE32') and (not self.__Token == 'TE'):\r
+            if AlignValue == 'Auto'and (not self.__Token == BINARY_FILE_TYPE_PE32) and (not self.__Token == BINARY_FILE_TYPE_TE):\r
                 raise Warning("Auto alignment can only be used in PE32 or TE section ", self.FileName, self.CurrentLineNumber)\r
 \r
             # DataSection\r
@@ -3386,7 +3386,7 @@ class FdfParser:
     #\r
     def __GetFvStatement(self, CapsuleObj, FMPCapsule = False):\r
 \r
-        if not self.__IsKeyword("FV"):\r
+        if not self.__IsKeyword(BINARY_FILE_TYPE_FV):\r
             return False\r
 \r
         if not self.__IsToken("="):\r
@@ -3534,7 +3534,7 @@ class FdfParser:
         AfileBaseName = os.path.basename(AfileName)\r
         \r
         if os.path.splitext(AfileBaseName)[1]  not in [".bin",".BIN",".Bin",".dat",".DAT",".Dat",".data",".DATA",".Data"]:\r
-            raise Warning('invalid binary file type, should be one of "bin","BIN","Bin","dat","DAT","Dat","data","DATA","Data"', \\r
+            raise Warning('invalid binary file type, should be one of "bin",BINARY_FILE_TYPE_BIN,"Bin","dat","DAT","Dat","data","DATA","Data"', \\r
                           self.FileName, self.CurrentLineNumber)\r
         \r
         if not os.path.isabs(AfileName):\r
@@ -3767,8 +3767,8 @@ class FdfParser:
 \r
             SectionName = self.__Token\r
 \r
-            if SectionName not in ("COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
-                                    "UI", "PEI_DEPEX", "VERSION", "SUBTYPE_GUID", "SMM_DEPEX"):\r
+            if SectionName not in ("COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+                                    BINARY_FILE_TYPE_UI, BINARY_FILE_TYPE_PEI_DEPEX, "VERSION", "SUBTYPE_GUID", BINARY_FILE_TYPE_SMM_DEPEX):\r
                 raise Warning("Unknown leaf section name '%s'" % SectionName, self.FileName, self.CurrentLineNumber)\r
 \r
 \r
@@ -3783,7 +3783,7 @@ class FdfParser:
                 if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
                                         "256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
                     raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
-                if self.__Token == 'Auto' and (not SectionName == 'PE32') and (not SectionName == 'TE'):\r
+                if self.__Token == 'Auto' and (not SectionName == BINARY_FILE_TYPE_PE32) and (not SectionName == BINARY_FILE_TYPE_TE):\r
                     raise Warning("Auto alignment can only be used in PE32 or TE section ", self.FileName, self.CurrentLineNumber)\r
                 SectAlignment = self.__Token\r
 \r
@@ -3824,8 +3824,8 @@ class FdfParser:
             return False\r
         SectionName = self.__Token\r
 \r
-        if SectionName not in ("COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
-                               "UI", "VERSION", "PEI_DEPEX", "GUID", "SMM_DEPEX"):\r
+        if SectionName not in ("COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+                               BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, BINARY_FILE_TYPE_GUID, BINARY_FILE_TYPE_SMM_DEPEX):\r
             self.__UndoToken()\r
             return False\r
 \r
@@ -3855,8 +3855,8 @@ class FdfParser:
                 FvImageSectionObj.FvName = None\r
 \r
             else:\r
-                if not self.__IsKeyword("FV"):\r
-                    raise Warning("expected 'FV'", self.FileName, self.CurrentLineNumber)\r
+                if not self.__IsKeyword(BINARY_FILE_TYPE_FV):\r
+                    raise Warning("expected BINARY_FILE_TYPE_FV", self.FileName, self.CurrentLineNumber)\r
                 FvImageSectionObj.FvFileType = self.__Token\r
 \r
                 if self.__GetAlignment():\r
@@ -3868,8 +3868,8 @@ class FdfParser:
                 if self.__IsToken('|'):\r
                     FvImageSectionObj.FvFileExtension = self.__GetFileExtension()\r
                 elif self.__GetNextToken():\r
-                    if self.__Token not in ("}", "COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
-                               "UI", "VERSION", "PEI_DEPEX", "GUID", "SMM_DEPEX"):\r
+                    if self.__Token not in ("}", "COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+                               BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, BINARY_FILE_TYPE_GUID, BINARY_FILE_TYPE_SMM_DEPEX):\r
                         FvImageSectionObj.FvFileName = self.__Token\r
                     else:\r
                         self.__UndoToken()\r
@@ -3931,7 +3931,7 @@ class FdfParser:
             if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
                                     "256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
                 raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
-            if self.__Token == 'Auto' and (not SectionName == 'PE32') and (not SectionName == 'TE'):\r
+            if self.__Token == 'Auto' and (not SectionName == BINARY_FILE_TYPE_PE32) and (not SectionName == BINARY_FILE_TYPE_TE):\r
                 raise Warning("Auto alignment can only be used in PE32 or TE section ", self.FileName, self.CurrentLineNumber)\r
             EfiSectionObj.Alignment = self.__Token\r
 \r
@@ -3950,8 +3950,8 @@ class FdfParser:
         if self.__IsToken('|'):\r
             EfiSectionObj.FileExtension = self.__GetFileExtension()\r
         elif self.__GetNextToken():\r
-            if self.__Token not in ("}", "COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
-                       "UI", "VERSION", "PEI_DEPEX", "GUID", "SMM_DEPEX"):\r
+            if self.__Token not in ("}", "COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+                       BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, BINARY_FILE_TYPE_GUID, BINARY_FILE_TYPE_SMM_DEPEX):\r
                 \r
                 if self.__Token.startswith('PCD'):\r
                     self.__UndoToken()\r
@@ -3985,7 +3985,7 @@ class FdfParser:
     #\r
     @staticmethod\r
     def __RuleSectionCouldBeOptional(SectionType):\r
-        if SectionType in ("DXE_DEPEX", "UI", "VERSION", "PEI_DEPEX", "RAW", "SMM_DEPEX"):\r
+        if SectionType in (BINARY_FILE_TYPE_DXE_DEPEX, BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, "RAW", BINARY_FILE_TYPE_SMM_DEPEX):\r
             return True\r
         else:\r
             return False\r
@@ -4015,7 +4015,7 @@ class FdfParser:
     #\r
     @staticmethod\r
     def __RuleSectionCouldHaveString(SectionType):\r
-        if SectionType in ("UI", "VERSION"):\r
+        if SectionType in (BINARY_FILE_TYPE_UI, "VERSION"):\r
             return True\r
         else:\r
             return False\r
@@ -4032,32 +4032,32 @@ class FdfParser:
         if SectionType == "COMPAT16":\r
             if FileType not in ("COMPAT16", "SEC_COMPAT16"):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
-        elif SectionType == "PE32":\r
-            if FileType not in ("PE32", "SEC_PE32"):\r
+        elif SectionType == BINARY_FILE_TYPE_PE32:\r
+            if FileType not in (BINARY_FILE_TYPE_PE32, "SEC_PE32"):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
-        elif SectionType == "PIC":\r
-            if FileType not in ("PIC", "PIC"):\r
+        elif SectionType == BINARY_FILE_TYPE_PIC:\r
+            if FileType not in (BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_PIC):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
-        elif SectionType == "TE":\r
-            if FileType not in ("TE", "SEC_TE"):\r
+        elif SectionType == BINARY_FILE_TYPE_TE:\r
+            if FileType not in (BINARY_FILE_TYPE_TE, "SEC_TE"):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
         elif SectionType == "RAW":\r
-            if FileType not in ("BIN", "SEC_BIN", "RAW", "ASL", "ACPI"):\r
+            if FileType not in (BINARY_FILE_TYPE_BIN, "SEC_BIN", "RAW", "ASL", "ACPI"):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
-        elif SectionType == "DXE_DEPEX" or SectionType == "SMM_DEPEX":\r
-            if FileType not in ("DXE_DEPEX", "SEC_DXE_DEPEX", "SMM_DEPEX"):\r
+        elif SectionType == BINARY_FILE_TYPE_DXE_DEPEX or SectionType == BINARY_FILE_TYPE_SMM_DEPEX:\r
+            if FileType not in (BINARY_FILE_TYPE_DXE_DEPEX, "SEC_DXE_DEPEX", BINARY_FILE_TYPE_SMM_DEPEX):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
-        elif SectionType == "UI":\r
-            if FileType not in ("UI", "SEC_UI"):\r
+        elif SectionType == BINARY_FILE_TYPE_UI:\r
+            if FileType not in (BINARY_FILE_TYPE_UI, "SEC_UI"):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
         elif SectionType == "VERSION":\r
             if FileType not in ("VERSION", "SEC_VERSION"):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
-        elif SectionType == "PEI_DEPEX":\r
-            if FileType not in ("PEI_DEPEX", "SEC_PEI_DEPEX"):\r
+        elif SectionType == BINARY_FILE_TYPE_PEI_DEPEX:\r
+            if FileType not in (BINARY_FILE_TYPE_PEI_DEPEX, "SEC_PEI_DEPEX"):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
-        elif SectionType == "GUID":\r
-            if FileType not in ("PE32", "SEC_GUID"):\r
+        elif SectionType == BINARY_FILE_TYPE_GUID:\r
+            if FileType not in (BINARY_FILE_TYPE_PE32, "SEC_GUID"):\r
                 raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
 \r
     ## __GetRuleEncapsulationSection() method\r
@@ -4494,7 +4494,7 @@ class FdfParser:
 \r
         FfsFileObj = OptRomFileStatement.OptRomFileStatement()\r
 \r
-        if not self.__IsKeyword("EFI") and not self.__IsKeyword("BIN"):\r
+        if not self.__IsKeyword("EFI") and not self.__IsKeyword(BINARY_FILE_TYPE_BIN):\r
             raise Warning("expected Binary type (EFI/BIN)", self.FileName, self.CurrentLineNumber)\r
         FfsFileObj.FileType = self.__Token\r
 \r
@@ -4575,7 +4575,7 @@ class FdfParser:
         if FdName.upper() in self.Profile.FdDict:\r
             FdObj = self.Profile.FdDict[FdName.upper()]\r
             for elementRegion in FdObj.RegionList:\r
-                if elementRegion.RegionType == 'FV':\r
+                if elementRegion.RegionType == BINARY_FILE_TYPE_FV:\r
                     for elementRegionData in elementRegion.RegionDataList:\r
                         if elementRegionData.endswith(".fv"):\r
                             continue\r
index 4de9c74366771ac26ed21923af9a9956300b0b42..df585f3d819b60a9d9e152d651b71acaaca2ecf1 100644 (file)
@@ -42,12 +42,12 @@ class Ffs(FDClassObject):
     \r
     # mapping between section type in FDF and file suffix\r
     SectionSuffix = {\r
-        'PE32'                 : '.pe32',\r
-        'PIC'                  : '.pic',\r
-        'TE'                   : '.te',\r
-        'DXE_DEPEX'            : '.dpx',\r
+        BINARY_FILE_TYPE_PE32                 : '.pe32',\r
+        BINARY_FILE_TYPE_PIC                  : '.pic',\r
+        BINARY_FILE_TYPE_TE                   : '.te',\r
+        BINARY_FILE_TYPE_DXE_DEPEX            : '.dpx',\r
         'VERSION'              : '.ver',\r
-        'UI'                   : '.ui',\r
+        BINARY_FILE_TYPE_UI                   : '.ui',\r
         'COMPAT16'             : '.com16',\r
         'RAW'                  : '.raw',\r
         'FREEFORM_SUBTYPE_GUID': '.guid',\r
@@ -55,8 +55,8 @@ class Ffs(FDClassObject):
         'FV_IMAGE'             : 'fv.sec',\r
         'COMPRESS'             : '.com',\r
         'GUIDED'               : '.guided',\r
-        'PEI_DEPEX'            : '.dpx',\r
-        'SMM_DEPEX'            : '.dpx'\r
+        BINARY_FILE_TYPE_PEI_DEPEX            : '.dpx',\r
+        BINARY_FILE_TYPE_SMM_DEPEX            : '.dpx'\r
     }\r
     \r
     ## The constructor\r
index 9068157ba616281cc60e68e77aaa70128744fa91..728997f17d1a93a927226d67ce1fe7c56c6bde55 100644 (file)
@@ -381,7 +381,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
         #\r
         # Only patch file if FileType is PE32 or ModuleType is USER_DEFINED\r
         #  \r
-        if FileType != 'PE32' and self.ModuleType != SUP_MODULE_USER_DEFINED:\r
+        if FileType != BINARY_FILE_TYPE_PE32 and self.ModuleType != SUP_MODULE_USER_DEFINED:\r
             return EfiFile\r
 \r
         #\r
@@ -739,13 +739,13 @@ class FfsInfStatement(FfsInfStatementClassObject):
         # Convert Fv Section Type for PI1.1 SMM driver.\r
         #\r
         if self.ModuleType == SUP_MODULE_DXE_SMM_DRIVER and int(self.PiSpecVersion, 16) >= 0x0001000A:\r
-            if SectionType == 'DXE_DEPEX':\r
-                SectionType = 'SMM_DEPEX'\r
+            if SectionType == BINARY_FILE_TYPE_DXE_DEPEX:\r
+                SectionType = BINARY_FILE_TYPE_SMM_DEPEX\r
         #\r
         # Framework SMM Driver has no SMM_DEPEX section type\r
         #\r
         if self.ModuleType == SUP_MODULE_DXE_SMM_DRIVER and int(self.PiSpecVersion, 16) < 0x0001000A:\r
-            if SectionType == 'SMM_DEPEX':\r
+            if SectionType == BINARY_FILE_TYPE_SMM_DEPEX:\r
                 EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "Framework SMM module doesn't support SMM_DEPEX section type", File=self.InfFileName)\r
         NoStrip = True\r
         if self.ModuleType in (SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM):\r
@@ -767,7 +767,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
                 File = GenFdsGlobalVariable.MacroExtend(File, Dict, self.CurrentArch)\r
 \r
                 #Get PE Section alignment when align is set to AUTO\r
-                if self.Alignment == 'Auto' and (SectionType == 'PE32' or SectionType == 'TE'):\r
+                if self.Alignment == 'Auto' and (SectionType == BINARY_FILE_TYPE_PE32 or SectionType == BINARY_FILE_TYPE_TE):\r
                     ImageObj = PeImageClass (File)\r
                     if ImageObj.SectionAlignment < 0x400:\r
                         self.Alignment = str (ImageObj.SectionAlignment)\r
@@ -790,7 +790,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
                         )\r
                     File = StrippedFile\r
 \r
-                if SectionType == 'TE':\r
+                if SectionType == BINARY_FILE_TYPE_TE:\r
                     TeFile = os.path.join( self.OutputPath, self.ModuleGuid + 'Te.raw')\r
                     GenFdsGlobalVariable.GenerateFirmwareImage(\r
                             TeFile,\r
@@ -809,7 +809,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
             GenSecInputFile = GenFdsGlobalVariable.MacroExtend(GenSecInputFile, Dict, self.CurrentArch)\r
 \r
             #Get PE Section alignment when align is set to AUTO\r
-            if self.Alignment == 'Auto' and (SectionType == 'PE32' or SectionType == 'TE'):\r
+            if self.Alignment == 'Auto' and (SectionType == BINARY_FILE_TYPE_PE32 or SectionType == BINARY_FILE_TYPE_TE):\r
                 ImageObj = PeImageClass (GenSecInputFile)\r
                 if ImageObj.SectionAlignment < 0x400:\r
                     self.Alignment = str (ImageObj.SectionAlignment)\r
@@ -833,7 +833,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
                     )\r
                 GenSecInputFile = StrippedFile\r
 \r
-            if SectionType == 'TE':\r
+            if SectionType == BINARY_FILE_TYPE_TE:\r
                 TeFile = os.path.join( self.OutputPath, self.ModuleGuid + 'Te.raw')\r
                 GenFdsGlobalVariable.GenerateFirmwareImage(\r
                         TeFile,\r
@@ -942,13 +942,13 @@ class FfsInfStatement(FfsInfStatementClassObject):
             # Convert Fv Section Type for PI1.1 SMM driver.\r
             #\r
             if self.ModuleType == SUP_MODULE_DXE_SMM_DRIVER and int(self.PiSpecVersion, 16) >= 0x0001000A:\r
-                if Sect.SectionType == 'DXE_DEPEX':\r
-                    Sect.SectionType = 'SMM_DEPEX'\r
+                if Sect.SectionType == BINARY_FILE_TYPE_DXE_DEPEX:\r
+                    Sect.SectionType = BINARY_FILE_TYPE_SMM_DEPEX\r
             #\r
             # Framework SMM Driver has no SMM_DEPEX section type\r
             #\r
             if self.ModuleType == SUP_MODULE_DXE_SMM_DRIVER and int(self.PiSpecVersion, 16) < 0x0001000A:\r
-                if Sect.SectionType == 'SMM_DEPEX':\r
+                if Sect.SectionType == BINARY_FILE_TYPE_SMM_DEPEX:\r
                     EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "Framework SMM module doesn't support SMM_DEPEX section type", File=self.InfFileName)\r
             #\r
             # process the inside FvImage from FvSection or GuidSection\r
index 0fb2bd456a6df8c04d37ce11ce4f337933ae6bcb..adb7c185b82b81e90d55a1c7c8d32cc3a5369bef 100644 (file)
@@ -29,6 +29,7 @@ from CommonDataClass.FdfClass import FvClassObject
 from Common.Misc import SaveFileOnChange\r
 from Common.LongFilePathSupport import CopyLongFilePath\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
+from Common.DataType import *\r
 \r
 T_CHAR_LF = '\n'\r
 FV_UI_EXT_ENTY_GUID = 'A67DF1FA-8DE8-4E98-AF09-4BDF2EFFBC7C'\r
@@ -80,7 +81,7 @@ class FV (FvClassObject):
         if self.CapsuleName is not None:\r
             for FdObj in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
                 for RegionObj in FdObj.RegionList:\r
-                    if RegionObj.RegionType == 'FV':\r
+                    if RegionObj.RegionType == BINARY_FILE_TYPE_FV:\r
                         for RegionData in RegionObj.RegionDataList:\r
                             if RegionData.endswith(".fv"):\r
                                 continue\r
@@ -236,7 +237,7 @@ class FV (FvClassObject):
 \r
         for FdObj in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
             for RegionObj in FdObj.RegionList:\r
-                if RegionObj.RegionType != 'FV':\r
+                if RegionObj.RegionType != BINARY_FILE_TYPE_FV:\r
                     continue\r
                 for RegionData in RegionObj.RegionDataList:\r
                     #\r
index 54c7d828305f7c58a42378280e622daf9c47909f..ccd137955dd8fd18dcb56ed4b2024519de5b2e53 100644 (file)
@@ -315,7 +315,7 @@ def main():
                 for Fd in FdfParserObj.Profile.FdDict:\r
                     FdObj = FdfParserObj.Profile.FdDict[Fd]\r
                     for RegionObj in FdObj.RegionList:\r
-                        if RegionObj.RegionType != 'FV':\r
+                        if RegionObj.RegionType != BINARY_FILE_TYPE_FV:\r
                             continue\r
                         for RegionData in RegionObj.RegionDataList:\r
                             if FvObj.UiFvName.upper() == RegionData.upper():\r
@@ -405,7 +405,7 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
                   KeyList[1] + \\r
                   '_' + \\r
                   KeyList[2]\r
-            if Key in KeyStringList and KeyList[4] == 'GUID':\r
+            if Key in KeyStringList and KeyList[4] == TAB_GUID:\r
                 ToolPathKey   = Key + '_' + KeyList[3] + '_PATH'\r
                 ToolOptionKey = Key + '_' + KeyList[3] + '_FLAGS'\r
                 ToolPath = ToolDefinition.get(ToolPathKey)\r
@@ -447,7 +447,7 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
                 if NameGuid == BuildOption[Op]:\r
                     KeyList = Op.split('_')\r
                     Key = KeyList[0] + '_' + KeyList[1] +'_' + KeyList[2]\r
-                    if Key in KeyStringList and KeyList[4] == 'GUID':\r
+                    if Key in KeyStringList and KeyList[4] == TAB_GUID:\r
                         ToolPathKey   = Key + '_' + KeyList[3] + '_PATH'\r
                         ToolOptionKey = Key + '_' + KeyList[3] + '_FLAGS'\r
         if ToolPathKey in BuildOption:\r
@@ -589,7 +589,7 @@ class GenFds :
         if FdObj is None:\r
             for ElementFd in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
                 for ElementRegion in ElementFd.RegionList:\r
-                    if ElementRegion.RegionType == 'FV':\r
+                    if ElementRegion.RegionType == BINARY_FILE_TYPE_FV:\r
                         for ElementRegionData in ElementRegion.RegionDataList:\r
                             if ElementRegionData is not None and ElementRegionData.upper() == FvObj.UiFvName:\r
                                 if FvObj.BlockSizeList != []:\r
@@ -601,7 +601,7 @@ class GenFds :
             return DefaultBlockSize\r
         else:\r
             for ElementRegion in FdObj.RegionList:\r
-                    if ElementRegion.RegionType == 'FV':\r
+                    if ElementRegion.RegionType == BINARY_FILE_TYPE_FV:\r
                         for ElementRegionData in ElementRegion.RegionDataList:\r
                             if ElementRegionData is not None and ElementRegionData.upper() == FvObj.UiFvName:\r
                                 if FvObj.BlockSizeList != []:\r
index 909d043c2a22f24509fff7378ba2956f8e948783..2fb98007ab37d31b5217303d63475080fb249f61 100644 (file)
@@ -288,7 +288,7 @@ class GenFdsGlobalVariable:
 #        GenFdsGlobalVariable.OutputDirDict = OutputDir\r
         GenFdsGlobalVariable.FdfParser = FdfParser\r
         GenFdsGlobalVariable.WorkSpace = WorkSpace\r
-        GenFdsGlobalVariable.FvDir = os.path.join(GenFdsGlobalVariable.OutputDirDict[ArchList[0]], 'FV')\r
+        GenFdsGlobalVariable.FvDir = os.path.join(GenFdsGlobalVariable.OutputDirDict[ArchList[0]], DataType.TAB_FV_DIRECTORY)\r
         if not os.path.exists(GenFdsGlobalVariable.FvDir) :\r
             os.makedirs(GenFdsGlobalVariable.FvDir)\r
         GenFdsGlobalVariable.FfsDir = os.path.join(GenFdsGlobalVariable.FvDir, 'Ffs')\r
@@ -349,7 +349,7 @@ class GenFdsGlobalVariable:
             GenFdsGlobalVariable.PlatformName = WorkSpace.Db.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch,\r
                                                                       GlobalData.gGlobalDefines['TARGET'],\r
                                                                       GlobalData.gGlobalDefines['TOOLCHAIN']].PlatformName\r
-        GenFdsGlobalVariable.FvDir = os.path.join(GenFdsGlobalVariable.OutputDirDict[ArchList[0]], 'FV')\r
+        GenFdsGlobalVariable.FvDir = os.path.join(GenFdsGlobalVariable.OutputDirDict[ArchList[0]], DataType.TAB_FV_DIRECTORY)\r
         if not os.path.exists(GenFdsGlobalVariable.FvDir):\r
             os.makedirs(GenFdsGlobalVariable.FvDir)\r
         GenFdsGlobalVariable.FfsDir = os.path.join(GenFdsGlobalVariable.FvDir, 'Ffs')\r
index 8f8761b20589280ab701daa46cd4cb2c637dac78..a865ac4436d5c39d031e3ea3e90b6da11cafd459 100644 (file)
@@ -141,7 +141,7 @@ class OptRomInfStatement (FfsInfStatement):
 \r
         OutputFileList = []\r
         for Sect in Rule.SectionList:\r
-            if Sect.SectionType == 'PE32':\r
+            if Sect.SectionType == BINARY_FILE_TYPE_PE32:\r
                 if Sect.FileName is not None:\r
                     GenSecInputFile = self.__ExtendMacro__(Sect.FileName)\r
                     OutputFileList.append(GenSecInputFile)\r
index 44f122a712168b4153919f1164843a99aa150975..9d632b6321e2daef8d546f04293d0393c36509ce 100644 (file)
@@ -26,6 +26,7 @@ from Common import EdkLogger
 from Common.BuildToolError import *\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
+from Common.DataType import BINARY_FILE_TYPE_FV\r
 \r
 ## generate Region\r
 #\r
@@ -80,10 +81,10 @@ class Region(RegionClassObject):
             GenFdsGlobalVariable.InfLogger('\nGenerate Region at Offset 0x%X' % self.Offset)\r
             GenFdsGlobalVariable.InfLogger("   Region Size = 0x%X" % Size)\r
         GenFdsGlobalVariable.SharpCounter = 0\r
-        if Flag and (self.RegionType != 'FV'):\r
+        if Flag and (self.RegionType != BINARY_FILE_TYPE_FV):\r
             return\r
 \r
-        if self.RegionType == 'FV':\r
+        if self.RegionType == BINARY_FILE_TYPE_FV:\r
             #\r
             # Get Fv from FvDict\r
             #\r
index 4b368b3ada9de1d1cf8daec76d29bedcd9a68509..5895998158b6dbd4dc284957716f9956ebcff1ce 100644 (file)
@@ -20,7 +20,7 @@ from GenFdsGlobalVariable import GenFdsGlobalVariable
 import Common.LongFilePathOs as os, glob\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
-from Common.DataType import TAB_ARCH_COMMON\r
+from Common.DataType import *\r
 \r
 ## section base class\r
 #\r
@@ -29,37 +29,37 @@ class Section (SectionClassObject):
     SectionType = {\r
         'RAW'       : 'EFI_SECTION_RAW',\r
         'FREEFORM'  : 'EFI_SECTION_FREEFORM_SUBTYPE_GUID',\r
-        'PE32'      : 'EFI_SECTION_PE32',\r
-        'PIC'       : 'EFI_SECTION_PIC',\r
-        'TE'        : 'EFI_SECTION_TE',\r
+        BINARY_FILE_TYPE_PE32      : 'EFI_SECTION_PE32',\r
+        BINARY_FILE_TYPE_PIC       : 'EFI_SECTION_PIC',\r
+        BINARY_FILE_TYPE_TE        : 'EFI_SECTION_TE',\r
         'FV_IMAGE'  : 'EFI_SECTION_FIRMWARE_VOLUME_IMAGE',\r
-        'DXE_DEPEX' : 'EFI_SECTION_DXE_DEPEX',\r
-        'PEI_DEPEX' : 'EFI_SECTION_PEI_DEPEX',\r
+        BINARY_FILE_TYPE_DXE_DEPEX : 'EFI_SECTION_DXE_DEPEX',\r
+        BINARY_FILE_TYPE_PEI_DEPEX : 'EFI_SECTION_PEI_DEPEX',\r
         'GUIDED'    : 'EFI_SECTION_GUID_DEFINED',\r
         'COMPRESS'  : 'EFI_SECTION_COMPRESSION',\r
-        'UI'        : 'EFI_SECTION_USER_INTERFACE',\r
-        'SMM_DEPEX' : 'EFI_SECTION_SMM_DEPEX'\r
+        BINARY_FILE_TYPE_UI        : 'EFI_SECTION_USER_INTERFACE',\r
+        BINARY_FILE_TYPE_SMM_DEPEX : 'EFI_SECTION_SMM_DEPEX'\r
     }\r
 \r
     BinFileType = {\r
-        'GUID'          : '.guid',\r
+        BINARY_FILE_TYPE_GUID          : '.guid',\r
         'ACPI'          : '.acpi',\r
         'ASL'           : '.asl' ,\r
-        'UEFI_APP'      : '.app',\r
-        'LIB'           : '.lib',\r
-        'PE32'          : '.pe32',\r
-        'PIC'           : '.pic',\r
-        'PEI_DEPEX'     : '.depex',\r
+        BINARY_FILE_TYPE_UEFI_APP      : '.app',\r
+        BINARY_FILE_TYPE_LIB           : '.lib',\r
+        BINARY_FILE_TYPE_PE32          : '.pe32',\r
+        BINARY_FILE_TYPE_PIC           : '.pic',\r
+        BINARY_FILE_TYPE_PEI_DEPEX     : '.depex',\r
         'SEC_PEI_DEPEX' : '.depex',\r
-        'TE'            : '.te',\r
-        'UNI_VER'       : '.ver',\r
-        'VER'           : '.ver',\r
-        'UNI_UI'        : '.ui',\r
-        'UI'            : '.ui',\r
-        'BIN'           : '.bin',\r
+        BINARY_FILE_TYPE_TE            : '.te',\r
+        BINARY_FILE_TYPE_UNI_VER       : '.ver',\r
+        BINARY_FILE_TYPE_VER           : '.ver',\r
+        BINARY_FILE_TYPE_UNI_UI        : '.ui',\r
+        BINARY_FILE_TYPE_UI            : '.ui',\r
+        BINARY_FILE_TYPE_BIN           : '.bin',\r
         'RAW'           : '.raw',\r
         'COMPAT16'      : '.comp16',\r
-        'FV'            : '.fv'\r
+        BINARY_FILE_TYPE_FV            : '.fv'\r
     }\r
 \r
     SectFileType = {\r
@@ -128,8 +128,8 @@ class Section (SectionClassObject):
             for File in FfsInf.BinFileList:\r
                 if File.Arch == TAB_ARCH_COMMON or FfsInf.CurrentArch == File.Arch:\r
                     if File.Type == FileType or (int(FfsInf.PiSpecVersion, 16) >= 0x0001000A \\r
-                                                 and FileType == 'DXE_DPEX'and File.Type == 'SMM_DEPEX') \\r
-                                                 or (FileType == 'TE'and File.Type == 'PE32'):\r
+                                                 and FileType == 'DXE_DPEX' and File.Type == BINARY_FILE_TYPE_SMM_DEPEX) \\r
+                                                 or (FileType == BINARY_FILE_TYPE_TE and File.Type == BINARY_FILE_TYPE_PE32):\r
                         if '*' in FfsInf.TargetOverrideList or File.Target == '*' or File.Target in FfsInf.TargetOverrideList or FfsInf.TargetOverrideList == []:\r
                             FileList.append(FfsInf.PatchEfiFile(File.Path, File.Type))\r
                         else:\r
index 084f761e1285e8ea3d316233613faab8379e7a5f..280500952b63efdb09a6b37833c03a2042f49114 100644 (file)
@@ -22,7 +22,7 @@ import Common.LongFilePathOs as os
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import UiSectionClassObject\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
-from Common.DataType import SUP_MODULE_SEC\r
+from Common.DataType import *\r
 \r
 ## generate UI section\r
 #\r
@@ -58,7 +58,7 @@ class UiSection (UiSectionClassObject):
             self.StringData = FfsInf.__ExtendMacro__(self.StringData)\r
             self.FileName = FfsInf.__ExtendMacro__(self.FileName)\r
 \r
-        OutputFile = os.path.join(OutputPath, ModuleName + SUP_MODULE_SEC + SecNum + Ffs.SectionSuffix.get('UI'))\r
+        OutputFile = os.path.join(OutputPath, ModuleName + SUP_MODULE_SEC + SecNum + Ffs.SectionSuffix.get(BINARY_FILE_TYPE_UI))\r
 \r
         if self.StringData is not None :\r
             NameString = self.StringData\r
index 3eb7fa39209d74b6872d66c5fd4b63b84f03f8ca..a74075859148d91c8f7a744ec7f2566fb2342961 100644 (file)
@@ -23,6 +23,7 @@ from optparse import OptionParser
 from optparse import make_option\r
 from Common.BuildToolError import *\r
 from Common.Misc import *\r
+from Common.DataType import *\r
 from Common.BuildVersion import gBUILD_VERSION\r
 import Common.EdkLogger as EdkLogger\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
@@ -303,7 +304,7 @@ def TrimPreprocessedVfr(Source, Target):
             FoundTypedef = False\r
             TypedefEnd = Index\r
             # keep all "typedef struct" except to GUID, EFI_PLABEL and PAL_CALL_RETURN\r
-            if Line.strip("} ;\r\n") in ["GUID", "EFI_PLABEL", "PAL_CALL_RETURN"]:\r
+            if Line.strip("} ;\r\n") in [TAB_GUID, "EFI_PLABEL", "PAL_CALL_RETURN"]:\r
                 for i in range(TypedefStart, TypedefEnd+1):\r
                     Lines[i] = "\n"\r
 \r
index 49bf5df632484a86dae652650c15af9350a1279a..6aaa21db5dd6a9e25f348973517a77ea27184908 100644 (file)
@@ -1500,7 +1500,7 @@ class DscBuildData(PlatformBuildClassObject):
         def get_length(value):\r
             Value = value.strip()\r
             if len(value) > 1:\r
-                if Value.startswith('GUID') and Value.endswith(')'):\r
+                if Value.startswith(TAB_GUID) and Value.endswith(')'):\r
                     return 16\r
                 if Value.startswith('L"') and Value.endswith('"'):\r
                     return len(Value[2:-1])\r
index 157f7a2d2de8ecac863b9981333bcd1faf3a253e..cf5e1df3a523b7b70b57a4d6c28a83e913d534b7 100644 (file)
@@ -71,7 +71,7 @@ class InfBuildData(ModuleBuildClassObject):
     # dict used to convert old tool name used in [nmake] section to new ones\r
     _TOOL_CODE_ = {\r
         "C"         :   "CC",\r
-        "LIB"       :   "SLINK",\r
+        BINARY_FILE_TYPE_LIB       :   "SLINK",\r
         "LINK"      :   "DLINK",\r
     }\r
 \r
index e68cd7de2ccf2f5353e10a4809c9b23b626f724a..608aad1148b7ebf498591642c9d2edda75107c2d 100644 (file)
@@ -208,7 +208,7 @@ def FindIncludeFiles(Source, IncludePathList, IncludeFiles):
             FileName = "Protocol/%(Key)s/%(Key)s.h" % {"Key" : Key}\r
         elif "PPI" in Type:\r
             FileName = "Ppi/%(Key)s/%(Key)s.h" % {"Key" : Key}\r
-        elif "GUID" in Type:\r
+        elif TAB_GUID in Type:\r
             FileName = "Guid/%(Key)s/%(Key)s.h" % {"Key" : Key}\r
         else:\r
             continue\r
@@ -1410,7 +1410,7 @@ class PredictionReport(object):
         if Wa.FdfProfile:\r
             for Fd in Wa.FdfProfile.FdDict:\r
                 for FdRegion in Wa.FdfProfile.FdDict[Fd].RegionList:\r
-                    if FdRegion.RegionType != "FV":\r
+                    if FdRegion.RegionType != BINARY_FILE_TYPE_FV:\r
                         continue\r
                     for FvName in FdRegion.RegionDataList:\r
                         if FvName in self._FvList:\r
@@ -1686,7 +1686,7 @@ class FdRegionReport(object):
         # If the input FdRegion is not a firmware volume,\r
         # we are done.\r
         #\r
-        if self.Type != "FV":\r
+        if self.Type != BINARY_FILE_TYPE_FV:\r
             return\r
 \r
         #\r
@@ -1780,7 +1780,7 @@ class FdRegionReport(object):
         FileWrite(File, "Type:               %s" % Type)\r
         FileWrite(File, "Base Address:       0x%X" % BaseAddress)\r
 \r
-        if self.Type == "FV":\r
+        if self.Type == BINARY_FILE_TYPE_FV:\r
             FvTotalSize = 0\r
             FvTakenSize = 0\r
             FvFreeSize  = 0\r
@@ -1843,7 +1843,7 @@ class FdRegionReport(object):
         if (len(self.FvList) > 0):\r
             for FvItem in self.FvList:\r
                 Info = self.FvInfo[FvItem]\r
-                self._GenerateReport(File, Info[0], "FV", Info[1], Info[2], FvItem)\r
+                self._GenerateReport(File, Info[0], TAB_FV_DIRECTORY, Info[1], Info[2], FvItem)\r
         else:\r
             self._GenerateReport(File, "FD Region", self.Type, self.BaseAddress, self.Size)\r
 \r
@@ -1869,7 +1869,7 @@ class FdReport(object):
         self.BaseAddress = Fd.BaseAddress\r
         self.Size = Fd.Size\r
         self.FdRegionList = [FdRegionReport(FdRegion, Wa) for FdRegion in Fd.RegionList]\r
-        self.FvPath = os.path.join(Wa.BuildDir, "FV")\r
+        self.FvPath = os.path.join(Wa.BuildDir, TAB_FV_DIRECTORY)\r
         self.VpdFilePath = os.path.join(self.FvPath, "%s.map" % Wa.Platform.VpdToolGuid)\r
         self.VPDBaseAddress = 0\r
         self.VPDSize = 0\r