mirror_edk2/BaseTools/Source/Python
Shi, Steven 17b082ce67 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.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Christian Rodriguez <christian.rodriguez@intel.com>
Signed-off-by: Steven Shi <steven.shi@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
2019-06-17 17:00:45 +08:00
..
AutoGen BaseTools: Cannot store library cache of different arch together 2019-06-17 17:00:45 +08:00
BPDG BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
build BaseTools:Build Cache output notification message 2019-06-17 17:00:45 +08:00
Capsule BaseTools:Coding problems cause can not encode FMP Auth Header 2019-04-16 13:14:14 +08:00
Common BaseTools: Refactor hash tracking after checking for Sources section 2019-06-10 19:48:51 +08:00
CommonDataClass BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Ecc BaseTools:ECC report errors on account of analyze special characters 2019-05-08 09:41:42 +08:00
Eot BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
GenFds BaseTools:Make BaseTools support new rules to generate RAW FFS FILE 2019-06-10 19:48:50 +08:00
GenPatchPcdTable BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
PatchPcdValue BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Pkcs7Sign BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Rsa2048Sha256Sign BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Table BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
TargetTool BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Trim BaseTools:Update mailing list address in BaseTools error messages 2019-05-22 09:15:55 +08:00
UPT BaseTools:Update mailing list address in BaseTools error messages 2019-05-22 09:15:55 +08:00
Workspace BaseTools: Correct the value assignment for StructurePcd 2019-05-10 17:06:44 +08:00
GNUmakefile BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Makefile BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
sitecustomize.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00