Hi Can we have better way to describe the binary cache? I have 2 concern: 1) we have other type of binary besides MCB. How can we indicate that without update base tool source code ? 2) .inc might be text file, instead of binary. How can we support that?
Thank you Yao Jiewen > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Steven Shi > Sent: Wednesday, May 8, 2019 10:00 PM > To: devel@edk2.groups.io > Cc: Feng, Bob C <bob.c.f...@intel.com>; Gao, Liming > <liming....@intel.com>; Rodriguez, Christian > <christian.rodrig...@intel.com>; Johnson, Michael > <michael.john...@intel.com> > Subject: [edk2-devel] [PATCH] BaseTools: Skip .mcb file module in Binary > Cache > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1723 > > Current Kabylake open platform will build fail if enabled > to consume the binary cache, because the binary cache doesn't > support to recovery the .mcb microcode file, > e.g. m80406E8_00000026.mcb, in a platform level folder which > is outside of the module output folder. In normal build > without cache, the .mcb file is copied through OS copy/move > commands defined in build rules which are not supported by > Binary Cache. > Change the Binary Cache to skip the .mcb file type module and > always rebuild the module to apply the full build rules if > it contains .mcb file. > --- > BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py > b/BaseTools/Source/Python/AutoGen/AutoGen.py > index 31721a6f9f..6b596c8a65 100644 > --- a/BaseTools/Source/Python/AutoGen/AutoGen.py > +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py > @@ -3925,9 +3925,9 @@ class ModuleAutoGen(AutoGen): > # If library or Module is binary do not skip by hash > if self.IsBinaryModule: > return False > - # .inc is contains binary information so do not skip by hash as well > + # .inc and .mcb is contains binary information so do not skip by > hash as well > for f_ext in self.SourceFileList: > - if '.inc' in str(f_ext): > + if '.inc' in str(f_ext) or '.mcb' in str(f_ext): > return False > FileDir = path.join(GlobalData.gBinCacheSource, > self.PlatformInfo.Name, self.BuildTarget + "_" + self.ToolChain, self.Arch, > self.SourceDir, self.MetaFile.BaseName) > HashFile = path.join(FileDir, self.Name + '.hash') > @@ -4138,9 +4138,9 @@ class ModuleAutoGen(AutoGen): > # If library or Module is binary do not skip by hash > if self.IsBinaryModule: > return False > - # .inc is contains binary information so do not skip by hash as well > + # .inc or '.mcb' is contains binary information so do not skip by > hash as well > for f_ext in self.SourceFileList: > - if '.inc' in str(f_ext): > + if '.inc' in str(f_ext) or '.mcb' in str(f_ext): > return False > if GlobalData.gUseHashCache: > # If there is a valid hash or function generated a valid hash; > function will return False > -- > 2.17.1.windows.2 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40265): https://edk2.groups.io/g/devel/message/40265 Mute This Topic: https://groups.io/mt/31552068/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-