Per build spec, the .aml file should use ASL binary type in the Asbuilt inf file. the original bug is .aml file may use BIN as binary type when the module type is not BASE or USER_DEFINED. This patch 1) fix this bug. 2) fix some indent coding style issue.
Cc: Liming Gao <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <[email protected]> --- BaseTools/Source/Python/AutoGen/AutoGen.py | 37 +++++++++++++----------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py index 2cc6970..ae0f8a6 100644 --- a/BaseTools/Source/Python/AutoGen/AutoGen.py +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py @@ -1113,11 +1113,11 @@ class PlatformAutoGen(AutoGen): self.IsCodeFileCreated = True ## Generate Fds Command def _GenFdsCommand(self): return self.Workspace.GenFdsCommand - + ## Create makefile for the platform and mdoules in it # # @param CreateModuleMakeFile Flag indicating if the makefile for # modules will be created as well # @@ -3664,38 +3664,33 @@ class ModuleAutoGen(AutoGen): if DriverType: AsBuiltInfDict['pcd_is_driver_string'] += [DriverType] if 'UEFI_SPECIFICATION_VERSION' in self.Specification: - AsBuiltInfDict['module_uefi_specification_version'] += [self.Specification['UEFI_SPECIFICATION_VERSION']] + AsBuiltInfDict['module_uefi_specification_version'] += [self.Specification['UEFI_SPECIFICATION_VERSION']] if 'PI_SPECIFICATION_VERSION' in self.Specification: - AsBuiltInfDict['module_pi_specification_version'] += [self.Specification['PI_SPECIFICATION_VERSION']] + AsBuiltInfDict['module_pi_specification_version'] += [self.Specification['PI_SPECIFICATION_VERSION']] OutputDir = self.OutputDir.replace('\\', '/').strip('/') - if self.ModuleType in ['BASE', 'USER_DEFINED']: - for Item in self.CodaTargetList: + + for Item in self.CodaTargetList: File = Item.Target.Path.replace('\\', '/').strip('/').replace(OutputDir, '').strip('/') if Item.Target.Ext.lower() == '.aml': - AsBuiltInfDict['binary_item'] += ['ASL|' + File] + AsBuiltInfDict['binary_item'] += ['ASL|' + File] elif Item.Target.Ext.lower() == '.acpi': - AsBuiltInfDict['binary_item'] += ['ACPI|' + File] - else: - AsBuiltInfDict['binary_item'] += ['BIN|' + File] - else: - for Item in self.CodaTargetList: - File = Item.Target.Path.replace('\\', '/').strip('/').replace(OutputDir, '').strip('/') - if Item.Target.Ext.lower() == '.efi': - AsBuiltInfDict['binary_item'] += ['PE32|' + self.Name + '.efi'] + AsBuiltInfDict['binary_item'] += ['ACPI|' + File] + elif Item.Target.Ext.lower() == '.efi': + AsBuiltInfDict['binary_item'] += ['PE32|' + self.Name + '.efi'] else: - AsBuiltInfDict['binary_item'] += ['BIN|' + File] - if self.DepexGenerated: + AsBuiltInfDict['binary_item'] += ['BIN|' + File] + if self.DepexGenerated: if self.ModuleType in ['PEIM']: - AsBuiltInfDict['binary_item'] += ['PEI_DEPEX|' + self.Name + '.depex'] + AsBuiltInfDict['binary_item'] += ['PEI_DEPEX|' + self.Name + '.depex'] if self.ModuleType in ['DXE_DRIVER', 'DXE_RUNTIME_DRIVER', 'DXE_SAL_DRIVER', 'UEFI_DRIVER']: - AsBuiltInfDict['binary_item'] += ['DXE_DEPEX|' + self.Name + '.depex'] + AsBuiltInfDict['binary_item'] += ['DXE_DEPEX|' + self.Name + '.depex'] if self.ModuleType in ['DXE_SMM_DRIVER']: - AsBuiltInfDict['binary_item'] += ['SMM_DEPEX|' + self.Name + '.depex'] + AsBuiltInfDict['binary_item'] += ['SMM_DEPEX|' + self.Name + '.depex'] Bin = self._GenOffsetBin() if Bin: AsBuiltInfDict['binary_item'] += ['BIN|%s' % Bin] @@ -3843,12 +3838,12 @@ class ModuleAutoGen(AutoGen): PcdEntry = Pcd.TokenSpaceGuidCName + '.' + TokenCName if PcdComments: PcdEntry = PcdComments + '\n ' + PcdEntry AsBuiltInfDict['pcd_item'] += [PcdEntry] for Item in self.BuildOption: - if 'FLAGS' in self.BuildOption[Item]: - AsBuiltInfDict['flags_item'] += ['%s:%s_%s_%s_%s_FLAGS = %s' % (self.ToolChainFamily, self.BuildTarget, self.ToolChain, self.Arch, Item, self.BuildOption[Item]['FLAGS'].strip())] + if 'FLAGS' in self.BuildOption[Item]: + AsBuiltInfDict['flags_item'] += ['%s:%s_%s_%s_%s_FLAGS = %s' % (self.ToolChainFamily, self.BuildTarget, self.ToolChain, self.Arch, Item, self.BuildOption[Item]['FLAGS'].strip())] # Generated LibraryClasses section in comments. for Library in self.LibraryAutoGenList: AsBuiltInfDict['libraryclasses_item'] += [Library.MetaFile.File.replace('\\', '/')] -- 2.6.1.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

