The set of variable attribute definitions in <Uefi/UefiMultiPhase.h> is used by C code, but VfrCompile has no way of dealing with structs or typedefs, and the VFRPP rules generate (and depend on) preprocessing with C rules.
There may be neater ways of dealing with this, but a simple solution is to break the #defines into a separate header and include this both in UefiMultiPhase.h and directly in .vfr source. Leif Lindholm (3): MdePkg: break #defines out of Uefi/UefiMultiPhase.h MdeModulePkg: use central variable definitions in DriverSampleDxe EmbeddedPkg: use central variable definitions in .vfr files EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr | 9 +---- EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr | 9 +---- MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr | 9 +---- MdePkg/Include/Uefi/UefiMultiPhase.h | 23 +----------- MdePkg/Include/Uefi/UefiMultiPhaseDefinitions.h | 39 ++++++++++++++++++++ 5 files changed, 44 insertions(+), 45 deletions(-) create mode 100644 MdePkg/Include/Uefi/UefiMultiPhaseDefinitions.h Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <liming....@intel.com> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Star Zeng <star.z...@intel.com> Cc: Eric Dong <eric.d...@intel.com> -- 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel