## @file\r
# This file is used to define common static strings used by INF/DEC/DSC files\r
#\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
gOptions = None\r
gCaseInsensitive = False\r
gAllFiles = None\r
+gCommand = None\r
+gSKUID_CMD = None\r
\r
gGlobalDefines = {}\r
gPlatformDefines = {}\r
gCommandLineDefines = {}\r
gEdkGlobal = {}\r
gOverrideDir = {}\r
-\r
+gCommandMaxLength = 4096\r
# for debug trace purpose when problem occurs\r
gProcessingFile = ''\r
gBuildingModule = ''\r
+gSkuids = []\r
+gDefaultStores = []\r
+\r
+# definition for a MACRO name. used to create regular expressions below.\r
+_MacroNamePattern = "[A-Z][A-Z0-9_]*"\r
\r
## Regular expression for matching macro used in DSC/DEC/INF file inclusion\r
-gMacroRefPattern = re.compile("\$\(([A-Z][_A-Z0-9]*)\)", re.UNICODE)\r
+gMacroRefPattern = re.compile("\$\(({})\)".format(_MacroNamePattern), re.UNICODE)\r
gMacroDefPattern = re.compile("^(DEFINE|EDK_GLOBAL)[ \t]+")\r
-gMacroNamePattern = re.compile("^[A-Z][A-Z0-9_]*$")\r
-# C-style wide string pattern\r
-gWideStringPattern = re.compile('(\W|\A)L"')\r
+gMacroNamePattern = re.compile("^{}$".format(_MacroNamePattern))\r
+\r
+# definition for a GUID. used to create regular expressions below.\r
+_HexChar = r"[0-9a-fA-F]"\r
+_GuidPattern = r"{Hex}{{8}}-{Hex}{{4}}-{Hex}{{4}}-{Hex}{{4}}-{Hex}{{12}}".format(Hex=_HexChar)\r
+\r
+## Regular expressions for GUID matching\r
+gGuidPattern = re.compile(r'{}'.format(_GuidPattern))\r
+gGuidPatternEnd = re.compile(r'{}$'.format(_GuidPattern))\r
+\r
#\r
# A global variable for whether current build in AutoGen phase or not.\r
#\r
#\r
gConfDirectory = ''\r
\r
+gBuildDirectory = ''\r
#\r
# The relative default database file path\r
#\r
#\r
gTempInfs = []\r
\r
+BuildOptionPcd = []\r
+\r
+#\r
+# Mixed PCD name dict\r
+#\r
+MixedPcd = {}\r
+\r
+# Structure Pcd dict\r
+gStructurePcd = {}\r
+\r
+# Pcd name for the Pcd which used in the Conditional directives\r
+gConditionalPcds = []\r
+\r
+gUseHashCache = None\r
+gBinCacheDest = None\r
+gBinCacheSource = None\r
+gPlatformHash = None\r
+gPackageHash = {}\r
+gModuleHash = {}\r
+gEnableGenfdsMultiThread = False\r