Re: [edk2] [Patch] BaseTools: Remove the duplicate Pcd items

2018-07-17 Thread Gao, Liming
Reviewed-by: Liming Gao 

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Yonghong Zhu
> Sent: Tuesday, July 17, 2018 10:04 AM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [Patch] 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 
> ---
>  BaseTools/Source/Python/AutoGen/AutoGen.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py 
> b/BaseTools/Source/Python/AutoGen/AutoGen.py
> index 289309f..cf53c2b 100644
> --- a/BaseTools/Source/Python/AutoGen/AutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
> @@ -1289,11 +1289,11 @@ class PlatformAutoGen(AutoGen):
>  def CollectFixedAtBuildPcds(self):
>  for LibAuto in self.LibraryAutoGenList:
>  FixedAtBuildPcds = {}
>  ShareFixedAtBuildPcdsSameValue = {}
>  for Module in LibAuto._ReferenceModules:
> -for Pcd in Module.FixedAtBuildPcds + 
> LibAuto.FixedAtBuildPcds:
> +for Pcd in set(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
> --
> 2.6.1.windows.1
> 
> ___
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [Patch] BaseTools: Remove the duplicate Pcd items

2018-07-16 Thread Yonghong Zhu
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 
---
 BaseTools/Source/Python/AutoGen/AutoGen.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py 
b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 289309f..cf53c2b 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -1289,11 +1289,11 @@ class PlatformAutoGen(AutoGen):
 def CollectFixedAtBuildPcds(self):
 for LibAuto in self.LibraryAutoGenList:
 FixedAtBuildPcds = {}
 ShareFixedAtBuildPcdsSameValue = {}
 for Module in LibAuto._ReferenceModules:
-for Pcd in Module.FixedAtBuildPcds + LibAuto.FixedAtBuildPcds:
+for Pcd in set(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
-- 
2.6.1.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel