| ## @file | |
| # This file is used to define common static strings used by INF/DEC/DSC files | |
| # | |
| # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> | |
| # SPDX-License-Identifier: BSD-2-Clause-Patent | |
| import re | |
| gIsWindows = None | |
| gWorkspace = "." | |
| gOptions = None | |
| gCaseInsensitive = False | |
| gAllFiles = None | |
| gCommand = None | |
| gSKUID_CMD = None | |
| gGlobalDefines = {} | |
| gPlatformDefines = {} | |
| # PCD name and value pair for fixed at build and feature flag | |
| gPlatformPcds = {} | |
| gPlatformFinalPcds = {} | |
| # PCDs with type that are not fixed at build and feature flag | |
| gPlatformOtherPcds = {} | |
| gActivePlatform = None | |
| gCommandLineDefines = {} | |
| gEdkGlobal = {} | |
| gCommandMaxLength = 4096 | |
| # for debug trace purpose when problem occurs | |
| gProcessingFile = '' | |
| gBuildingModule = '' | |
| gSkuids = [] | |
| gDefaultStores = [] | |
| gGuidDict = {} | |
| # definition for a MACRO name. used to create regular expressions below. | |
| _MacroNamePattern = r"[A-Z][A-Z0-9_]*" | |
| ## Regular expression for matching macro used in DSC/DEC/INF file inclusion | |
| gMacroRefPattern = re.compile(r"\$\(({})\)".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) | |
| ## Regular expression for GUID c structure format | |
| _GuidCFormatPattern = r"{{\s*0[xX]{Hex}{{1,8}}\s*,\s*0[xX]{Hex}{{1,4}}\s*,\s*0[xX]{Hex}{{1,4}}" \ | |
| r"\s*,\s*{{\s*0[xX]{Hex}{{1,2}}\s*,\s*0[xX]{Hex}{{1,2}}" \ | |
| r"\s*,\s*0[xX]{Hex}{{1,2}}\s*,\s*0[xX]{Hex}{{1,2}}" \ | |
| r"\s*,\s*0[xX]{Hex}{{1,2}}\s*,\s*0[xX]{Hex}{{1,2}}" \ | |
| r"\s*,\s*0[xX]{Hex}{{1,2}}\s*,\s*0[xX]{Hex}{{1,2}}\s*}}\s*}}".format(Hex=_HexChar) | |
| gGuidCFormatPattern = re.compile(r"{}".format(_GuidCFormatPattern)) | |
| # | |
| # A global variable for whether current build in AutoGen phase or not. | |
| # | |
| gAutoGenPhase = False | |
| # | |
| # The Conf dir outside the workspace dir | |
| # | |
| gConfDirectory = '' | |
| gCmdConfDir = '' | |
| gBuildDirectory = '' | |
| # | |
| # The relative default database file path | |
| # | |
| gDatabasePath = ".cache/build.db" | |
| # | |
| # Build flag for binary build | |
| # | |
| gIgnoreSource = False | |
| # | |
| # FDF parser | |
| # | |
| gFdfParser = None | |
| BuildOptionPcd = [] | |
| # | |
| # Mixed PCD name dict | |
| # | |
| MixedPcd = {} | |
| # Structure Pcd dict | |
| gStructurePcd = {} | |
| gPcdSkuOverrides={} | |
| # Pcd name for the Pcd which used in the Conditional directives | |
| gConditionalPcds = [] | |
| gUseHashCache = None | |
| gBinCacheDest = None | |
| gBinCacheSource = None | |
| gPlatformHash = None | |
| gPlatformHashFile = None | |
| gPackageHash = None | |
| gPackageHashFile = None | |
| gModuleHashFile = None | |
| gCMakeHashFile = None | |
| gHashChainStatus = None | |
| gModulePreMakeCacheStatus = None | |
| gModuleMakeCacheStatus = None | |
| gFileHashDict = None | |
| gModuleAllCacheStatus = None | |
| gModuleCacheHit = None | |
| gEnableGenfdsMultiThread = True | |
| gSikpAutoGenCache = set() | |
| # Common lock for the file access in multiple process AutoGens | |
| file_lock = None | |
| gStackCookieValues32 = [] | |
| gStackCookieValues64 = [] |