]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: create and use a standard shared variable for '*'
authorJaben Carsey <jaben.carsey@intel.com>
Fri, 16 Nov 2018 15:40:04 +0000 (23:40 +0800)
committerBobCF <bob.c.feng@intel.com>
Thu, 6 Dec 2018 09:11:24 +0000 (17:11 +0800)
add a variable for the string '*' and then use it instead of lots of '*'

Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by : Bob Feng <bob.c.feng@intel.com>

13 files changed:
BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools/Source/Python/AutoGen/BuildEngine.py
BaseTools/Source/Python/BPDG/GenVpd.py
BaseTools/Source/Python/Common/DataType.py
BaseTools/Source/Python/Common/Expression.py
BaseTools/Source/Python/Common/Misc.py
BaseTools/Source/Python/Common/ToolDefClassObject.py
BaseTools/Source/Python/Common/VpdInfoFile.py
BaseTools/Source/Python/GenFds/FdfParser.py
BaseTools/Source/Python/GenFds/GenFds.py
BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
BaseTools/Source/Python/GenFds/Section.py
BaseTools/Source/Python/Workspace/DscBuildData.py

index f3560bfc787da5fe6ad6e002aadface5e7749e3e..25417c4470619b37da0277d4a681b87aa341ec1e 100644 (file)
@@ -1438,7 +1438,7 @@ class PlatformAutoGen(AutoGen):
                         PcdValue = Sku.DefaultValue\r
                         if PcdValue == "":\r
                             PcdValue  = Pcd.DefaultValue\r
-                        if Sku.VpdOffset != '*':\r
+                        if Sku.VpdOffset != TAB_STAR:\r
                             if PcdValue.startswith("{"):\r
                                 Alignment = 8\r
                             elif PcdValue.startswith("L"):\r
@@ -1462,7 +1462,7 @@ class PlatformAutoGen(AutoGen):
                             VpdFile.Add(Pcd, SkuName, Sku.VpdOffset)\r
                         SkuValueMap[PcdValue].append(Sku)\r
                         # if the offset of a VPD is *, then it need to be fixed up by third party tool.\r
-                        if not NeedProcessVpdMapFile and Sku.VpdOffset == "*":\r
+                        if not NeedProcessVpdMapFile and Sku.VpdOffset == TAB_STAR:\r
                             NeedProcessVpdMapFile = True\r
                             if self.Platform.VpdToolGuid is None or self.Platform.VpdToolGuid == '':\r
                                 EdkLogger.error("Build", FILE_NOT_FOUND, \\r
@@ -1522,7 +1522,7 @@ class PlatformAutoGen(AutoGen):
                                 PcdValue = Sku.DefaultValue\r
                                 if PcdValue == "":\r
                                     PcdValue  = DscPcdEntry.DefaultValue\r
-                                if Sku.VpdOffset != '*':\r
+                                if Sku.VpdOffset != TAB_STAR:\r
                                     if PcdValue.startswith("{"):\r
                                         Alignment = 8\r
                                     elif PcdValue.startswith("L"):\r
@@ -1545,7 +1545,7 @@ class PlatformAutoGen(AutoGen):
                                     SkuValueMap[PcdValue] = []\r
                                     VpdFile.Add(DscPcdEntry, SkuName, Sku.VpdOffset)\r
                                 SkuValueMap[PcdValue].append(Sku)\r
-                                if not NeedProcessVpdMapFile and Sku.VpdOffset == "*":\r
+                                if not NeedProcessVpdMapFile and Sku.VpdOffset == TAB_STAR:\r
                                     NeedProcessVpdMapFile = True\r
                             if DscPcdEntry.DatumType == TAB_VOID and PcdValue.startswith("L"):\r
                                 UnicodePcdArray.add(DscPcdEntry)\r
@@ -1573,7 +1573,7 @@ class PlatformAutoGen(AutoGen):
                     if os.path.exists(VpdMapFilePath):\r
                         VpdFile.Read(VpdMapFilePath)\r
 \r
-                        # Fixup "*" offset\r
+                        # Fixup TAB_STAR offset\r
                         for pcd in VpdSkuMap:\r
                             vpdinfo = VpdFile.GetVpdInfo(pcd)\r
                             if vpdinfo is None:\r
@@ -2210,15 +2210,15 @@ class PlatformAutoGen(AutoGen):
     def CalculatePriorityValue(self, Key):\r
         Target, ToolChain, Arch, CommandType, Attr = Key.split('_')\r
         PriorityValue = 0x11111\r
-        if Target == "*":\r
+        if Target == TAB_STAR:\r
             PriorityValue &= 0x01111\r
-        if ToolChain == "*":\r
+        if ToolChain == TAB_STAR:\r
             PriorityValue &= 0x10111\r
-        if Arch == "*":\r
+        if Arch == TAB_STAR:\r
             PriorityValue &= 0x11011\r
-        if CommandType == "*":\r
+        if CommandType == TAB_STAR:\r
             PriorityValue &= 0x11101\r
-        if Attr == "*":\r
+        if Attr == TAB_STAR:\r
             PriorityValue &= 0x11110\r
 \r
         return self.PrioList["0x%0.5x" % PriorityValue]\r
@@ -2253,9 +2253,9 @@ class PlatformAutoGen(AutoGen):
             if (Key[0] == self.BuildRuleFamily and\r
                 (ModuleStyle is None or len(Key) < 3 or (len(Key) > 2 and Key[2] == ModuleStyle))):\r
                 Target, ToolChain, Arch, CommandType, Attr = Key[1].split('_')\r
-                if (Target == self.BuildTarget or Target == "*") and\\r
-                    (ToolChain == self.ToolChain or ToolChain == "*") and\\r
-                    (Arch == self.Arch or Arch == "*") and\\r
+                if (Target == self.BuildTarget or Target == TAB_STAR) and\\r
+                    (ToolChain == self.ToolChain or ToolChain == TAB_STAR) and\\r
+                    (Arch == self.Arch or Arch == TAB_STAR) and\\r
                     Options[Key].startswith("="):\r
 \r
                     if OverrideList.get(Key[1]) is not None:\r
@@ -2276,11 +2276,11 @@ class PlatformAutoGen(AutoGen):
                     # Compare two Key, if one is included by another, choose the higher priority one\r
                     #\r
                     Target2, ToolChain2, Arch2, CommandType2, Attr2 = NextKey.split("_")\r
-                    if (Target1 == Target2 or Target1 == "*" or Target2 == "*") and\\r
-                        (ToolChain1 == ToolChain2 or ToolChain1 == "*" or ToolChain2 == "*") and\\r
-                        (Arch1 == Arch2 or Arch1 == "*" or Arch2 == "*") and\\r
-                        (CommandType1 == CommandType2 or CommandType1 == "*" or CommandType2 == "*") and\\r
-                        (Attr1 == Attr2 or Attr1 == "*" or Attr2 == "*"):\r
+                    if (Target1 == Target2 or Target1 == TAB_STAR or Target2 == TAB_STAR) and\\r
+                        (ToolChain1 == ToolChain2 or ToolChain1 == TAB_STAR or ToolChain2 == TAB_STAR) and\\r
+                        (Arch1 == Arch2 or Arch1 == TAB_STAR or Arch2 == TAB_STAR) and\\r
+                        (CommandType1 == CommandType2 or CommandType1 == TAB_STAR or CommandType2 == TAB_STAR) and\\r
+                        (Attr1 == Attr2 or Attr1 == TAB_STAR or Attr2 == TAB_STAR):\r
 \r
                         if self.CalculatePriorityValue(NowKey) > self.CalculatePriorityValue(NextKey):\r
                             if Options.get((self.BuildRuleFamily, NextKey)) is not None:\r
@@ -2309,9 +2309,9 @@ class PlatformAutoGen(AutoGen):
                     continue\r
                 FamilyMatch = True\r
             # expand any wildcard\r
-            if Target == "*" or Target == self.BuildTarget:\r
-                if Tag == "*" or Tag == self.ToolChain:\r
-                    if Arch == "*" or Arch == self.Arch:\r
+            if Target == TAB_STAR or Target == self.BuildTarget:\r
+                if Tag == TAB_STAR or Tag == self.ToolChain:\r
+                    if Arch == TAB_STAR or Arch == self.Arch:\r
                         if Tool not in BuildOptions:\r
                             BuildOptions[Tool] = {}\r
                         if Attr != "FLAGS" or Attr not in BuildOptions[Tool] or Options[Key].startswith('='):\r
@@ -2344,9 +2344,9 @@ class PlatformAutoGen(AutoGen):
                 continue\r
 \r
             # expand any wildcard\r
-            if Target == "*" or Target == self.BuildTarget:\r
-                if Tag == "*" or Tag == self.ToolChain:\r
-                    if Arch == "*" or Arch == self.Arch:\r
+            if Target == TAB_STAR or Target == self.BuildTarget:\r
+                if Tag == TAB_STAR or Tag == self.ToolChain:\r
+                    if Arch == TAB_STAR or Arch == self.Arch:\r
                         if Tool not in BuildOptions:\r
                             BuildOptions[Tool] = {}\r
                         if Attr != "FLAGS" or Attr not in BuildOptions[Tool] or Options[Key].startswith('='):\r
@@ -2971,8 +2971,8 @@ class ModuleAutoGen(AutoGen):
     @cached_property\r
     def SourceFileList(self):\r
         RetVal = []\r
-        ToolChainTagSet = {"", "*", self.ToolChain}\r
-        ToolChainFamilySet = {"", "*", self.ToolChainFamily, self.BuildRuleFamily}\r
+        ToolChainTagSet = {"", TAB_STAR, self.ToolChain}\r
+        ToolChainFamilySet = {"", TAB_STAR, self.ToolChainFamily, self.BuildRuleFamily}\r
         for F in self.Module.Sources:\r
             # match tool chain\r
             if F.TagName not in ToolChainTagSet:\r
@@ -3047,7 +3047,7 @@ class ModuleAutoGen(AutoGen):
     def BinaryFileList(self):\r
         RetVal = []\r
         for F in self.Module.Binaries:\r
-            if F.Target not in [TAB_ARCH_COMMON, '*'] and F.Target != self.BuildTarget:\r
+            if F.Target not in [TAB_ARCH_COMMON, TAB_STAR] and F.Target != self.BuildTarget:\r
                 continue\r
             RetVal.append(F)\r
             self._ApplyBuildRule(F, F.Type, BinaryFileList=RetVal)\r
index ac7a6687552cde3366a6c2f3fb8b6cafea649666..f9e3ac3a1daf69208e4b422253c2223f6f3ef91a 100644 (file)
@@ -110,7 +110,7 @@ class FileBuildRule:
         self.IncListFileMacro = self.INC_LIST_MACRO\r
 \r
         self.SourceFileType = Type\r
-        # source files listed not in "*" or "?" pattern format\r
+        # source files listed not in TAB_STAR or "?" pattern format\r
         if not ExtraDependency:\r
             self.ExtraSourceFileList = []\r
         else:\r
@@ -150,12 +150,12 @@ class FileBuildRule:
         self.SourceFileExtList = set()\r
         for File in Input:\r
             Base, Ext = os.path.splitext(File)\r
-            if Base.find("*") >= 0:\r
-                # There's "*" in the file name\r
+            if Base.find(TAB_STAR) >= 0:\r
+                # There's TAB_STAR in the file name\r
                 self.IsMultipleInput = True\r
                 self.GenFileListMacro = True\r
             elif Base.find("?") < 0:\r
-                # There's no "*" and "?" in file name\r
+                # There's no TAB_STAR and "?" in file name\r
                 self.ExtraSourceFileList.append(File)\r
                 continue\r
             self.SourceFileExtList.add(Ext)\r
@@ -553,7 +553,7 @@ class BuildRule:
     #\r
     #   @param  FileExt             The extension of a file\r
     #   @param  ToolChainFamily     The tool chain family name\r
-    #   @param  BuildVersion        The build version number. "*" means any rule\r
+    #   @param  BuildVersion        The build version number. TAB_STAR means any rule\r
     #                               is applicalbe.\r
     #\r
     #   @retval FileType        The file type string\r
index d7852d29eed09df7b016ab7fadc8aff991973146..e5da47f95e63b10737aa9287ebf65c1fc19175d6 100644 (file)
@@ -21,7 +21,7 @@ import array
 import re\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from struct import *\r
-from Common.DataType import MAX_SIZE_TYPE, MAX_VAL_TYPE\r
+from Common.DataType import MAX_SIZE_TYPE, MAX_VAL_TYPE, TAB_STAR\r
 import Common.EdkLogger as EdkLogger\r
 import Common.BuildToolError as BuildToolError\r
 \r
@@ -87,7 +87,7 @@ class PcdEntry:
     #  for both hexadecimal and decimal.\r
     #\r
     def _GenOffsetValue(self):\r
-        if self.PcdOffset != "*" :\r
+        if self.PcdOffset != TAB_STAR:\r
             try:\r
                 self.PcdBinOffset = int (self.PcdOffset)\r
             except:\r
@@ -423,7 +423,7 @@ class GenVPD :
                     Alignment = 1\r
 \r
                 PCD.Alignment = Alignment\r
-                if PCD.PcdOffset != '*':\r
+                if PCD.PcdOffset != TAB_STAR:\r
                     if PCD.PcdOccupySize % Alignment != 0:\r
                         if PCD.PcdUnpackValue.startswith("{"):\r
                             EdkLogger.warn("BPDG", "The offset value of PCD %s is not 8-byte aligned!" %(PCD.PcdCName), File=self.InputFileName)\r
@@ -469,7 +469,7 @@ class GenVPD :
     def FormatFileLine (self) :\r
 \r
         for eachPcd in self.FileLinesList :\r
-            if eachPcd.PcdOffset != '*' :\r
+            if eachPcd.PcdOffset != TAB_STAR :\r
                 # Use pcd's Offset value as key, and pcd's Value as value\r
                 self.PcdFixedOffsetSizeList.append(eachPcd)\r
             else :\r
@@ -484,7 +484,7 @@ class GenVPD :
     def FixVpdOffset (self):\r
         # At first, the offset should start at 0\r
         # Sort fixed offset list in order to find out where has free spaces for the pcd's offset\r
-        # value is "*" to insert into.\r
+        # value is TAB_STAR to insert into.\r
 \r
         self.PcdFixedOffsetSizeList.sort(key=lambda x: x.PcdBinOffset)\r
 \r
@@ -502,7 +502,7 @@ class GenVPD :
                         self.PcdUnknownOffsetList[index+i -1 ], self.PcdUnknownOffsetList[index+i] = self.PcdUnknownOffsetList[index+i], self.PcdUnknownOffsetList[index+i -1]\r
 \r
         #\r
-        # Process all Offset value are "*"\r
+        # Process all Offset value are TAB_STAR\r
         #\r
         if (len(self.PcdFixedOffsetSizeList) == 0) and (len(self.PcdUnknownOffsetList) != 0) :\r
             # The offset start from 0\r
@@ -571,7 +571,7 @@ class GenVPD :
                         eachUnfixedPcd      = self.PcdUnknownOffsetList[countOfUnfixedList]\r
                         needFixPcdSize      = eachUnfixedPcd.PcdOccupySize\r
                         # Not been fixed\r
-                        if eachUnfixedPcd.PcdOffset == '*' :\r
+                        if eachUnfixedPcd.PcdOffset == TAB_STAR :\r
                             if LastOffset % eachUnfixedPcd.Alignment != 0:\r
                                 LastOffset = (LastOffset / eachUnfixedPcd.Alignment + 1) * eachUnfixedPcd.Alignment\r
                             # The offset un-fixed pcd can write into this free space\r
index 1d1d22faa40b447877c00c16651b17f16d489273..6b375712b65e9474c73502eee762af5123afff20 100644 (file)
@@ -31,6 +31,7 @@ TAB_OPTION_START = '<'
 TAB_OPTION_END = '>'\r
 TAB_SLASH = '\\'\r
 TAB_BACK_SLASH = '/'\r
+TAB_STAR = '*'\r
 TAB_LINE_BREAK = '\n'\r
 TAB_PRINTCHAR_VT = '\x0b'\r
 TAB_PRINTCHAR_BS = '\b'\r
index a21ab5daa73ee95a462e413844431e412c3dc384..db1310d534fb8cb9d649844f5ca7fb83cb723345 100644 (file)
@@ -244,7 +244,7 @@ class ValueExpression(BaseExpression):
         'IN' : 'in'\r
     }\r
 \r
-    NonLetterOpLst = ['+', '-', '*', '/', '%', '&', '|', '^', '~', '<<', '>>', '!', '=', '>', '<', '?', ':']\r
+    NonLetterOpLst = ['+', '-', TAB_STAR, '/', '%', '&', '|', '^', '~', '<<', '>>', '!', '=', '>', '<', '?', ':']\r
 \r
 \r
     SymbolPattern = re.compile("("\r
@@ -498,7 +498,7 @@ class ValueExpression(BaseExpression):
 \r
     # A [ * B]*\r
     def _MulExpr(self):\r
-        return self._ExprFuncTemplate(self._UnaryExpr, {"*", "/", "%"})\r
+        return self._ExprFuncTemplate(self._UnaryExpr, {TAB_STAR, "/", "%"})\r
 \r
     # [!]*A\r
     def _UnaryExpr(self):\r
index 3b8efb2e7179b177d648b74bb64bd1eab495ac8d..61ba79241fb6c1b703f91741e33788ef49cf0561 100644 (file)
@@ -1088,7 +1088,7 @@ class tdict:
     _ListType = type([])\r
     _TupleType = type(())\r
     _Wildcard = 'COMMON'\r
-    _ValidWildcardList = ['COMMON', 'DEFAULT', 'ALL', '*', 'PLATFORM']\r
+    _ValidWildcardList = ['COMMON', 'DEFAULT', 'ALL', TAB_STAR, 'PLATFORM']\r
 \r
     def __init__(self, _Single_=False, _Level_=2):\r
         self._Level_ = _Level_\r
index 05a1ddfbcc89dcd056938bec7779f6af636a2c1f..186d279840c1ce5b57b2826378ab7a1fb9b07788 100644 (file)
@@ -29,7 +29,8 @@ from Common import GlobalData
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
 from .DataType import TAB_TOD_DEFINES_TARGET, TAB_TOD_DEFINES_TOOL_CHAIN_TAG,\\r
                      TAB_TOD_DEFINES_TARGET_ARCH, TAB_TOD_DEFINES_COMMAND_TYPE\\r
-                     , TAB_TOD_DEFINES_FAMILY, TAB_TOD_DEFINES_BUILDRULEFAMILY\r
+                     , TAB_TOD_DEFINES_FAMILY, TAB_TOD_DEFINES_BUILDRULEFAMILY,\\r
+                     TAB_STAR, TAB_TAT_DEFINES_TOOL_CHAIN_CONF\r
 \r
 \r
 ##\r
@@ -97,7 +98,7 @@ class ToolDefClassObject(object):
             # adding/removing items from the original dict.\r
             for Key in list(self.ToolsDefTxtDictionary.keys()):\r
                 List = Key.split('_')\r
-                if List[Index] == '*':\r
+                if List[Index] == TAB_STAR:\r
                     for String in self.ToolsDefTxtDatabase[KeyList[Index]]:\r
                         List[Index] = String\r
                         NewKey = '%s_%s_%s_%s_%s' % tuple(List)\r
@@ -202,20 +203,20 @@ class ToolDefClassObject(object):
             if len(List) != 5:\r
                 EdkLogger.verbose("Line %d: Not a valid name of definition: %s" % ((Index + 1), Name))\r
                 continue\r
-            elif List[4] == '*':\r
+            elif List[4] == TAB_STAR:\r
                 EdkLogger.verbose("Line %d: '*' is not allowed in last field: %s" % ((Index + 1), Name))\r
                 continue\r
             else:\r
                 self.ToolsDefTxtDictionary[Name] = Value\r
-                if List[0] != '*':\r
+                if List[0] != TAB_STAR:\r
                     self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_TARGET] += [List[0]]\r
-                if List[1] != '*':\r
+                if List[1] != TAB_STAR:\r
                     self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_TOOL_CHAIN_TAG] += [List[1]]\r
-                if List[2] != '*':\r
+                if List[2] != TAB_STAR:\r
                     self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_TARGET_ARCH] += [List[2]]\r
-                if List[3] != '*':\r
+                if List[3] != TAB_STAR:\r
                     self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_COMMAND_TYPE] += [List[3]]\r
-                if List[4] == TAB_TOD_DEFINES_FAMILY and List[2] == '*' and List[3] == '*':\r
+                if List[4] == TAB_TOD_DEFINES_FAMILY and List[2] == TAB_STAR and List[3] == TAB_STAR:\r
                     if TAB_TOD_DEFINES_FAMILY not in self.ToolsDefTxtDatabase:\r
                         self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_FAMILY] = {}\r
                         self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_FAMILY][List[1]] = Value\r
@@ -226,7 +227,7 @@ class ToolDefClassObject(object):
                         self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_BUILDRULEFAMILY][List[1]] = Value\r
                     elif self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_FAMILY][List[1]] != Value:\r
                         EdkLogger.verbose("Line %d: No override allowed for the family of a tool chain: %s" % ((Index + 1), Name))\r
-                if List[4] == TAB_TOD_DEFINES_BUILDRULEFAMILY and List[2] == '*' and List[3] == '*':\r
+                if List[4] == TAB_TOD_DEFINES_BUILDRULEFAMILY and List[2] == TAB_STAR and List[3] == TAB_STAR:\r
                     if TAB_TOD_DEFINES_BUILDRULEFAMILY not in self.ToolsDefTxtDatabase \\r
                        or List[1] not in self.ToolsDefTxtDatabase[TAB_TOD_DEFINES_FAMILY]:\r
                         EdkLogger.verbose("Line %d: The family is not specified, but BuildRuleFamily is specified for the tool chain: %s" % ((Index + 1), Name))\r
@@ -270,8 +271,8 @@ class ToolDefClassObject(object):
 def ToolDefDict(ConfDir):\r
     Target = TargetTxtDict(ConfDir)\r
     ToolDef = ToolDefClassObject()\r
-    if DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF in Target.TargetTxtDictionary:\r
-        ToolsDefFile = Target.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF]\r
+    if TAB_TAT_DEFINES_TOOL_CHAIN_CONF in Target.TargetTxtDictionary:\r
+        ToolsDefFile = Target.TargetTxtDictionary[TAB_TAT_DEFINES_TOOL_CHAIN_CONF]\r
         if ToolsDefFile:\r
             ToolDef.LoadToolDefFile(os.path.normpath(ToolsDefFile))\r
         else:\r
index 2fb8e66fe99c9b6bfe47fcdf711b19b042425402..3be0670e36fb292981084da7a8165e15943d455d 100644 (file)
@@ -57,7 +57,7 @@ FILE_COMMENT_TEMPLATE = \
 #  <PcdName>         ::=  <TokenSpaceCName> "." <PcdCName>\r
 #  <TokenSpaceCName> ::=  C Variable Name of the Token Space GUID\r
 #  <PcdCName>        ::=  C Variable Name of the PCD\r
-#  <Offset>          ::=  {"*"} {<HexNumber>}\r
+#  <Offset>          ::=  {TAB_STAR} {<HexNumber>}\r
 #  <HexNumber>       ::=  "0x" (a-fA-F0-9){1,8}\r
 #  <Size>            ::=  <HexNumber>\r
 #  <Value>           ::=  {<HexNumber>} {<NonNegativeInt>} {<QString>} {<Array>}\r
@@ -92,7 +92,7 @@ class VpdInfoFile:
         if (Vpd is None):\r
             EdkLogger.error("VpdInfoFile", BuildToolError.ATTRIBUTE_UNKNOWN_ERROR, "Invalid VPD PCD entry.")\r
 \r
-        if not (Offset >= 0 or Offset == "*"):\r
+        if not (Offset >= 0 or Offset == TAB_STAR):\r
             EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID, "Invalid offset parameter: %s." % Offset)\r
 \r
         if Vpd.DatumType == TAB_VOID:\r
@@ -186,8 +186,8 @@ class VpdInfoFile:
                         VpdObjectTokenCName = PcdItem[0]\r
                 for sku in VpdObject.SkuInfoList:\r
                     if VpdObject.TokenSpaceGuidCName == TokenSpaceName and VpdObjectTokenCName == PcdTokenName.strip() and sku == SkuId:\r
-                        if self._VpdArray[VpdObject][sku] == "*":\r
-                            if Offset == "*":\r
+                        if self._VpdArray[VpdObject][sku] == TAB_STAR:\r
+                            if Offset == TAB_STAR:\r
                                 EdkLogger.error("BPDG", BuildToolError.FORMAT_INVALID, "The offset of %s has not been fixed up by third-party BPDG tool." % PcdName)\r
                             self._VpdArray[VpdObject][sku] = Offset\r
                         Found = True\r
index 2fbbad114c9e7012f5c0f6dca55e5cc687ea9ec4..e000228d2f6c6ff091efcce0ddc787bf056f5475 100644 (file)
@@ -64,7 +64,6 @@ T_CHAR_CR = '\r'
 T_CHAR_TAB = '\t'\r
 T_CHAR_DOUBLE_QUOTE = '\"'\r
 T_CHAR_SINGLE_QUOTE = '\''\r
-T_CHAR_STAR = '*'\r
 T_CHAR_BRACE_R = '}'\r
 \r
 SEPARATORS = {TAB_EQUAL_SPLIT, TAB_VALUE_SPLIT, TAB_COMMA_SPLIT, '{', T_CHAR_BRACE_R}\r
@@ -533,7 +532,7 @@ class FdfParser:
                     InComment = False\r
                     HashComment = False\r
             # check for */ comment end\r
-            elif InComment and not DoubleSlashComment and not HashComment and self._CurrentChar() == T_CHAR_STAR and self._NextChar() == TAB_BACK_SLASH:\r
+            elif InComment and not DoubleSlashComment and not HashComment and self._CurrentChar() == TAB_STAR and self._NextChar() == TAB_BACK_SLASH:\r
                 self._SetCurrentCharValue(TAB_SPACE_SPLIT)\r
                 self._GetOneChar()\r
                 self._SetCurrentCharValue(TAB_SPACE_SPLIT)\r
@@ -552,7 +551,7 @@ class FdfParser:
                 InComment = True\r
                 HashComment = True\r
             # check for /* comment start\r
-            elif self._CurrentChar() == TAB_BACK_SLASH and self._NextChar() == T_CHAR_STAR:\r
+            elif self._CurrentChar() == TAB_BACK_SLASH and self._NextChar() == TAB_STAR:\r
                 self._SetCurrentCharValue(TAB_SPACE_SPLIT)\r
                 self._GetOneChar()\r
                 self._SetCurrentCharValue(TAB_SPACE_SPLIT)\r
index 0c8091b79841496cbfa2ddea893171afc14f6c9d..0513f488fca3d398a154a576437f19fc92ad093e 100644 (file)
@@ -653,7 +653,7 @@ class GenFds(object):
                             FileGuidList.append(FileStatementGuid)\r
                         Name = []\r
                         FfsPath = os.path.join(GenFdsGlobalVariable.FvDir, 'Ffs')\r
-                        FfsPath = glob(os.path.join(FfsPath, FileStatementGuid) + '*')\r
+                        FfsPath = glob(os.path.join(FfsPath, FileStatementGuid) + TAB_STAR)\r
                         if not FfsPath:\r
                             continue\r
                         if not os.path.exists(FfsPath[0]):\r
index ea61f723a73cd87ac46ced91dba2092a21423dd9..0812c56bdae829aba8048821772892160ef92db7 100644 (file)
@@ -217,12 +217,12 @@ class GenFdsGlobalVariable:
 \r
         if not Inf.IsBinaryModule:\r
             for File in Inf.Sources:\r
-                if File.TagName in {"", "*", GenFdsGlobalVariable.ToolChainTag} and \\r
-                    File.ToolChainFamily in {"", "*", GenFdsGlobalVariable.ToolChainFamily}:\r
+                if File.TagName in {"", DataType.TAB_STAR, GenFdsGlobalVariable.ToolChainTag} and \\r
+                    File.ToolChainFamily in {"", DataType.TAB_STAR, GenFdsGlobalVariable.ToolChainFamily}:\r
                     FileList.append((File, DataType.TAB_UNKNOWN_FILE))\r
 \r
         for File in Inf.Binaries:\r
-            if File.Target in {DataType.TAB_COMMON, '*', GenFdsGlobalVariable.TargetName}:\r
+            if File.Target in {DataType.TAB_COMMON, DataType.TAB_STAR, GenFdsGlobalVariable.TargetName}:\r
                 FileList.append((File, File.Type))\r
 \r
         for File, FileType in FileList:\r
@@ -893,7 +893,7 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
             for Index in range(2, -1, -1):\r
                 for Key in list(BuildOption.keys()):\r
                     List = Key.split('_')\r
-                    if List[Index] == '*':\r
+                    if List[Index] == DataType.TAB_STAR:\r
                         for String in ToolDb[ToolList[Index]]:\r
                             if String in [Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]:\r
                                 List[Index] = String\r
index 19a70009dccea4cd157017137aea3a1a9dcc75a5..bab74aedf0b9c51fb80edb7e72717bbe8cd212ab 100644 (file)
@@ -131,7 +131,7 @@ class Section (SectionClassObject):
                     if File.Type == FileType or (int(FfsInf.PiSpecVersion, 16) >= 0x0001000A \\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
+                        if TAB_STAR in FfsInf.TargetOverrideList or File.Target == TAB_STAR or File.Target in FfsInf.TargetOverrideList or FfsInf.TargetOverrideList == []:\r
                             FileList.append(FfsInf.PatchEfiFile(File.Path, File.Type))\r
                         else:\r
                             GenFdsGlobalVariable.InfLogger ("\nBuild Target \'%s\' of File %s is not in the Scope of %s specified by INF %s in FDF" %(File.Target, File.File, FfsInf.TargetOverrideList, FfsInf.InfFileName))\r
index 11aa63fb263c7b9b97287c25fdd87b2d020c81d7..22cbbb119a5a0f7d87bdabbc194a63ca2a3dbfb1 100644 (file)
@@ -2315,11 +2315,11 @@ class DscBuildData(PlatformBuildClassObject):
                 continue\r
             if Attr != "FLAGS":\r
                 continue\r
-            if Target == "*" or Target == self._Target:\r
-                if Tag == "*" or Tag == self._Toolchain:\r
+            if Target == TAB_STAR or Target == self._Target:\r
+                if Tag == TAB_STAR or Tag == self._Toolchain:\r
                     if 'COMMON' not in BuildOptions:\r
                         BuildOptions['COMMON'] = set()\r
-                    if Arch == "*":\r
+                    if Arch == TAB_STAR:\r
                         BuildOptions['COMMON'].add(self.BuildOptions[Options])\r
                     if Arch in self.SupArchList:\r
                         if Arch not in BuildOptions:\r