]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/build/build.py
BaseTools:There is extra blank line in datalog
[mirror_edk2.git] / BaseTools / Source / Python / build / build.py
index 44ad86b780da5326ca965968340855bd74da90e0..139a1dfe2983fa2ff037689e3279bab012a54dab 100644 (file)
@@ -2,7 +2,7 @@
 # build a platform or a module\r
 #\r
 #  Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>\r
-#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>\r
 #  Copyright (c) 2018, Hewlett Packard Enterprise Development, L.P.<BR>\r
 #\r
 #  This program and the accompanying materials\r
@@ -27,7 +27,6 @@ import time
 import platform\r
 import traceback\r
 import encodings.ascii\r
-import itertools\r
 import multiprocessing\r
 \r
 from struct import *\r
@@ -72,43 +71,6 @@ gToolsDefinition = "tools_def.txt"
 TemporaryTablePattern = re.compile(r'^_\d+_\d+_[a-fA-F0-9]+$')\r
 TmpTableDict = {}\r
 \r
-## Make a Python object persistent on file system\r
-#\r
-#   @param      Data    The object to be stored in file\r
-#   @param      File    The path of file to store the object\r
-#\r
-def _DataDump(Data, File):\r
-    Fd = None\r
-    try:\r
-        Fd = open(File, 'wb')\r
-        pickle.dump(Data, Fd, pickle.HIGHEST_PROTOCOL)\r
-    except:\r
-        EdkLogger.error("", FILE_OPEN_FAILURE, ExtraData=File, RaiseError=False)\r
-    finally:\r
-        if Fd is not None:\r
-            Fd.close()\r
-\r
-## Restore a Python object from a file\r
-#\r
-#   @param      File    The path of file stored the object\r
-#\r
-#   @retval     object  A python object\r
-#   @retval     None    If failure in file operation\r
-#\r
-def _DataRestore(File):\r
-    Data = None\r
-    Fd = None\r
-    try:\r
-        Fd = open(File, 'rb')\r
-        Data = pickle.load(Fd)\r
-    except Exception as e:\r
-        EdkLogger.verbose("Failed to load [%s]\n\t%s" % (File, str(e)))\r
-        Data = None\r
-    finally:\r
-        if Fd is not None:\r
-            Fd.close()\r
-    return Data\r
-\r
 ## Check environment PATH variable to make sure the specified tool is found\r
 #\r
 #   If the tool is found in the PATH, then True is returned\r
@@ -702,7 +664,7 @@ class PeImageInfo():
         self.OutputDir        = OutputDir\r
         self.DebugDir         = DebugDir\r
         self.Image            = ImageClass\r
-        self.Image.Size       = (self.Image.Size / 0x1000 + 1) * 0x1000\r
+        self.Image.Size       = (self.Image.Size // 0x1000 + 1) * 0x1000\r
 \r
 ## The class implementing the EDK2 build process\r
 #\r
@@ -1139,9 +1101,8 @@ class Build():
                 f = open(PrebuildEnvFile)\r
                 envs = f.readlines()\r
                 f.close()\r
-                envs = itertools.imap(lambda l: l.split('=', 1), envs)\r
-                envs = itertools.ifilter(lambda l: len(l) == 2, envs)\r
-                envs = itertools.imap(lambda l: [i.strip() for i in l], envs)\r
+                envs = [l.split("=", 1) for l in envs ]\r
+                envs = [[I.strip() for I in item] for item in envs if len(item) == 2]\r
                 os.environ.update(dict(envs))\r
             EdkLogger.info("\n- Prebuild Done -\n")\r
 \r
@@ -1621,21 +1582,21 @@ class Build():
             for PcdInfo in PcdTable:\r
                 ReturnValue = 0\r
                 if PcdInfo[0] == TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE:\r
-                    ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE, str (PeiSize / 0x1000))\r
+                    ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE, str (PeiSize // 0x1000))\r
                 elif PcdInfo[0] == TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE:\r
-                    ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE_DATA_TYPE, str (BtSize / 0x1000))\r
+                    ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE_DATA_TYPE, str (BtSize // 0x1000))\r
                 elif PcdInfo[0] == TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE:\r
-                    ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE_DATA_TYPE, str (RtSize / 0x1000))\r
+                    ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE_DATA_TYPE, str (RtSize // 0x1000))\r
                 elif PcdInfo[0] == TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE and len (SmmModuleList) > 0:\r
-                    ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE_DATA_TYPE, str (SmmSize / 0x1000))\r
+                    ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE_DATA_TYPE, str (SmmSize // 0x1000))\r
                 if ReturnValue != 0:\r
                     EdkLogger.error("build", PARAMETER_INVALID, "Patch PCD value failed", ExtraData=ErrorInfo)\r
 \r
-        MapBuffer.write('PEI_CODE_PAGE_NUMBER      = 0x%x\n' % (PeiSize / 0x1000))\r
-        MapBuffer.write('BOOT_CODE_PAGE_NUMBER     = 0x%x\n' % (BtSize / 0x1000))\r
-        MapBuffer.write('RUNTIME_CODE_PAGE_NUMBER  = 0x%x\n' % (RtSize / 0x1000))\r
+        MapBuffer.write('PEI_CODE_PAGE_NUMBER      = 0x%x\n' % (PeiSize // 0x1000))\r
+        MapBuffer.write('BOOT_CODE_PAGE_NUMBER     = 0x%x\n' % (BtSize // 0x1000))\r
+        MapBuffer.write('RUNTIME_CODE_PAGE_NUMBER  = 0x%x\n' % (RtSize // 0x1000))\r
         if len (SmmModuleList) > 0:\r
-            MapBuffer.write('SMM_CODE_PAGE_NUMBER      = 0x%x\n' % (SmmSize / 0x1000))\r
+            MapBuffer.write('SMM_CODE_PAGE_NUMBER      = 0x%x\n' % (SmmSize // 0x1000))\r
 \r
         PeiBaseAddr = TopMemoryAddress - RtSize - BtSize\r
         BtBaseAddr  = TopMemoryAddress - RtSize\r
@@ -2127,7 +2088,7 @@ class Build():
 \r
                     # Look through the tool definitions for GUIDed tools\r
                     guidAttribs = []\r
-                    for (attrib, value) in self.ToolDef.ToolsDefTxtDictionary.iteritems():\r
+                    for (attrib, value) in self.ToolDef.ToolsDefTxtDictionary.items():\r
                         if attrib.upper().endswith('_GUID'):\r
                             split = attrib.split('_')\r
                             thisPrefix = '_'.join(split[0:3]) + '_'\r
@@ -2192,31 +2153,11 @@ class Build():
     def Relinquish(self):\r
         OldLogLevel = EdkLogger.GetLevel()\r
         EdkLogger.SetLevel(EdkLogger.ERROR)\r
-        #self.DumpBuildData()\r
         Utils.Progressor.Abort()\r
         if self.SpawnMode == True:\r
             BuildTask.Abort()\r
         EdkLogger.SetLevel(OldLogLevel)\r
 \r
-    def DumpBuildData(self):\r
-        CacheDirectory = os.path.dirname(GlobalData.gDatabasePath)\r
-        Utils.CreateDirectory(CacheDirectory)\r
-        Utils._DataDump(Utils.gFileTimeStampCache, os.path.join(CacheDirectory, "gFileTimeStampCache"))\r
-        Utils._DataDump(Utils.gDependencyDatabase, os.path.join(CacheDirectory, "gDependencyDatabase"))\r
-\r
-    def RestoreBuildData(self):\r
-        FilePath = os.path.join(os.path.dirname(GlobalData.gDatabasePath), "gFileTimeStampCache")\r
-        if Utils.gFileTimeStampCache == {} and os.path.isfile(FilePath):\r
-            Utils.gFileTimeStampCache = Utils._DataRestore(FilePath)\r
-            if Utils.gFileTimeStampCache is None:\r
-                Utils.gFileTimeStampCache = {}\r
-\r
-        FilePath = os.path.join(os.path.dirname(GlobalData.gDatabasePath), "gDependencyDatabase")\r
-        if Utils.gDependencyDatabase == {} and os.path.isfile(FilePath):\r
-            Utils.gDependencyDatabase = Utils._DataRestore(FilePath)\r
-            if Utils.gDependencyDatabase is None:\r
-                Utils.gDependencyDatabase = {}\r
-\r
 def ParseDefines(DefineList=[]):\r
     DefineDict = {}\r
     if DefineList is not None:\r
@@ -2440,7 +2381,6 @@ def Main():
         if not (MyBuild.LaunchPrebuildFlag and os.path.exists(MyBuild.PlatformBuildPath)):\r
             MyBuild.Launch()\r
 \r
-        #MyBuild.DumpBuildData()\r
         #\r
         # All job done, no error found and no exception raised\r
         #\r