|
From: Hauch, L. <lar...@in...> - 2010-04-27 18:38:04
|
Hi Andrew, We will be changing the tools and the FDF spec to remove restrictions on macro usage as well as to allow any item in the DSC [defines] section(s) to be used as a macro, so $(PLATFORM_NAME) will become valid macro. Cheers, Larry "The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter" ________________________________ From: Andrew Fish [mailto:af...@ap...] Sent: Tuesday, April 27, 2010 11:12 AM To: edk...@li... Cc: Hauch, Larry Subject: FDF macro restrictions in the path? It looks like the current FDF specification allows macro's from the DSC file to be used in the FDF file, but not in PATH statements? We have a usage case where we would like to use $(PLATFORM_NAME) in a path and we realized it was not legal. We would like to ask that the macro expansion for path restriction be removed in the next version of the FDF specification. It seems like if macros are going to be supported in the FDF file in general that supporting those same macros in a path would not be a big burden to the tools? Please let us know if this can be added to the next version of the specification or included as an errata feature? Note: Macro definitions from the DSC file's [defines] section may also be used in the FDF file without having to redefine them here. Table 2. Valid Variable Names for PATH statements Exact Notation Derivation $(WORKSPACE) System Environment Variable. $(EDK_SOURCE) System Environment Variable. $(EFI_SOURCE) System Environment Variable. $(OUTPUT_DIRECTORY) Tool parsing from either the DSC file or via a command line option. $(BUILD_NUMBER) Tool parsing from either an EDK INF file or the EDK II DSC file's BUILD_NUMBER statement. The EDK II DSC file's BUILD_NUMBER takes precedence over an EDK INF file's BUILD_NUMBER if and only if the EDK II DSC specifies a BUILD_NUMBER. Future implementation may allow for setting the BUILD_NUMBER variable on the build tool's command line. $(NAMED_GUID) Tool parsing FILE_GUID statement in the INF file. $(MODULE_NAME) Tool parsing the BASE_NAME statement in the INF file. $(INF_VERSION) Tool parsing the VERSION or VERSION_STRING statement in the INF file. $(TARGET) Valid values are derived from INF, DSC, target.txt and tools_def.txt. FDF parsing tools may obtain these values from command-line options. $(TOOL_CHAIN_TAG) Valid values are derived from INF, DSC, target.txt and tools_def.txt. FDF parsing tools may obtain these values from command-line options. $(ARCH) Valid values are derived from INF, DSC, target.txt and tools_def.txt. FDF parsing tools may obtain these values from command-line opt Note: Recommendation: Do not use the $(ARCH) variable in the FDF file unless absolutely necessary. Additionally, the macros may be used in conditional directive statements located within the FDF file. All MACRO definitions in the FDF file are local to the FDF file. Specific usage of these values within each FDF section is specified in chapter 3 of this document. Andrew Fish |