]> git.proxmox.com Git - mirror_edk2.git/commit - BaseTools/Source/Python/AutoGen/GenMake.py
BaseTools: Change the [Arch][Name] module key in Build cache
authorShi, Steven <steven.shi@intel.com>
Thu, 15 Aug 2019 14:26:19 +0000 (22:26 +0800)
committerFeng, Bob C <bob.c.feng@intel.com>
Tue, 20 Aug 2019 06:06:06 +0000 (14:06 +0800)
commitc340c5bd1b3e59ced03bd188981d4fe98aa62cac
tree547109d6dba74b9b6f416e8de681f28b3df2c210
parent56c786b0a9fd4f08b1f0bc10b7718a7577cb0146
BaseTools: Change the [Arch][Name] module key in Build cache

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1951

Current build cache use the module's [self.Arch][self.Name]
info as the ModuleAutoGen object key in hash list and dictionary.
The [self.Arch][self.Name] is not safe as the module key because
there could be two modules with same module name and arch name in
one platform. E.g. A platform can override a module or library
instance in another different path, the overriding module can has
the same module name and arch name as the original one.
Directly use the ModuleAutoGen obj self as the key, because
the obj __hash__ and __repr__ attributes already contain the
full path and arch name.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Signed-off-by: Steven Shi <steven.shi@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
BaseTools/Source/Python/AutoGen/GenMake.py
BaseTools/Source/Python/build/build.py