public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] BaseTools: Skip .mcb file module in Binary Cache
@ 2019-05-09  4:59 Steven Shi
  2019-05-09  5:13 ` [edk2-devel] " Yao, Jiewen
  0 siblings, 1 reply; 7+ messages in thread
From: Steven Shi @ 2019-05-09  4:59 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, christian.rodriguez, michael.johnson

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


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-05-09 14:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-09  4:59 [PATCH] BaseTools: Skip .mcb file module in Binary Cache Steven Shi
2019-05-09  5:13 ` [edk2-devel] " Yao, Jiewen
2019-05-09  5:47   ` Liming Gao
2019-05-09  5:53     ` Steven Shi
2019-05-09 12:34       ` Yao, Jiewen
2019-05-09 14:04         ` Liming Gao
2019-05-09 14:22           ` Yao, Jiewen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox