Branch: refs/heads/master Home: https://github.com/tianocore/edk2 Commit: ede54e3588173178ec054b5c4dc181d3c63872b2 https://github.com/tianocore/edk2/commit/ede54e3588173178ec054b5c4dc181d3c63872b2 Author: Shi, Steven <steven....@intel.com> Date: 2019-06-17 (Mon, 17 Jun 2019)
Changed paths: M BaseTools/Source/Python/AutoGen/AutoGen.py Log Message: ----------- BaseTools:Build cache cannot store the cache files for library package BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1867 Current build cache cannot store the cache for library package. build -p MdePkg\MdePkg.dsc -a IA32 -b DEBUG -t VS2015x86 --hash --binary-destination=BinCache After build, the expected result is the BinCache folder is generated and the MdePkg build cache files (e.g. .hash and .lib) are stored in the BinCache folder. But the BinCache folder is not generated at all. This patch is going to fix that issue. Cc: Liming Gao <liming....@intel.com> Cc: Bob Feng <bob.c.f...@intel.com> Cc: Zhiju.Fan <zhijux....@intel.com> Signed-off-by: Steven Shi <steven....@intel.com> Reviewed-by: Bob Feng <bob.c.f...@intel.com> Commit: 04df18535caae11d19686d8f14b5e24a8e67ce31 https://github.com/tianocore/edk2/commit/04df18535caae11d19686d8f14b5e24a8e67ce31 Author: Shi, Steven <steven....@intel.com> Date: 2019-06-17 (Mon, 17 Jun 2019) Changed paths: M BaseTools/Source/Python/build/build.py Log Message: ----------- BaseTools:Build Cache output notification message BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1868 Build need output the cache miss or hit notification message when consume the build cache. Current build does not output any message which is not clear for user to know whether the module built result is from cache or not. This patch adds message about the cache miss or hit when build consumes the cache. Cc: Liming Gao <liming....@intel.com> Cc: Bob Feng <bob.c.f...@intel.com> Cc: Zhiju.Fan <zhijux....@intel.com> Signed-off-by: Steven Shi <steven....@intel.com> Reviewed-by: Bob Feng <bob.c.f...@intel.com> Commit: 17b082ce67ded226916438fa2979b66472e87638 https://github.com/tianocore/edk2/commit/17b082ce67ded226916438fa2979b66472e87638 Author: Shi, Steven <steven....@intel.com> Date: 2019-06-17 (Mon, 17 Jun 2019) Changed paths: M BaseTools/Source/Python/AutoGen/AutoGen.py Log Message: ----------- BaseTools: Cannot store library cache of different arch together https://bugzilla.tianocore.org/show_bug.cgi?id=1895 Build cache cannot store cache for the same library modules in different arch together. E.g. Both the below IA32 and X64 arch BaseLib caches should exist after build Ovmf3264, but now only the one in X64 arch exist. The reason is the current Basetool use a set() to same all library AutoGen objects, but the different arch lib AutoGen objects have same __hash_ value which comes from the lib MetaFile(The path of module file): def __hash__(self): return hash(self.MetaFile) So the different arch lib AutoGen objects are duplicated one to the set() and only one can exist. This is why the Basetool can only store one arch cache for library. This patch adds the arch string into the PlatformAutoGen and ModuleAutoGen __hash_ definitions and ensure the different platform and module AutoGen objects have different __hash_ values. Cc: Liming Gao <liming....@intel.com> Cc: Bob Feng <bob.c.f...@intel.com> Cc: Christian Rodriguez <christian.rodrig...@intel.com> Signed-off-by: Steven Shi <steven....@intel.com> Reviewed-by: Bob Feng <bob.c.f...@intel.com> Commit: 2378ea55151eef8284b4cf35e95b058b0e591ea0 https://github.com/tianocore/edk2/commit/2378ea55151eef8284b4cf35e95b058b0e591ea0 Author: Shi, Steven <steven....@intel.com> Date: 2019-06-17 (Mon, 17 Jun 2019) Changed paths: M BaseTools/Source/Python/AutoGen/AutoGen.py M BaseTools/Source/Python/Common/LongFilePathOs.py M BaseTools/Source/Python/Common/Misc.py Log Message: ----------- BaseTools:Introduce CopyFileOnChange() function to copy cache files BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1894 Basetool need a CopyFileOnChange() function to avoid cache file writing race in multi-thread build. Some platforms build fail with file IO writing race issue when the build cache is enabled to store cache files in multi-threads. This is because common same library cache files (e.g. some libs in MdePkg) can be stored by many different driver modules' build threads at same time. Current build cache need a function to check whether the same cache file already exist, and only copy source file if it is different from the destination file. This patch introduces an atomic copy function to avoid duplicated cache files copy. Cc: Liming Gao <liming....@intel.com> Cc: Bob Feng <bob.c.f...@intel.com> Cc: Christian Rodriguez <christian.rodrig...@intel.com> Signed-off-by: Steven Shi <steven....@intel.com> Reviewed-by: Bob Feng <bob.c.f...@intel.com> Compare: https://github.com/tianocore/edk2/compare/84f736a73e7a...2378ea55151e _______________________________________________ edk2-commits mailing list edk2-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-commits