]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/Common/GlobalData.py
BaseTools: add GUID pattern to global data
[mirror_edk2.git] / BaseTools / Source / Python / Common / GlobalData.py
CommitLineData
f51461c8
LG
1## @file\r
2# This file is used to define common static strings used by INF/DEC/DSC files\r
3#\r
0f17c9fe 4# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
f51461c8
LG
5# This program and the accompanying materials\r
6# are licensed and made available under the terms and conditions of the BSD License\r
7# which accompanies this distribution. The full text of the license may be found at\r
8# http://opensource.org/licenses/bsd-license.php\r
9#\r
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13import re\r
14\r
15gIsWindows = None\r
16\r
17gEdkCompatibilityPkg = "EdkCompatibilityPkg"\r
18gWorkspace = "."\r
19gEdkSource = "EdkCompatibilityPkg"\r
20gEfiSource = "."\r
21gEcpSource = "EdkCompatibilityPkg"\r
22\r
23gOptions = None\r
24gCaseInsensitive = False\r
25gAllFiles = None\r
f0dc69e6 26gCommand = None\r
e651d06c 27gSKUID_CMD = None\r
f51461c8
LG
28\r
29gGlobalDefines = {}\r
30gPlatformDefines = {}\r
31# PCD name and value pair for fixed at build and feature flag\r
32gPlatformPcds = {}\r
33# PCDs with type that are not fixed at build and feature flag\r
34gPlatformOtherPcds = {}\r
35gActivePlatform = None\r
36gCommandLineDefines = {}\r
37gEdkGlobal = {}\r
38gOverrideDir = {}\r
725cdb8f 39gCommandMaxLength = 4096\r
f51461c8
LG
40# for debug trace purpose when problem occurs\r
41gProcessingFile = ''\r
42gBuildingModule = ''\r
e651d06c
LG
43gSkuids = []\r
44gDefaultStores = []\r
f51461c8 45\r
0f17c9fe
CJ
46# definition for a MACRO name. used to create regular expressions below.\r
47_MacroNamePattern = "[A-Z][A-Z0-9_]*"\r
48\r
f51461c8 49## Regular expression for matching macro used in DSC/DEC/INF file inclusion\r
0f17c9fe 50gMacroRefPattern = re.compile("\$\(({})\)".format(_MacroNamePattern), re.UNICODE)\r
f51461c8 51gMacroDefPattern = re.compile("^(DEFINE|EDK_GLOBAL)[ \t]+")\r
0f17c9fe 52gMacroNamePattern = re.compile("^{}$".format(_MacroNamePattern))\r
7878f706 53\r
cd67d664
CJ
54# definition for a GUID. used to create regular expressions below.\r
55_GuidPattern = r"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"\r
56\r
57## Regular expressions for GUID matching\r
58gGuidPattern = re.compile(r'{}'.format(_GuidPattern))\r
59gGuidPatternEnd = re.compile(r'{}$'.format(_GuidPattern))\r
60\r
f51461c8
LG
61#\r
62# A global variable for whether current build in AutoGen phase or not.\r
63#\r
64gAutoGenPhase = False\r
65\r
66#\r
67# The Conf dir outside the workspace dir\r
68#\r
69gConfDirectory = ''\r
70\r
97058144 71gBuildDirectory = ''\r
f51461c8
LG
72#\r
73# The relative default database file path\r
74#\r
75gDatabasePath = ".cache/build.db"\r
76\r
77#\r
78# Build flag for binary build\r
79#\r
80gIgnoreSource = False\r
81\r
82#\r
83# FDF parser\r
84#\r
85gFdfParser = None\r
97fa0ee9
YL
86\r
87#\r
88# If a module is built more than once with different PCDs or library classes\r
89# a temporary INF file with same content is created, the temporary file is removed\r
90# when build exits.\r
91#\r
92gTempInfs = []\r
93\r
763e8edf 94BuildOptionPcd = []\r
c8d07c5e 95\r
2a29017e
YZ
96#\r
97# Mixed PCD name dict\r
98#\r
99MixedPcd = {}\r
100\r
ae7b6df8
LG
101# Structure Pcd dict\r
102gStructurePcd = {}\r
103\r
c8d07c5e
YZ
104# Pcd name for the Pcd which used in the Conditional directives\r
105gConditionalPcds = []\r
36d083ef
YZ
106\r
107gUseHashCache = None\r
108gBinCacheDest = None\r
109gBinCacheSource = None\r
110gPlatformHash = None\r
111gPackageHash = {}\r
112gModuleHash = {}\r
37de70b7 113gEnableGenfdsMultiThread = False\r