summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFeng, Bob C <bob.c.feng@intel.com>2018-10-26 22:34:52 +0800
committerLiming Gao <liming.gao@intel.com>2018-10-27 15:28:27 +0800
commit7a283cb3f0034600d3f9a0c6ff7928a5c92856d1 (patch)
treef64e4ff23f0a0b16c295b8f356a98cc3930c3fc2
parent3da7d99506a7f4843af37a283640bed4b17a4f09 (diff)
downloadedk2-7a283cb3f0034600d3f9a0c6ff7928a5c92856d1.tar.gz
edk2-7a283cb3f0034600d3f9a0c6ff7928a5c92856d1.tar.xz
edk2-7a283cb3f0034600d3f9a0c6ff7928a5c92856d1.zip
BaseTools: Rollback Filter out unused structure pcds
This reverts commit 51d17bb7b0da0d9c9e91c226f1982d7020f43795. commit 51d17bb7b0da0d9c9e91c226f1982d7020f43795 adds new check of Pcds in the platform unused library INF files. It breaks the existing platform. To avoid the impact, roll back this change first. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob C Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
-rw-r--r--BaseTools/Source/Python/Workspace/DscBuildData.py19
1 files changed, 0 insertions, 19 deletions
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index 9882a36df8..6d596b2b54 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -282,7 +282,6 @@ class DscBuildData(PlatformBuildClassObject):
self._VpdToolGuid = None
self._MacroDict = None
self.DefaultStores = None
- self.UsedStructurePcd = None
## handle Override Path of Module
def _HandleOverridePath(self):
@@ -1470,7 +1469,6 @@ class DscBuildData(PlatformBuildClassObject):
else:
str_pcd_obj_str.DefaultFromDSC = {skuname:{defaultstore: str_pcd_obj.SkuInfoList[skuname].DefaultStoreDict.get(defaultstore, str_pcd_obj.SkuInfoList[skuname].DefaultValue) for defaultstore in DefaultStores} for skuname in str_pcd_obj.SkuInfoList}
S_pcd_set[Pcd] = str_pcd_obj_str
- self.FilterStrcturePcd(S_pcd_set)
if S_pcd_set:
GlobalData.gStructurePcd[self.Arch] = S_pcd_set
for stru_pcd in S_pcd_set.values():
@@ -1566,23 +1564,6 @@ class DscBuildData(PlatformBuildClassObject):
map(self.FilterSkuSettings, [Pcds[pcdkey] for pcdkey in Pcds if Pcds[pcdkey].Type in DynamicPcdType])
return Pcds
- #Filter the StrucutrePcd that is not used by any module in dsc file and fdf file.
- def FilterStrcturePcd(self, S_pcd_set):
- if not self.UsedStructurePcd:
- FdfInfList = []
- if GlobalData.gFdfParser:
- FdfInfList = GlobalData.gFdfParser.Profile.InfList
- FdfModuleList = [PathClass(NormPath(Inf), GlobalData.gWorkspace, Arch=self._Arch) for Inf in FdfInfList]
- AllModulePcds = set()
- ModuleSet = set(self._Modules.keys() + self.LibraryInstances + FdfModuleList)
- for ModuleFile in ModuleSet:
- ModuleData = self._Bdb[ModuleFile, self._Arch, self._Target, self._Toolchain]
- AllModulePcds = AllModulePcds | set(ModuleData.Pcds.keys())
-
- self.UsedStructurePcd = AllModulePcds
- UnusedStruPcds = set(S_pcd_set.keys()) - self.UsedStructurePcd
- for (Token, TokenSpaceGuid) in UnusedStruPcds:
- del S_pcd_set[(Token, TokenSpaceGuid)]
## Retrieve non-dynamic PCD settings
#