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 <[email protected]> Cc: Liming Gao <[email protected]> Cc: Ard Biesheuvel <[email protected]> Cc: Star Zeng <[email protected]> Cc: Eric Dong <[email protected]> -- 2.11.0 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

