1## @file
2# This file is used to define common static strings used by INF/DEC/DSC files
3#
4# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
5# This program and the accompanying materials
6# are licensed and made available under the terms and conditions of the BSD License
7# which accompanies this distribution.  The full text of the license may be found at
8# http://opensource.org/licenses/bsd-license.php
9#
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13import re
14
15gIsWindows = None
16
17gEdkCompatibilityPkg = "EdkCompatibilityPkg"
18gWorkspace = "."
19gEdkSource = "EdkCompatibilityPkg"
20gEfiSource = "."
21gEcpSource = "EdkCompatibilityPkg"
22
23gOptions = None
24gCaseInsensitive = False
25gAllFiles = None
26gCommand = None
27
28gGlobalDefines = {}
29gPlatformDefines = {}
30# PCD name and value pair for fixed at build and feature flag
31gPlatformPcds = {}
32# PCDs with type that are not fixed at build and feature flag
33gPlatformOtherPcds = {}
34gActivePlatform = None
35gCommandLineDefines = {}
36gEdkGlobal = {}
37gOverrideDir = {}
38gCommandMaxLength = 4096
39# for debug trace purpose when problem occurs
40gProcessingFile = ''
41gBuildingModule = ''
42
43## Regular expression for matching macro used in DSC/DEC/INF file inclusion
44gMacroRefPattern = re.compile("\$\(([A-Z][_A-Z0-9]*)\)", re.UNICODE)
45gMacroDefPattern = re.compile("^(DEFINE|EDK_GLOBAL)[ \t]+")
46gMacroNamePattern = re.compile("^[A-Z][A-Z0-9_]*$")
47# C-style wide string pattern
48gWideStringPattern = re.compile('(\W|\A)L"')
49#
50# A global variable for whether current build in AutoGen phase or not.
51#
52gAutoGenPhase = False
53
54#
55# The Conf dir outside the workspace dir
56#
57gConfDirectory = ''
58
59#
60# The relative default database file path
61#
62gDatabasePath = ".cache/build.db"
63
64#
65# Build flag for binary build
66#
67gIgnoreSource = False
68
69#
70# FDF parser
71#
72gFdfParser = None
73
74#
75# If a module is built more than once with different PCDs or library classes
76# a temporary INF file with same content is created, the temporary file is removed
77# when build exits.
78#
79gTempInfs = []
80
81BuildOptionPcd = []
82
83#
84# Mixed PCD name dict
85#
86MixedPcd = {}
87
88# Pcd name for the Pcd which used in the Conditional directives
89gConditionalPcds = []
90