audk/BaseTools/BinWrappers/PosixLike
Pierre Gondois 88228db38e BaseTools: Rename AmlToHex script to AmlToC
The AmlToHex script and Posix/WindowsLike wrappers convert
an AML file to a .hex file, containing a C array storing
AML bytecode. This ".hex" file can then be included in a
C file, allowing to access the AML bytecode from this C
file.

The EDK2 build system doesn't allow to a depict dependency
orders between files of different languages. For instance,
in a module containing a ".c" file and a ".asl", the ".c"
file may or may not be built prior to the ".asl" file.
This prevents any inclusion of a generated ".hex" in a
".c" file since this later ".hex" file may or may not
have been created yet.

This patch renames the script as AmlToC. It is posted as
a separate patch to prevent git from seeing the renaming
as a deletion plus addition of a new file.
The ending line of the posix-like bin-wrapper script has
also been corrected.

This is a first step toward generating a C file containing
the AML bytecode from an ASL file. This C file will then
be handled by the EDK2 build system to generate an object
file.
Thus, no file inclusion will be required anymore. The C file
requiring the AML bytecode as a C array, and the ASL file,
will be compiled independently. The C array must be defined
as an external symbol. The linker is resolving the
reference to the C array symbol.

To summarize, the flow goes as:
 -1. ASL file is compiled to AML;
 -2. AML file is copied to a ".amli" intermediate file;
 -3. EDK2 build system applies the rule relevant to ".amli"
     files. This is, calling the "AmlToC" script, generating
     a C file from the ".amli" file;
 -4. EDK2 build system applies the rule relevant to C files.
     This is creating an object file.
 -5. EDK2 build system links the object file containing the
     AML bytecode with the object file requiring it.

Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Suggested-by: Tomas Pilar <Tomas.Pilar@arm.com>

Reviewed-by: Bob Feng <bob.c.feng@intel.com>
2020-07-02 10:09:17 +00:00
..
AmlToC BaseTools: Rename AmlToHex script to AmlToC 2020-07-02 10:09:17 +00:00
BPDG BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
Brotli BaseTools: Update Brotli and BrotliCompress mode and format 2017-03-31 13:17:00 +08:00
BrotliCompress BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
DevicePath BaseTools: Add DevicePath support for PCD values 2017-12-31 13:10:49 +08:00
Ecc BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
EfiRom BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
GenCrc32 BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
GenDepex BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
GenFds BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
GenFfs BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
GenFv BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
GenFw BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
GenPatchPcdTable BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
GenSec BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
GenerateCapsule BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
LzmaCompress BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
LzmaF86Compress BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
PatchPcdValue BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
Pkcs7Sign BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
Rsa2048Sha256GenerateKeys BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
Rsa2048Sha256Sign BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
Split BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
TargetTool BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
TianoCompress BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
Trim BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
UPT BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
VfrCompile BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
VolInfo BaseTools: Improve shell wrapper for C build commands 2016-01-20 05:12:02 +00:00
build BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00
posix_path_env.yaml BaseTools: Add YAML files with path env and tool extdeps 2019-11-11 13:01:53 -08:00