X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=BaseTools%2FSource%2FPython%2FCommon%2FGlobalData.py;h=fac7cde708f6d63e7ffec3c8d7d075489b486969;hp=83ba3d19961ae1b896fb49813baf32cc40562d9a;hb=18ef4e713f2fb5d2f84d179b9861b4afee212f65;hpb=0f17c9fef104d5f0eaa382266e0489f1fa0ed986 diff --git a/BaseTools/Source/Python/Common/GlobalData.py b/BaseTools/Source/Python/Common/GlobalData.py index 83ba3d1996..fac7cde708 100644 --- a/BaseTools/Source/Python/Common/GlobalData.py +++ b/BaseTools/Source/Python/Common/GlobalData.py @@ -51,6 +51,22 @@ gMacroRefPattern = re.compile("\$\(({})\)".format(_MacroNamePattern), re.UNICODE gMacroDefPattern = re.compile("^(DEFINE|EDK_GLOBAL)[ \t]+") gMacroNamePattern = re.compile("^{}$".format(_MacroNamePattern)) +# definition for a GUID. used to create regular expressions below. +_HexChar = r"[0-9a-fA-F]" +_GuidPattern = r"{Hex}{{8}}-{Hex}{{4}}-{Hex}{{4}}-{Hex}{{4}}-{Hex}{{12}}".format(Hex=_HexChar) + +## Regular expressions for GUID matching +gGuidPattern = re.compile(r'{}'.format(_GuidPattern)) +gGuidPatternEnd = re.compile(r'{}$'.format(_GuidPattern)) + +## Regular expressions for HEX matching +g4HexChar = re.compile(r'{}{{4}}'.format(_HexChar)) +gHexPattern = re.compile(r'0[xX]{}+'.format(_HexChar)) +gHexPatternAll = re.compile(r'0[xX]{}+$'.format(_HexChar)) + +## Regular expressions for string identifier checking +gIdentifierPattern = re.compile('^[a-zA-Z][a-zA-Z0-9_]*$', re.UNICODE) + # # A global variable for whether current build in AutoGen phase or not. # @@ -77,13 +93,6 @@ gIgnoreSource = False # gFdfParser = None -# -# If a module is built more than once with different PCDs or library classes -# a temporary INF file with same content is created, the temporary file is removed -# when build exits. -# -gTempInfs = [] - BuildOptionPcd = [] # @@ -104,3 +113,4 @@ gPlatformHash = None gPackageHash = {} gModuleHash = {} gEnableGenfdsMultiThread = False +gSikpAutoGenCache = set()