From: Feng, Bob C Date: Fri, 16 Nov 2018 02:12:15 +0000 (+0800) Subject: BaseTools: Fix the problem using FILE_GUID override in .dsc X-Git-Tag: edk2-stable201903~598 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=3d3416e892ac32c871031c65351afca11a715306 BaseTools: Fix the problem using FILE_GUID override in .dsc https://bugzilla.tianocore.org/show_bug.cgi?id=1330 This patch is going to fix the problem using FILE_GUID override in .dsc. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: BobCF Cc: Liming Gao Cc: Jaben Carsey Reviewed-by: Liming Gao --- diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py index 44cc8f63d0..2fbbad114c 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -24,7 +24,7 @@ from uuid import UUID from Common.BuildToolError import * from Common import EdkLogger -from Common.Misc import PathClass, tdict +from Common.Misc import PathClass, tdict, ProcessDuplicatedInf from Common.StringUtils import NormPath, ReplaceMacro from Common import GlobalData from Common.Expression import * @@ -2416,8 +2416,12 @@ class FdfParser: if ErrorCode != 0: EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo) - if not ffsInf.InfFileName in self.Profile.InfList: - self.Profile.InfList.append(ffsInf.InfFileName) + NewFileName = ffsInf.InfFileName + if ffsInf.OverrideGuid: + NewFileName = ProcessDuplicatedInf(PathClass(ffsInf.InfFileName,GenFdsGlobalVariable.WorkSpaceDir), ffsInf.OverrideGuid, GenFdsGlobalVariable.WorkSpaceDir).Path + + if not NewFileName in self.Profile.InfList: + self.Profile.InfList.append(NewFileName) FileLineTuple = GetRealFileLine(self.FileName, self.CurrentLineNumber) self.Profile.InfFileLineList.append(FileLineTuple) if ffsInf.UseArch: @@ -4346,8 +4350,12 @@ class FdfParser: if ErrorCode != 0: EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo) - if not ffsInf.InfFileName in self.Profile.InfList: - self.Profile.InfList.append(ffsInf.InfFileName) + NewFileName = ffsInf.InfFileName + if ffsInf.OverrideGuid: + NewFileName = ProcessDuplicatedInf(PathClass(ffsInf.InfFileName,GenFdsGlobalVariable.WorkSpaceDir), ffsInf.OverrideGuid, GenFdsGlobalVariable.WorkSpaceDir).Path + + if not NewFileName in self.Profile.InfList: + self.Profile.InfList.append(NewFileName) FileLineTuple = GetRealFileLine(self.FileName, self.CurrentLineNumber) self.Profile.InfFileLineList.append(FileLineTuple) if ffsInf.UseArch: