12.5 Platform Specific ASL Tools
The platform ACPI compilers are not all backward compatible. Typically, an ASL compiler is selected based on the ACPI version and features that are required by the platform. Different flags may also be required for different releases of the ASL compilers. One method for using different versions of the ASL compilers on Windows* systems is presented here.
The EDK II build tools expect the Microsoft ASL compilers (asl.exe) and the
Intel/ACPI compiler (iasl.exe) to be located in the C:\ASL directory of the
developer's workstation. This path and the compiler names are also coded in the
tools_def.txt
file. Name the compiler binaries using the ACPI Spec compliance
value, for example, C:\ASL\iasl3a.exe
and C:\ASL\iasl5.exe
.
Use the [BuildOptions]
section of the platform's DSC file to override the
default values in the tools_def.txt
file as shown below.
Platform1 DSC requiring ACPI 3a compliance
[BuildOptions]
*_*_*_ASL_PATH == C:\ASL\iasl3a.exe
Platform2 DSC requiring ACPI 5 compliance
[BuildOptions]
*_*_*_ASL_PATH == C:\ASL\iasl5.exe
*_*_*_ASL_FLAGS = -cr
The "==" means replace the ASL compiler specified by the PATH
attribute in
the tools_def.txt
file with this ASL compiler.
The "=" means to append the flags to the flags specified in the FLAGS
attribute in the tools_def.txt
file.
No changes are required to any other files or tools in order for this method to work. Other tools may also benefit from this build system flexibility.