diff options
author | Yonghong Zhu <yonghong.zhu@intel.com> | 2018-03-23 11:39:39 +0800 |
---|---|---|
committer | Yonghong Zhu <yonghong.zhu@intel.com> | 2018-04-10 13:59:06 +0800 |
commit | f9fa014ee01cd8ecda091e1c1d9cb09724957e72 (patch) | |
tree | 7103c251cc8bf372c8757a23dc027006201ec1d5 | |
parent | c33081c912968da46fd6f0c7d2d2e52b7b410626 (diff) | |
download | edk2-f9fa014ee01cd8ecda091e1c1d9cb09724957e72.tar.gz edk2-f9fa014ee01cd8ecda091e1c1d9cb09724957e72.tar.bz2 edk2-f9fa014ee01cd8ecda091e1c1d9cb09724957e72.zip |
BaseTools: Fix two cases that use GUID CName as PCD Value
1. use CName format in components section:
[Components]
TestPkg/TestDriver.inf {
<PcdsFixedAtBuild>
PcdToken.PcdName |{GUID(TestGuid)}|VOID*|16
}
2. Use Guid CName format in INF and the Guid is defined in the DEC
file but not write in driver's [Guids] section.
PcdToken.PcdName | {GUID(TestGuid)}
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
-rw-r--r-- | BaseTools/Source/Python/AutoGen/AutoGen.py | 5 | ||||
-rw-r--r-- | BaseTools/Source/Python/Workspace/InfBuildData.py | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py index dfc5b10569..9280ae4c7d 100644 --- a/BaseTools/Source/Python/AutoGen/AutoGen.py +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py @@ -410,7 +410,8 @@ class WorkspaceAutoGen(AutoGen): # apply SKU and inject PCDs from Flash Definition file
for Arch in self.ArchList:
Platform = self.BuildDatabase[self.MetaFile, Arch, Target, Toolchain]
-
+ PlatformPcds = Platform.Pcds
+ self._GuidDict = Platform._GuidDict
SourcePcdDict = {'DynamicEx':set(), 'PatchableInModule':set(),'Dynamic':set(),'FixedAtBuild':set()}
BinaryPcdDict = {'DynamicEx':set(), 'PatchableInModule':set()}
SourcePcdDict_Keys = SourcePcdDict.keys()
@@ -2790,7 +2791,7 @@ class ModuleAutoGen(AutoGen): self.Workspace = Workspace
self.WorkspaceDir = Workspace.WorkspaceDir
-
+ self._GuidDict = Workspace._GuidDict
self.MetaFile = ModuleFile
self.PlatformInfo = PlatformAutoGen(Workspace, PlatformFile, Target, Toolchain, Arch)
diff --git a/BaseTools/Source/Python/Workspace/InfBuildData.py b/BaseTools/Source/Python/Workspace/InfBuildData.py index a7ffd43a09..e10873ae59 100644 --- a/BaseTools/Source/Python/Workspace/InfBuildData.py +++ b/BaseTools/Source/Python/Workspace/InfBuildData.py @@ -1050,6 +1050,7 @@ class InfBuildData(ModuleBuildClassObject): #
# "FixedAtBuild", "PatchableInModule", "FeatureFlag", "Dynamic", "DynamicEx"
#
+ self.Guids.update(Package.Guids)
PcdType = self._PCD_TYPE_STRING_[Type]
if Type == MODEL_PCD_DYNAMIC:
Pcd.Pending = True
|