mirror of https://github.com/acidanthera/audk.git
BaseTools: Reset FdsGlobalVariable
https://bugzilla.tianocore.org/show_bug.cgi?id=1418
This patch is going to fix a regression issue that is introduced
by commit b3497bad12
.
Before commit b3497b, build launched a external GenFds.py to generate
Fd, so the global variable in GenFds.py was reset in each execution.
After commit b3497b, each GenFds run in the same python interpeter, so
we need to explicitly reset global variable in each GenFdsApi call.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
This commit is contained in:
parent
b70ec0de46
commit
abc4c3386a
|
@ -41,6 +41,8 @@ from Workspace.WorkspaceDatabase import WorkspaceDatabase
|
|||
from .FdfParser import FdfParser, Warning
|
||||
from .GenFdsGlobalVariable import GenFdsGlobalVariable
|
||||
from .FfsFileStatement import FileStatement
|
||||
import Common.DataType as DataType
|
||||
from struct import Struct
|
||||
|
||||
## Version and Copyright
|
||||
versionNumber = "1.0" + ' ' + gBUILD_VERSION
|
||||
|
@ -62,11 +64,60 @@ def main():
|
|||
EdkLogger.Initialize()
|
||||
return GenFdsApi(OptionsToCommandDict(Options))
|
||||
|
||||
def resetFdsGlobalVariable():
|
||||
GenFdsGlobalVariable.FvDir = ''
|
||||
GenFdsGlobalVariable.OutputDirDict = {}
|
||||
GenFdsGlobalVariable.BinDir = ''
|
||||
# will be FvDir + os.sep + 'Ffs'
|
||||
GenFdsGlobalVariable.FfsDir = ''
|
||||
GenFdsGlobalVariable.FdfParser = None
|
||||
GenFdsGlobalVariable.LibDir = ''
|
||||
GenFdsGlobalVariable.WorkSpace = None
|
||||
GenFdsGlobalVariable.WorkSpaceDir = ''
|
||||
GenFdsGlobalVariable.ConfDir = ''
|
||||
GenFdsGlobalVariable.EdkSourceDir = ''
|
||||
GenFdsGlobalVariable.OutputDirFromDscDict = {}
|
||||
GenFdsGlobalVariable.TargetName = ''
|
||||
GenFdsGlobalVariable.ToolChainTag = ''
|
||||
GenFdsGlobalVariable.RuleDict = {}
|
||||
GenFdsGlobalVariable.ArchList = None
|
||||
GenFdsGlobalVariable.VtfDict = {}
|
||||
GenFdsGlobalVariable.ActivePlatform = None
|
||||
GenFdsGlobalVariable.FvAddressFileName = ''
|
||||
GenFdsGlobalVariable.VerboseMode = False
|
||||
GenFdsGlobalVariable.DebugLevel = -1
|
||||
GenFdsGlobalVariable.SharpCounter = 0
|
||||
GenFdsGlobalVariable.SharpNumberPerLine = 40
|
||||
GenFdsGlobalVariable.FdfFile = ''
|
||||
GenFdsGlobalVariable.FdfFileTimeStamp = 0
|
||||
GenFdsGlobalVariable.FixedLoadAddress = False
|
||||
GenFdsGlobalVariable.PlatformName = ''
|
||||
|
||||
GenFdsGlobalVariable.BuildRuleFamily = DataType.TAB_COMPILER_MSFT
|
||||
GenFdsGlobalVariable.ToolChainFamily = DataType.TAB_COMPILER_MSFT
|
||||
GenFdsGlobalVariable.__BuildRuleDatabase = None
|
||||
GenFdsGlobalVariable.GuidToolDefinition = {}
|
||||
GenFdsGlobalVariable.FfsCmdDict = {}
|
||||
GenFdsGlobalVariable.SecCmdList = []
|
||||
GenFdsGlobalVariable.CopyList = []
|
||||
GenFdsGlobalVariable.ModuleFile = ''
|
||||
GenFdsGlobalVariable.EnableGenfdsMultiThread = False
|
||||
|
||||
GenFdsGlobalVariable.LargeFileInFvFlags = []
|
||||
GenFdsGlobalVariable.EFI_FIRMWARE_FILE_SYSTEM3_GUID = '5473C07A-3DCB-4dca-BD6F-1E9689E7349A'
|
||||
GenFdsGlobalVariable.LARGE_FILE_SIZE = 0x1000000
|
||||
|
||||
GenFdsGlobalVariable.SectionHeader = Struct("3B 1B")
|
||||
|
||||
# FvName, FdName, CapName in FDF, Image file name
|
||||
GenFdsGlobalVariable.ImageBinDict = {}
|
||||
|
||||
def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None):
|
||||
global Workspace
|
||||
Workspace = ""
|
||||
ArchList = None
|
||||
ReturnCode = 0
|
||||
resetFdsGlobalVariable()
|
||||
|
||||
try:
|
||||
if FdsCommandDict.get("verbose"):
|
||||
|
|
Loading…
Reference in New Issue