From: Yonghong Zhu Date: Tue, 19 Jun 2018 01:08:41 +0000 (+0800) Subject: BaseTools: Enhance BaseTools supports FeaturePcd usage in VFR file X-Git-Tag: edk2-stable201903~1555 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=58cf30f71f03bcf2fbf369d51e05c8f17176e129;hp=c91fb6b4fc8b484e13ba180fa12c6736908d8017 BaseTools: Enhance BaseTools supports FeaturePcd usage in VFR file Bugzilla 348 only fixed FixedAtBuild Pcd type, now this patch also add support for FeaturePcd type. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=348 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu Reviewed-by: Liming Gao --- diff --git a/BaseTools/Source/Python/AutoGen/GenC.py b/BaseTools/Source/Python/AutoGen/GenC.py index ae3af085a1..5b24ae5fc4 100644 --- a/BaseTools/Source/Python/AutoGen/GenC.py +++ b/BaseTools/Source/Python/AutoGen/GenC.py @@ -2095,15 +2095,16 @@ def CreateCode(Info, AutoGenC, AutoGenH, StringH, UniGenCFlag, UniGenBinBuffer, GuidMacros.append('#define %s %s' % (Guid, Info.Module.Guids[Guid])) for Guid, Value in Info.Module.Protocols.items() + Info.Module.Ppis.items(): GuidMacros.append('#define %s %s' % (Guid, Value)) - # supports FixedAtBuild usage in VFR file + # supports FixedAtBuild and FeaturePcd usage in VFR file if Info.VfrFileList and Info.ModulePcdList: GuidMacros.append('#define %s %s' % ('FixedPcdGetBool(TokenName)', '_PCD_VALUE_##TokenName')) GuidMacros.append('#define %s %s' % ('FixedPcdGet8(TokenName)', '_PCD_VALUE_##TokenName')) GuidMacros.append('#define %s %s' % ('FixedPcdGet16(TokenName)', '_PCD_VALUE_##TokenName')) GuidMacros.append('#define %s %s' % ('FixedPcdGet32(TokenName)', '_PCD_VALUE_##TokenName')) GuidMacros.append('#define %s %s' % ('FixedPcdGet64(TokenName)', '_PCD_VALUE_##TokenName')) + GuidMacros.append('#define %s %s' % ('FeaturePcdGet(TokenName)', '_PCD_VALUE_##TokenName')) for Pcd in Info.ModulePcdList: - if Pcd.Type == TAB_PCDS_FIXED_AT_BUILD: + if Pcd.Type in [TAB_PCDS_FIXED_AT_BUILD, TAB_PCDS_FEATURE_FLAG]: TokenCName = Pcd.TokenCName Value = Pcd.DefaultValue if Pcd.DatumType == 'BOOLEAN':