BaseTools: Remove the duplicate Pcd items

The case is the Pcd item both used in 1 module inf and 1 lib inf, and
in the DSC component section, it override the Pcd value.
In the module, the pcd value is the override value, but in the lib inf
the pcd value is the value that in the DSC PCD section's value, then it
cause the Pcd value is different in the module and lib. but actually we
only need use the Pcd value in the module to decide whether it use the
same value.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Yonghong Zhu 2018-07-13 16:07:06 +08:00
parent 60ee3bd8db
commit d900d7c985
1 changed files with 1 additions and 1 deletions

View File

@ -1292,7 +1292,7 @@ class PlatformAutoGen(AutoGen):
FixedAtBuildPcds = {} FixedAtBuildPcds = {}
ShareFixedAtBuildPcdsSameValue = {} ShareFixedAtBuildPcdsSameValue = {}
for Module in LibAuto._ReferenceModules: for Module in LibAuto._ReferenceModules:
for Pcd in Module.FixedAtBuildPcds + LibAuto.FixedAtBuildPcds: for Pcd in set(Module.FixedAtBuildPcds + LibAuto.FixedAtBuildPcds):
DefaultValue = Pcd.DefaultValue DefaultValue = Pcd.DefaultValue
# Cover the case: DSC component override the Pcd value and the Pcd only used in one Lib # Cover the case: DSC component override the Pcd value and the Pcd only used in one Lib
if Pcd in Module.LibraryPcdList: if Pcd in Module.LibraryPcdList: