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