X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=BaseTools%2FSource%2FPython%2FCommon%2FGlobalData.py;h=3933e86cb9f650e999b967943d43b67113a62e7d;hp=d566a5784412f0bdfd77a99992a298f23b8b5000;hb=256e2d885b053a6c6a04bf3b3eaffe128c023ba7;hpb=64b2609fcff9d6412eea4c74c8e74bed33dc3235 diff --git a/BaseTools/Source/Python/Common/GlobalData.py b/BaseTools/Source/Python/Common/GlobalData.py index d566a57844..3933e86cb9 100644 --- a/BaseTools/Source/Python/Common/GlobalData.py +++ b/BaseTools/Source/Python/Common/GlobalData.py @@ -1,52 +1,114 @@ -## @file -# This file is used to define common static strings used by INF/DEC/DSC files -# -# Copyright (c) 2007, Intel Corporation. All rights reserved.
-# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -import re - -gIsWindows = None - -gEdkCompatibilityPkg = "EdkCompatibilityPkg" -gWorkspace = "." -gEdkSource = "EdkCompatibilityPkg" -gEfiSource = "." -gEcpSource = "EdkCompatibilityPkg" - -gOptions = None -gCaseInsensitive = False -gAllFiles = None - -gGlobalDefines = {} -gPlatformDefines = {} -# PCD name and value pair for fixed at build and feature flag -gPlatformPcds = {} -# PCDs with type that are not fixed at build and feature flag -gPlatformOtherPcds = {} -gActivePlatform = None -gCommandLineDefines = {} -gEdkGlobal = {} -gOverrideDir = {} - -# for debug trace purpose when problem occurs -gProcessingFile = '' -gBuildingModule = '' - -## Regular expression for matching macro used in DSC/DEC/INF file inclusion -gMacroRefPattern = re.compile("\$\(([A-Z][_A-Z0-9]*)\)", re.UNICODE) -gMacroDefPattern = re.compile("^(DEFINE|EDK_GLOBAL)[ \t]+") -gMacroNamePattern = re.compile("^[A-Z][A-Z0-9_]*$") -# C-style wide string pattern -gWideStringPattern = re.compile('(\W|\A)L"') -# -# A global variable for whether current build in AutoGen phase or not. -# -gAutoGenPhase = False - +## @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.
+# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +import re + +gIsWindows = None + +gEdkCompatibilityPkg = "EdkCompatibilityPkg" +gWorkspace = "." +gEdkSource = "EdkCompatibilityPkg" +gEfiSource = "." +gEcpSource = "EdkCompatibilityPkg" + +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 = {} +# PCDs with type that are not fixed at build and feature flag +gPlatformOtherPcds = {} +gActivePlatform = None +gCommandLineDefines = {} +gEdkGlobal = {} +gOverrideDir = {} +gCommandMaxLength = 4096 +# for debug trace purpose when problem occurs +gProcessingFile = '' +gBuildingModule = '' +gSkuids = [] +gDefaultStores = [] + +# definition for a MACRO name. used to create regular expressions below. +_MacroNamePattern = "[A-Z][A-Z0-9_]*" + +## Regular expression for matching macro used in DSC/DEC/INF file inclusion +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)) + +# +# A global variable for whether current build in AutoGen phase or not. +# +gAutoGenPhase = False + +# +# The Conf dir outside the workspace dir +# +gConfDirectory = '' + +gBuildDirectory = '' +# +# The relative default database file path +# +gDatabasePath = ".cache/build.db" + +# +# Build flag for binary build +# +gIgnoreSource = False + +# +# FDF parser +# +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 = [] + +# +# Mixed PCD name dict +# +MixedPcd = {} + +# Structure Pcd dict +gStructurePcd = {} + +# Pcd name for the Pcd which used in the Conditional directives +gConditionalPcds = [] + +gUseHashCache = None +gBinCacheDest = None +gBinCacheSource = None +gPlatformHash = None +gPackageHash = {} +gModuleHash = {} +gEnableGenfdsMultiThread = False