<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/BaseTools/BinWrappers, branch dependabot/github_actions/actions/github-script-9</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-02-11T22:53:29+00:00</updated>
<entry>
<title>Revert "BaseTools: Add support for out-of-tree builds"</title>
<updated>2026-02-11T22:53:29+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-02-11T18:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=12f785f106216eedbedb02427255e257d506367f'/>
<id>urn:sha1:12f785f106216eedbedb02427255e257d506367f</id>
<content type='text'>
This reverts commit 3fe1d56cc98e011bbde8348f13dfa5e38c95f49e.

PR https://github.com/tianocore/edk2/pull/11757 introduced a
"Breaking Change" feature for out of tree builds of tools.

This breaking change is blocking testing of edk2-stable202602
due to side effects on building FitGen tool in edk2-platforms.

Revert this feature for the edk2-stable202602 release and
work on this feature after the release.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Add support for out-of-tree builds</title>
<updated>2026-02-02T08:56:31+00:00</updated>
<author>
<name>Oleksandr Tymoshenko</name>
<email>ovt@google.com</email>
</author>
<published>2025-10-25T00:18:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3fe1d56cc98e011bbde8348f13dfa5e38c95f49e'/>
<id>urn:sha1:3fe1d56cc98e011bbde8348f13dfa5e38c95f49e</id>
<content type='text'>
Main EDK2 build supports out-of-tree builds but BaseTools make process
still creates tools and object files in-tree. In order to make
out-of-tree build support complete move the generated tools and
interim obj files to $WORKSPACE location as well.

This patch also changes the location of BaseTools for in-tree builds
(default behavior when WORKSPACE is not provided before calling
edksetup) to $WORKSPACE/BaseTools/Build/... It may potentially break
external workflows that invoke tools from the default location outside
of the build tool.

Signed-off-by: Oleksandr Tymoshenko &lt;ovt@google.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Refactor shell BinWrappers/PosixLike wrappers</title>
<updated>2026-02-02T08:56:31+00:00</updated>
<author>
<name>Oleksandr Tymoshenko</name>
<email>ovt@google.com</email>
</author>
<published>2025-11-12T01:03:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f39883ea115f4aef8fe1df4b83b9c33439deca33'/>
<id>urn:sha1:f39883ea115f4aef8fe1df4b83b9c33439deca33</id>
<content type='text'>
- Move common wrapper logic for multiple tools to GenericShellWrapper
  file
- Drop search for BaseToolsCBinaries from the list of checked
  directories. This case has been broken for quite a while since the
  exec clause never passed command arguments to the supposed binary.
- Remove a suggestion to run make in $EDK_TOOLS_PATH/Source/C and let
  the wrapper fail if the directory exists but no binary is present.

Signed-off-by: Oleksandr Tymoshenko &lt;ovt@google.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Add FMMT Python Tool</title>
<updated>2022-05-06T04:22:21+00:00</updated>
<author>
<name>Chen, Christine</name>
<email>Yuwei.Chen@intel.com</email>
</author>
<published>2022-04-28T12:49:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a64b944942d828fe98e4843929662aad7f47bcca'/>
<id>urn:sha1:a64b944942d828fe98e4843929662aad7f47bcca</id>
<content type='text'>
The FMMT python tool is used for firmware files operation, which has
the Fv/FFs-based 'View'&amp;'Add'&amp;'Delete'&amp;'Replace' operation function:

1.Parse a FD(Firmware Device) / FV(Firmware Volume) / FFS(Firmware Files)
2.Add a new FFS into a FV file (both included in a FD file or not)
3.Replace an FFS in a FV file with a new FFS file
4.Delete an FFS in a FV file (both included in a FD file or not)
5.Extract the FFS from a FV file (both included in a FD file or not)

This version of FMMT Python tool does not support PEIM rebase feature,
this feature will be added in future update.

Currently the FMMT C tool is saved in edk2-staging repo, but its
quality and coding style can't meet the Edk2 quality, which is hard to
maintain (Hard/Duplicate Code; Regression bugs; Restrict usage).

The new Python version keeps same functions with origin C version. It
has higher quality and better coding style, and it is much easier to
extend new functions and to maintain.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1847
RFC Link: https://edk2.groups.io/g/devel/message/82877
Staging Link: https://github.com/tianocore/edk2-staging/tree/PyFMMT

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Signed-off-by: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
Acked-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>BaseTools: Fix BrotliCompress run issue on Linux</title>
<updated>2021-02-22T09:51:17+00:00</updated>
<author>
<name>Yunhua Feng</name>
<email>fengyunhua@byosoft.com.cn</email>
</author>
<published>2021-02-04T08:36:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=078400ee15e7b250e4dfafd840c2e0c19835e16b'/>
<id>urn:sha1:078400ee15e7b250e4dfafd840c2e0c19835e16b</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3210
BrotliCompress changed, but not completely on Linux

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Signed-off-by: Yunhua Feng &lt;fengyunhua@byosoft.com.cn&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>BaseTools: Use pip module if available, CI uses it by default</title>
<updated>2021-02-09T03:56:37+00:00</updated>
<author>
<name>Matthew Carlson</name>
<email>matthewfcarlson@gmail.com</email>
</author>
<published>2021-02-09T00:50:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1534b6228b0932d745bf6ec9fd4cb010800b92f2'/>
<id>urn:sha1:1534b6228b0932d745bf6ec9fd4cb010800b92f2</id>
<content type='text'>
Use the new edk2-basetools pip module.
Includes a helpful message in setup to let users know which has been
selected.

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;

Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
Reviewed-by: Yuwei &lt;Chen&lt;yuwei.chen@intel.com&gt;

Signed-off-by: Matthew Carlson &lt;matthewfcarlson@gmail.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Convert Split tool to python</title>
<updated>2021-01-21T10:19:09+00:00</updated>
<author>
<name>Bob Feng</name>
<email>bob.c.feng@intel.com</email>
</author>
<published>2021-01-13T03:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5b4a97bbc39ed8e7eb50038b9cffe2e948e49995'/>
<id>urn:sha1:5b4a97bbc39ed8e7eb50038b9cffe2e948e49995</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3165

There are 2 reasons to convert Split tool from C to Python.
1. We are in the process of moving the Basetools Python code
to a separate repository. But there still are many C tools under
edk2/BaseTools. To make all Basetools be in the separate repo,
we can convert the C tools to Python tools.
2. The original Split tool is very slow. This python tool can reduce
90% time.

Signed-off-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;

Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Reviewed-by: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Fix BrotliCompress tool issue</title>
<updated>2020-11-13T06:23:56+00:00</updated>
<author>
<name>Yunhua Feng</name>
<email>fengyunhua@byosoft.com.cn</email>
</author>
<published>2020-11-10T02:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=662b42db76a5b195c3aa94ab2946e342a15cd185'/>
<id>urn:sha1:662b42db76a5b195c3aa94ab2946e342a15cd185</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2946

This is the regression issue in BaseTools BrotliCompress after Brotli
is changed to submodule. BrotliCompress should store the source size
and scratch buffer size into the header of the compressed binary data.
But now, BrotliCompress doesn't store them. So, BrotliDecompress
can't work.

To fix this issue, BrotliCompress tool main() function should be provided.
It needs to support the options of -e, -d, -o file, -g gap, -q level.

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Signed-off-by: Yunhua Feng &lt;fengyunhua@byosoft.com.cn&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>BaseTools: Rename AmlToHex script to AmlToC</title>
<updated>2020-07-02T10:09:17+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>pierre.gondois@arm.com</email>
</author>
<published>2020-07-01T14:06:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=88228db38ead6836da7a8d24e11569d5fab54c54'/>
<id>urn:sha1:88228db38ead6836da7a8d24e11569d5fab54c54</id>
<content type='text'>
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 &lt;Pierre.Gondois@arm.com&gt;
Suggested-by: Tomas Pilar &lt;Tomas.Pilar@arm.com&gt;

Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Script for converting .aml to .hex</title>
<updated>2020-02-06T13:52:11+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>pierre.gondois@arm.com</email>
</author>
<published>2020-02-05T14:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1549651da623aa35c745bd1f283c907324bd6cc9'/>
<id>urn:sha1:1549651da623aa35c745bd1f283c907324bd6cc9</id>
<content type='text'>
The "-tc" option of the iasl compiler allows to generate a
.hex file containing a C array storing AML bytecode.

An online discussion suggested that this "-tc" option
was specific to the iasl compiler and it shouldn't be relied
on. This conversation is available at:
https://edk2.groups.io/g/devel/topic/39786201#49659

A way to address this issue is to implement a compiler
independent script that takes an AML file as input, and
generates a .hex file.

This patch implements a Python script that converts an AML
file to a .hex file, containing a C array storing AML bytecode.
This scipt has been tested with the AML output from the
following compilers supported by the EDKII implementation:
  * Intel ASL compiler
  * Microsoft ASL compiler

Signed-off-by: Pierre Gondois &lt;pierre.gondois@arm.com&gt;
Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
</feed>
