Revert BaseTools: PYTHON3 migration
This reverts commit 6693f359b3c213513c5096a06c6f67244a44dc52..
678f851312
.
Python3 migration is the fundamental change. It requires every developer
to install Python3. Before this migration, the well communication and wide
verification must be done. But now, most people is not aware of this change,
and not try it. So, Python3 migration is reverted and be moved to edk2-staging
Python3 branch for the edk2 user evaluation.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@ -16,15 +16,17 @@
|
||||
##
|
||||
# Import Modules
|
||||
#
|
||||
from __future__ import print_function
|
||||
import Common.LongFilePathOs as os
|
||||
import re
|
||||
from io import StringIO
|
||||
from io import BytesIO
|
||||
import sys
|
||||
import glob
|
||||
import time
|
||||
import platform
|
||||
import traceback
|
||||
import encodings.ascii
|
||||
import itertools
|
||||
import multiprocessing
|
||||
|
||||
from struct import *
|
||||
@ -242,8 +244,8 @@ def ReadMessage(From, To, ExitFlag):
|
||||
# read one line a time
|
||||
Line = From.readline()
|
||||
# empty string means "end"
|
||||
if Line is not None and Line != b"":
|
||||
To(Line.rstrip().decode(encoding='utf-8', errors='ignore'))
|
||||
if Line is not None and Line != "":
|
||||
To(Line.rstrip())
|
||||
else:
|
||||
break
|
||||
if ExitFlag.isSet():
|
||||
@ -503,7 +505,7 @@ class BuildTask:
|
||||
|
||||
# get all pending tasks
|
||||
BuildTask._PendingQueueLock.acquire()
|
||||
BuildObjectList = list(BuildTask._PendingQueue.keys())
|
||||
BuildObjectList = BuildTask._PendingQueue.keys()
|
||||
#
|
||||
# check if their dependency is resolved, and if true, move them
|
||||
# into ready queue
|
||||
@ -724,7 +726,7 @@ class PeImageInfo():
|
||||
self.OutputDir = OutputDir
|
||||
self.DebugDir = DebugDir
|
||||
self.Image = ImageClass
|
||||
self.Image.Size = (self.Image.Size // 0x1000 + 1) * 0x1000
|
||||
self.Image.Size = (self.Image.Size / 0x1000 + 1) * 0x1000
|
||||
|
||||
## The class implementing the EDK2 build process
|
||||
#
|
||||
@ -1171,9 +1173,9 @@ class Build():
|
||||
f = open(PrebuildEnvFile)
|
||||
envs = f.readlines()
|
||||
f.close()
|
||||
envs = map(lambda l: l.split('=', 1), envs)
|
||||
envs = filter(lambda l: len(l) == 2, envs)
|
||||
envs = map(lambda l: [i.strip() for i in l], envs)
|
||||
envs = itertools.imap(lambda l: l.split('=', 1), envs)
|
||||
envs = itertools.ifilter(lambda l: len(l) == 2, envs)
|
||||
envs = itertools.imap(lambda l: [i.strip() for i in l], envs)
|
||||
os.environ.update(dict(envs))
|
||||
EdkLogger.info("\n- Prebuild Done -\n")
|
||||
|
||||
@ -1597,7 +1599,7 @@ class Build():
|
||||
RtModuleList[Module.MetaFile] = ImageInfo
|
||||
#IPF runtime driver needs to be at 2 page alignment.
|
||||
if IsIpfPlatform and ImageInfo.Image.Size % 0x2000 != 0:
|
||||
ImageInfo.Image.Size = (ImageInfo.Image.Size // 0x2000 + 1) * 0x2000
|
||||
ImageInfo.Image.Size = (ImageInfo.Image.Size / 0x2000 + 1) * 0x2000
|
||||
RtSize += ImageInfo.Image.Size
|
||||
elif Module.ModuleType in [SUP_MODULE_SMM_CORE, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:
|
||||
SmmModuleList[Module.MetaFile] = ImageInfo
|
||||
@ -1666,21 +1668,21 @@ class Build():
|
||||
for PcdInfo in PcdTable:
|
||||
ReturnValue = 0
|
||||
if PcdInfo[0] == TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE:
|
||||
ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE, str (PeiSize // 0x1000))
|
||||
ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE, str (PeiSize / 0x1000))
|
||||
elif PcdInfo[0] == TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE:
|
||||
ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE_DATA_TYPE, str (BtSize // 0x1000))
|
||||
ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE_DATA_TYPE, str (BtSize / 0x1000))
|
||||
elif PcdInfo[0] == TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE:
|
||||
ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE_DATA_TYPE, str (RtSize // 0x1000))
|
||||
ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE_DATA_TYPE, str (RtSize / 0x1000))
|
||||
elif PcdInfo[0] == TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE and len (SmmModuleList) > 0:
|
||||
ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE_DATA_TYPE, str (SmmSize // 0x1000))
|
||||
ReturnValue, ErrorInfo = PatchBinaryFile (EfiImage, PcdInfo[1], TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE_DATA_TYPE, str (SmmSize / 0x1000))
|
||||
if ReturnValue != 0:
|
||||
EdkLogger.error("build", PARAMETER_INVALID, "Patch PCD value failed", ExtraData=ErrorInfo)
|
||||
|
||||
MapBuffer.write('PEI_CODE_PAGE_NUMBER = 0x%x\n' % (PeiSize // 0x1000))
|
||||
MapBuffer.write('BOOT_CODE_PAGE_NUMBER = 0x%x\n' % (BtSize // 0x1000))
|
||||
MapBuffer.write('RUNTIME_CODE_PAGE_NUMBER = 0x%x\n' % (RtSize // 0x1000))
|
||||
MapBuffer.write('PEI_CODE_PAGE_NUMBER = 0x%x\n' % (PeiSize / 0x1000))
|
||||
MapBuffer.write('BOOT_CODE_PAGE_NUMBER = 0x%x\n' % (BtSize / 0x1000))
|
||||
MapBuffer.write('RUNTIME_CODE_PAGE_NUMBER = 0x%x\n' % (RtSize / 0x1000))
|
||||
if len (SmmModuleList) > 0:
|
||||
MapBuffer.write('SMM_CODE_PAGE_NUMBER = 0x%x\n' % (SmmSize // 0x1000))
|
||||
MapBuffer.write('SMM_CODE_PAGE_NUMBER = 0x%x\n' % (SmmSize / 0x1000))
|
||||
|
||||
PeiBaseAddr = TopMemoryAddress - RtSize - BtSize
|
||||
BtBaseAddr = TopMemoryAddress - RtSize
|
||||
@ -1780,7 +1782,7 @@ class Build():
|
||||
if not Ma.IsLibrary:
|
||||
ModuleList[Ma.Guid.upper()] = Ma
|
||||
|
||||
MapBuffer = StringIO('')
|
||||
MapBuffer = BytesIO('')
|
||||
if self.LoadFixAddress != 0:
|
||||
#
|
||||
# Rebase module to the preferred memory address before GenFds
|
||||
@ -1938,7 +1940,7 @@ class Build():
|
||||
if not Ma.IsLibrary:
|
||||
ModuleList[Ma.Guid.upper()] = Ma
|
||||
|
||||
MapBuffer = StringIO('')
|
||||
MapBuffer = BytesIO('')
|
||||
if self.LoadFixAddress != 0:
|
||||
#
|
||||
# Rebase module to the preferred memory address before GenFds
|
||||
@ -2125,7 +2127,7 @@ class Build():
|
||||
#
|
||||
# Rebase module to the preferred memory address before GenFds
|
||||
#
|
||||
MapBuffer = StringIO('')
|
||||
MapBuffer = BytesIO('')
|
||||
if self.LoadFixAddress != 0:
|
||||
self._CollectModuleMapBuffer(MapBuffer, ModuleList)
|
||||
|
||||
@ -2177,7 +2179,7 @@ class Build():
|
||||
|
||||
# Look through the tool definitions for GUIDed tools
|
||||
guidAttribs = []
|
||||
for (attrib, value) in self.ToolDef.ToolsDefTxtDictionary.items():
|
||||
for (attrib, value) in self.ToolDef.ToolsDefTxtDictionary.iteritems():
|
||||
if attrib.upper().endswith('_GUID'):
|
||||
split = attrib.split('_')
|
||||
thisPrefix = '_'.join(split[0:3]) + '_'
|
||||
|
Reference in New Issue
Block a user