## @file\r
# section base class\r
#\r
-# Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR>\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 __future__ import absolute_import\r
from CommonDataClass.FdfClass import SectionClassObject\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
import Common.LongFilePathOs as os, glob\r
from Common import EdkLogger\r
from Common.BuildToolError import *\r
+from Common.DataType import *\r
\r
## section base class\r
#\r
SectionType = {\r
'RAW' : 'EFI_SECTION_RAW',\r
'FREEFORM' : 'EFI_SECTION_FREEFORM_SUBTYPE_GUID',\r
- 'PE32' : 'EFI_SECTION_PE32',\r
- 'PIC' : 'EFI_SECTION_PIC',\r
- 'TE' : 'EFI_SECTION_TE',\r
+ BINARY_FILE_TYPE_PE32 : 'EFI_SECTION_PE32',\r
+ BINARY_FILE_TYPE_PIC : 'EFI_SECTION_PIC',\r
+ BINARY_FILE_TYPE_TE : 'EFI_SECTION_TE',\r
'FV_IMAGE' : 'EFI_SECTION_FIRMWARE_VOLUME_IMAGE',\r
- 'DXE_DEPEX' : 'EFI_SECTION_DXE_DEPEX',\r
- 'PEI_DEPEX' : 'EFI_SECTION_PEI_DEPEX',\r
+ BINARY_FILE_TYPE_DXE_DEPEX : 'EFI_SECTION_DXE_DEPEX',\r
+ BINARY_FILE_TYPE_PEI_DEPEX : 'EFI_SECTION_PEI_DEPEX',\r
'GUIDED' : 'EFI_SECTION_GUID_DEFINED',\r
'COMPRESS' : 'EFI_SECTION_COMPRESSION',\r
- 'UI' : 'EFI_SECTION_USER_INTERFACE',\r
- 'SMM_DEPEX' : 'EFI_SECTION_SMM_DEPEX'\r
+ BINARY_FILE_TYPE_UI : 'EFI_SECTION_USER_INTERFACE',\r
+ BINARY_FILE_TYPE_SMM_DEPEX : 'EFI_SECTION_SMM_DEPEX'\r
}\r
\r
BinFileType = {\r
- 'GUID' : '.guid',\r
+ BINARY_FILE_TYPE_GUID : '.guid',\r
'ACPI' : '.acpi',\r
'ASL' : '.asl' ,\r
- 'UEFI_APP' : '.app',\r
- 'LIB' : '.lib',\r
- 'PE32' : '.pe32',\r
- 'PIC' : '.pic',\r
- 'PEI_DEPEX' : '.depex',\r
+ BINARY_FILE_TYPE_UEFI_APP : '.app',\r
+ BINARY_FILE_TYPE_LIB : '.lib',\r
+ BINARY_FILE_TYPE_PE32 : '.pe32',\r
+ BINARY_FILE_TYPE_PIC : '.pic',\r
+ BINARY_FILE_TYPE_PEI_DEPEX : '.depex',\r
'SEC_PEI_DEPEX' : '.depex',\r
- 'TE' : '.te',\r
- 'UNI_VER' : '.ver',\r
- 'VER' : '.ver',\r
- 'UNI_UI' : '.ui',\r
- 'UI' : '.ui',\r
- 'BIN' : '.bin',\r
+ BINARY_FILE_TYPE_TE : '.te',\r
+ BINARY_FILE_TYPE_UNI_VER : '.ver',\r
+ BINARY_FILE_TYPE_VER : '.ver',\r
+ BINARY_FILE_TYPE_UNI_UI : '.ui',\r
+ BINARY_FILE_TYPE_UI : '.ui',\r
+ BINARY_FILE_TYPE_BIN : '.bin',\r
'RAW' : '.raw',\r
'COMPAT16' : '.comp16',\r
- 'FV' : '.fv'\r
+ BINARY_FILE_TYPE_FV : '.fv'\r
}\r
\r
SectFileType = {\r
FileList = []\r
if FileType is not None:\r
for File in FfsInf.BinFileList:\r
- if File.Arch == "COMMON" or FfsInf.CurrentArch == File.Arch:\r
+ if File.Arch == TAB_ARCH_COMMON or FfsInf.CurrentArch == File.Arch:\r
if File.Type == FileType or (int(FfsInf.PiSpecVersion, 16) >= 0x0001000A \\r
- and FileType == 'DXE_DPEX'and File.Type == 'SMM_DEPEX') \\r
- or (FileType == 'TE'and File.Type == 'PE32'):\r
- if '*' in FfsInf.TargetOverrideList or File.Target == '*' or File.Target in FfsInf.TargetOverrideList or FfsInf.TargetOverrideList == []:\r
+ and FileType == 'DXE_DPEX' and File.Type == BINARY_FILE_TYPE_SMM_DEPEX) \\r
+ or (FileType == BINARY_FILE_TYPE_TE and File.Type == BINARY_FILE_TYPE_PE32):\r
+ if TAB_STAR in FfsInf.TargetOverrideList or File.Target == TAB_STAR or File.Target in FfsInf.TargetOverrideList or FfsInf.TargetOverrideList == []:\r
FileList.append(FfsInf.PatchEfiFile(File.Path, File.Type))\r
else:\r
GenFdsGlobalVariable.InfLogger ("\nBuild Target \'%s\' of File %s is not in the Scope of %s specified by INF %s in FDF" %(File.Target, File.File, FfsInf.TargetOverrideList, FfsInf.InfFileName))\r
SuffixMap = FfsInf.GetFinalTargetSuffixMap()\r
if Suffix in SuffixMap:\r
FileList.extend(SuffixMap[Suffix])\r
- \r
+\r
#Process the file lists is alphabetical for a same section type\r
if len (FileList) > 1:\r
FileList.sort()\r