#\r
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
\r
##\r
# Import Modules\r
#\r
-from struct import *\r
+from __future__ import absolute_import\r
+from struct import pack\r
import Common.LongFilePathOs as os\r
from io import BytesIO\r
-from . import FfsFileStatement\r
+from .FfsFileStatement import FileStatement\r
from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
-from CommonDataClass.FdfClass import AprioriSectionClassObject\r
-from Common.StringUtils import *\r
+from Common.StringUtils import NormPath\r
from Common.Misc import SaveFileOnChange, PathClass\r
-from Common import EdkLogger\r
-from Common.BuildToolError import *\r
+from Common.EdkLogger import error as EdkLoggerError\r
+from Common.BuildToolError import RESOURCE_NOT_AVAILABLE\r
from Common.DataType import TAB_COMMON\r
\r
+DXE_APRIORI_GUID = "FC510EE7-FFDC-11D4-BD41-0080C73C8881"\r
+PEI_APRIORI_GUID = "1B45CC0A-156A-428A-AF62-49864DA0E6E6"\r
+\r
## process APRIORI file data and generate PEI/DXE APRIORI file\r
#\r
#\r
-class AprioriSection (AprioriSectionClassObject):\r
+class AprioriSection (object):\r
## The constructor\r
#\r
# @param self The object pointer\r
#\r
def __init__(self):\r
- AprioriSectionClassObject.__init__(self)\r
+ self.DefineVarDict = {}\r
+ self.FfsList = []\r
self.AprioriType = ""\r
\r
## GenFfs() method\r
# @retval string Generated file name\r
#\r
def GenFfs (self, FvName, Dict = {}, IsMakefile = False):\r
- DXE_GUID = "FC510EE7-FFDC-11D4-BD41-0080C73C8881"\r
- PEI_GUID = "1B45CC0A-156A-428A-AF62-49864DA0E6E6"\r
Buffer = BytesIO()\r
- AprioriFileGuid = DXE_GUID\r
if self.AprioriType == "PEI":\r
- AprioriFileGuid = PEI_GUID\r
+ AprioriFileGuid = PEI_APRIORI_GUID\r
+ else:\r
+ AprioriFileGuid = DXE_APRIORI_GUID\r
+\r
OutputAprFilePath = os.path.join (GenFdsGlobalVariable.WorkSpaceDir, \\r
GenFdsGlobalVariable.FfsDir,\\r
AprioriFileGuid + FvName)\r
- if not os.path.exists(OutputAprFilePath) :\r
+ if not os.path.exists(OutputAprFilePath):\r
os.makedirs(OutputAprFilePath)\r
\r
OutputAprFileName = os.path.join( OutputAprFilePath, \\r
\r
Dict.update(self.DefineVarDict)\r
InfFileName = None\r
- for FfsObj in self.FfsList :\r
+ for FfsObj in self.FfsList:\r
Guid = ""\r
- if isinstance(FfsObj, FfsFileStatement.FileStatement):\r
+ if isinstance(FfsObj, FileStatement):\r
Guid = FfsObj.NameGuid\r
else:\r
InfFileName = NormPath(FfsObj.InfFileName)\r
Arch = FfsObj.GetCurrentArch()\r
\r
- if Arch is not None:\r
+ if Arch:\r
Dict['$(ARCH)'] = Arch\r
InfFileName = GenFdsGlobalVariable.MacroExtend(InfFileName, Dict, Arch)\r
\r
- if Arch is not None:\r
+ if Arch:\r
Inf = GenFdsGlobalVariable.WorkSpace.BuildObject[PathClass(InfFileName, GenFdsGlobalVariable.WorkSpaceDir), Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]\r
Guid = Inf.Guid\r
-\r
else:\r
Inf = GenFdsGlobalVariable.WorkSpace.BuildObject[PathClass(InfFileName, GenFdsGlobalVariable.WorkSpaceDir), TAB_COMMON, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]\r
Guid = Inf.Guid\r
\r
- self.BinFileList = Inf.Module.Binaries\r
- if self.BinFileList == []:\r
- EdkLogger.error("GenFds", RESOURCE_NOT_AVAILABLE,\r
+ if not Inf.Module.Binaries:\r
+ EdkLoggerError("GenFds", RESOURCE_NOT_AVAILABLE,\r
"INF %s not found in build ARCH %s!" \\r
% (InfFileName, GenFdsGlobalVariable.ArchList))\r
\r
-\r
GuidPart = Guid.split('-')\r
Buffer.write(pack('I', int(GuidPart[0], 16)))\r
Buffer.write(pack('H', int(GuidPart[1], 16)))\r
'EFI_FV_FILETYPE_FREEFORM', AprioriFileGuid, MakefilePath=MakefilePath)\r
\r
return AprFfsFileName\r
-\r