Bob: This fix is clear. Reviewed-by: Liming Gao <liming....@intel.com>
Thanks Liming > -----Original Message----- > From: Leif Lindholm [mailto:leif.lindh...@linaro.org] > Sent: Wednesday, August 28, 2019 10:01 PM > To: devel@edk2.groups.io; Feng, Bob C <bob.c.f...@intel.com> > Cc: Gao, Liming <liming....@intel.com> > Subject: Re: [edk2-devel] [Patch][edk2-stable201908] BaseTools: Fixed > regression issue for building !x86 builds > > On Wed, Aug 28, 2019 at 05:17:10PM +0800, Bob Feng wrote: > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2134 > > > > This patch is to fix a build tool regression issue which > > was introduced by commit e8449e1d8e. > > > > In commit e8449e1d8e, build tool check the pcd before > > filter out the irrelevant library instance. > > > > The logic of evaluating the priority of the library class > > resolutions was not changed. > > Ah, OK, that greatly simplifies things. > > This resolves the issue(s) for me - thanks! > > > Cc: Liming Gao <liming....@intel.com> > > Signed-off-by: Bob Feng <bob.c.f...@intel.com> > > Acked-by: Leif Lindholm <leif.lindh...@linaro.org> > Tested-by: Leif Lindholm <leif.lindh...@linaro.org> > > > > --- > > .../Source/Python/Workspace/InfBuildData.py | 29 ++++++++++--------- > > 1 file changed, 16 insertions(+), 13 deletions(-) > > > > diff --git a/BaseTools/Source/Python/Workspace/InfBuildData.py > > b/BaseTools/Source/Python/Workspace/InfBuildData.py > > index e63246b03b..7675b0ea00 100644 > > --- a/BaseTools/Source/Python/Workspace/InfBuildData.py > > +++ b/BaseTools/Source/Python/Workspace/InfBuildData.py > > @@ -154,12 +154,11 @@ class InfBuildData(ModuleBuildClassObject): > > self._PcdComments = None > > self._BuildOptions = None > > self._DependencyFileList = None > > self.LibInstances = [] > > self.ReferenceModules = set() > > - self.Guids > > - self.Pcds > > + > > def SetReferenceModule(self,Module): > > self.ReferenceModules.add(Module) > > return self > > > > ## XXX[key] = value > > @@ -654,10 +653,24 @@ class InfBuildData(ModuleBuildClassObject): > > "Value of Guid [%s] is not found under > > [Guids] section in" % CName, > > ExtraData=PackageList, File=self.MetaFile, > > Line=Record[-1]) > > RetVal[CName] = Value > > CommentRecords = self._RawData[MODEL_META_DATA_COMMENT, > > self._Arch, self._Platform, Record[5]] > > self._GuidComments[CName] = [a[0] for a in CommentRecords] > > + > > + for Type in > [MODEL_PCD_FIXED_AT_BUILD,MODEL_PCD_PATCHABLE_IN_MODULE,MODEL_PCD_FEATURE_FLAG,MODEL_PCD_DYNAMIC,MODEL_PCD > _DYNAMIC_EX]: > > + RecordList = self._RawData[Type, self._Arch, self._Platform] > > + for TokenSpaceGuid, _, _, _, _, _, LineNo in RecordList: > > + # get the guid value > > + if TokenSpaceGuid not in RetVal: > > + Value = GuidValue(TokenSpaceGuid, self.Packages, > > self.MetaFile.Path) > > + if Value is None: > > + PackageList = "\n\t".join(str(P) for P in > > self.Packages) > > + EdkLogger.error('build', RESOURCE_NOT_AVAILABLE, > > + "Value of Guid [%s] is not found > > under [Guids] section in" % TokenSpaceGuid, > > + ExtraData=PackageList, > > File=self.MetaFile, Line=LineNo) > > + RetVal[TokenSpaceGuid] = Value > > + self._GuidsUsedByPcd[TokenSpaceGuid] = Value > > return RetVal > > > > ## Retrieve include paths necessary for this module (for Edk.x style > > of modules) > > @cached_property > > def Includes(self): > > @@ -856,11 +869,11 @@ class InfBuildData(ModuleBuildClassObject): > > if file_name.upper().endswith("DEC"): > > pkg = os.path.join(TopDir,file_name) > > return pkg > > @cached_class_function > > def GetGuidsUsedByPcd(self): > > - self.Pcds > > + self.Guid > > return self._GuidsUsedByPcd > > > > ## Retrieve PCD for given type > > def _GetPcd(self, Type): > > Pcds = OrderedDict() > > @@ -868,20 +881,10 @@ class InfBuildData(ModuleBuildClassObject): > > PcdList = [] > > RecordList = self._RawData[Type, self._Arch, self._Platform] > > for TokenSpaceGuid, PcdCName, Setting, Arch, Platform, Id, LineNo > > in RecordList: > > PcdDict[Arch, Platform, PcdCName, TokenSpaceGuid] = (Setting, > > LineNo) > > PcdList.append((PcdCName, TokenSpaceGuid)) > > - # get the guid value > > - if TokenSpaceGuid not in self.Guids: > > - Value = GuidValue(TokenSpaceGuid, self.Packages, > > self.MetaFile.Path) > > - if Value is None: > > - PackageList = "\n\t".join(str(P) for P in > > self.Packages) > > - EdkLogger.error('build', RESOURCE_NOT_AVAILABLE, > > - "Value of Guid [%s] is not found under > > [Guids] section in" % TokenSpaceGuid, > > - ExtraData=PackageList, > > File=self.MetaFile, Line=LineNo) > > - self.Guids[TokenSpaceGuid] = Value > > - self._GuidsUsedByPcd[TokenSpaceGuid] = Value > > CommentRecords = self._RawData[MODEL_META_DATA_COMMENT, > > self._Arch, self._Platform, Id] > > Comments = [] > > for CmtRec in CommentRecords: > > Comments.append(CmtRec[0]) > > self._PcdComments[TokenSpaceGuid, PcdCName] = Comments > > -- > > 2.20.1.windows.1 > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#46544): https://edk2.groups.io/g/devel/message/46544 Mute This Topic: https://groups.io/mt/33055286/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-