]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/GenFds/GenFds.py
BaseTools: Reset FdsGlobalVariable
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / GenFds.py
index 51655cc09c2663f08442711ecf8b3a3e36b8d4d3..447aa7f5ebc2cd95d658b17fbc0ebfb746642b81 100644 (file)
@@ -41,6 +41,8 @@ from Workspace.WorkspaceDatabase import WorkspaceDatabase
 from .FdfParser import FdfParser, Warning\r
 from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from .FfsFileStatement import FileStatement\r
+import Common.DataType as DataType\r
+from struct import Struct\r
 \r
 ## Version and Copyright\r
 versionNumber = "1.0" + ' ' + gBUILD_VERSION\r
@@ -62,11 +64,60 @@ def main():
     EdkLogger.Initialize()\r
     return GenFdsApi(OptionsToCommandDict(Options))\r
 \r
+def resetFdsGlobalVariable():\r
+    GenFdsGlobalVariable.FvDir = ''\r
+    GenFdsGlobalVariable.OutputDirDict = {}\r
+    GenFdsGlobalVariable.BinDir = ''\r
+    # will be FvDir + os.sep + 'Ffs'\r
+    GenFdsGlobalVariable.FfsDir = ''\r
+    GenFdsGlobalVariable.FdfParser = None\r
+    GenFdsGlobalVariable.LibDir = ''\r
+    GenFdsGlobalVariable.WorkSpace = None\r
+    GenFdsGlobalVariable.WorkSpaceDir = ''\r
+    GenFdsGlobalVariable.ConfDir = ''\r
+    GenFdsGlobalVariable.EdkSourceDir = ''\r
+    GenFdsGlobalVariable.OutputDirFromDscDict = {}\r
+    GenFdsGlobalVariable.TargetName = ''\r
+    GenFdsGlobalVariable.ToolChainTag = ''\r
+    GenFdsGlobalVariable.RuleDict = {}\r
+    GenFdsGlobalVariable.ArchList = None\r
+    GenFdsGlobalVariable.VtfDict = {}\r
+    GenFdsGlobalVariable.ActivePlatform = None\r
+    GenFdsGlobalVariable.FvAddressFileName = ''\r
+    GenFdsGlobalVariable.VerboseMode = False\r
+    GenFdsGlobalVariable.DebugLevel = -1\r
+    GenFdsGlobalVariable.SharpCounter = 0\r
+    GenFdsGlobalVariable.SharpNumberPerLine = 40\r
+    GenFdsGlobalVariable.FdfFile = ''\r
+    GenFdsGlobalVariable.FdfFileTimeStamp = 0\r
+    GenFdsGlobalVariable.FixedLoadAddress = False\r
+    GenFdsGlobalVariable.PlatformName = ''\r
+\r
+    GenFdsGlobalVariable.BuildRuleFamily = DataType.TAB_COMPILER_MSFT\r
+    GenFdsGlobalVariable.ToolChainFamily = DataType.TAB_COMPILER_MSFT\r
+    GenFdsGlobalVariable.__BuildRuleDatabase = None\r
+    GenFdsGlobalVariable.GuidToolDefinition = {}\r
+    GenFdsGlobalVariable.FfsCmdDict = {}\r
+    GenFdsGlobalVariable.SecCmdList = []\r
+    GenFdsGlobalVariable.CopyList   = []\r
+    GenFdsGlobalVariable.ModuleFile = ''\r
+    GenFdsGlobalVariable.EnableGenfdsMultiThread = False\r
+\r
+    GenFdsGlobalVariable.LargeFileInFvFlags = []\r
+    GenFdsGlobalVariable.EFI_FIRMWARE_FILE_SYSTEM3_GUID = '5473C07A-3DCB-4dca-BD6F-1E9689E7349A'\r
+    GenFdsGlobalVariable.LARGE_FILE_SIZE = 0x1000000\r
+\r
+    GenFdsGlobalVariable.SectionHeader = Struct("3B 1B")\r
+\r
+    # FvName, FdName, CapName in FDF, Image file name\r
+    GenFdsGlobalVariable.ImageBinDict = {}\r
+\r
 def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None):\r
     global Workspace\r
     Workspace = ""\r
     ArchList = None\r
     ReturnCode = 0\r
+    resetFdsGlobalVariable()\r
 \r
     try:\r
         if FdsCommandDict.get("verbose"):\r