]>
git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/GenFds/VerSection.py
2 # process Version section generation
4 # Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
6 # This program and the accompanying materials
7 # are licensed and made available under the terms and conditions of the BSD License
8 # which accompanies this distribution. The full text of the license may be found at
9 # http://opensource.org/licenses/bsd-license.php
11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 from GenFdsGlobalVariable
import GenFdsGlobalVariable
23 from CommonDataClass
.FdfClass
import VerSectionClassObject
25 ## generate version section
28 class VerSection (VerSectionClassObject
):
32 # @param self The object pointer
35 VerSectionClassObject
.__init
__(self
)
37 ## GenSection() method
39 # Generate version section
41 # @param self The object pointer
42 # @param OutputPath Where to place output file
43 # @param ModuleName Which module this section belongs to
44 # @param SecNum Index of section
45 # @param KeyStringList Filter for inputs of section generation
46 # @param FfsInf FfsInfStatement object that contains this section data
47 # @param Dict dictionary contains macro and its value
48 # @retval tuple (Generated file name, section alignment)
50 def GenSection(self
,OutputPath
, ModuleName
, SecNum
, KeyStringList
, FfsInf
= None, Dict
= {}):
52 # Prepare the parameter of GenSection
55 self
.Alignment
= FfsInf
.__ExtendMacro
__(self
.Alignment
)
56 self
.BuildNum
= FfsInf
.__ExtendMacro
__(self
.BuildNum
)
57 self
.StringData
= FfsInf
.__ExtendMacro
__(self
.StringData
)
58 self
.FileName
= FfsInf
.__ExtendMacro
__(self
.FileName
)
60 OutputFile
= os
.path
.join(OutputPath
,
61 ModuleName
+ 'SEC' + SecNum
+ Ffs
.SectionSuffix
.get('VERSION'))
62 OutputFile
= os
.path
.normpath(OutputFile
)
66 if self
.StringData
!= None:
67 StringData
= self
.StringData
68 elif self
.FileName
!= None:
69 FileNameStr
= GenFdsGlobalVariable
.ReplaceWorkspaceMacro(self
.FileName
)
70 FileNameStr
= GenFdsGlobalVariable
.MacroExtend(FileNameStr
, Dict
)
71 FileObj
= open(FileNameStr
, 'r')
72 StringData
= FileObj
.read()
73 StringData
= '"' + StringData
+ '"'
78 GenFdsGlobalVariable
.GenerateSection(OutputFile
, None, 'EFI_SECTION_VERSION',
79 Ui
=StringData
, Ver
=self
.BuildNum
)
81 OutputFileList
.append(OutputFile
)
82 return OutputFileList
, self
.Alignment