mirror of https://github.com/acidanthera/audk.git
BaseTools: Fix the bug that incorrect size info in the Lib autogen
The case is a PCD used in one library only, and in DSC component section the PCD value is override in one of module inf. Then it cause the bug the PCD size in the Lib autogen use the PCD value in the DSC PCD section, but not use the override 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:
parent
d7634dc0c5
commit
9edba51f93
|
@ -1293,12 +1293,17 @@ class PlatformAutoGen(AutoGen):
|
||||||
ShareFixedAtBuildPcdsSameValue = {}
|
ShareFixedAtBuildPcdsSameValue = {}
|
||||||
for Module in LibAuto._ReferenceModules:
|
for Module in LibAuto._ReferenceModules:
|
||||||
for Pcd in Module.FixedAtBuildPcds + LibAuto.FixedAtBuildPcds:
|
for Pcd in Module.FixedAtBuildPcds + LibAuto.FixedAtBuildPcds:
|
||||||
|
DefaultValue = Pcd.DefaultValue
|
||||||
|
# Cover the case: DSC component override the Pcd value and the Pcd only used in one Lib
|
||||||
|
if Pcd in Module.LibraryPcdList:
|
||||||
|
Index = Module.LibraryPcdList.index(Pcd)
|
||||||
|
DefaultValue = Module.LibraryPcdList[Index].DefaultValue
|
||||||
key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))
|
key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))
|
||||||
if key not in FixedAtBuildPcds:
|
if key not in FixedAtBuildPcds:
|
||||||
ShareFixedAtBuildPcdsSameValue[key] = True
|
ShareFixedAtBuildPcdsSameValue[key] = True
|
||||||
FixedAtBuildPcds[key] = Pcd.DefaultValue
|
FixedAtBuildPcds[key] = DefaultValue
|
||||||
else:
|
else:
|
||||||
if FixedAtBuildPcds[key] != Pcd.DefaultValue:
|
if FixedAtBuildPcds[key] != DefaultValue:
|
||||||
ShareFixedAtBuildPcdsSameValue[key] = False
|
ShareFixedAtBuildPcdsSameValue[key] = False
|
||||||
for Pcd in LibAuto.FixedAtBuildPcds:
|
for Pcd in LibAuto.FixedAtBuildPcds:
|
||||||
key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))
|
key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))
|
||||||
|
|
Loading…
Reference in New Issue