<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/BaseTools/Source/Python/Workspace/DscBuildData.py, branch trunk</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=trunk</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=trunk'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2024-06-04T03:43:08+00:00</updated>
<entry>
<title>Renormalized end-of-lines from master@27b044605cd5f6b33a3d231576003850b3fe305b</title>
<updated>2024-06-04T03:43:08+00:00</updated>
<author>
<name>kx</name>
<email>kx@radix.pro</email>
</author>
<published>2024-06-04T03:43:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7e2ccccace24636f29ddc210b94606abd4c7e42b'/>
<id>urn:sha1:7e2ccccace24636f29ddc210b94606abd4c7e42b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>BaseTools: Syntax warning invalid escape sequence \C</title>
<updated>2024-02-28T00:23:58+00:00</updated>
<author>
<name>Jayaprakash, N</name>
<email>n.jayaprakash@intel.com</email>
</author>
<published>2024-02-06T07:02:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3e91e421365027ee3e655feab33c67a4f544c777'/>
<id>urn:sha1:3e91e421365027ee3e655feab33c67a4f544c777</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4666

This commit fixes the issue reported through BZ4666.
The Syntax warning related to invalid escape sequence
for \C is seen on Windows OS based builds of edk2 sources.
On Windows the path seperator needs to prefixed with \
so essentially we need to use \\ as path seperator.

Cc: Rebecca Cran &lt;rebecca@bsdio.com&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Laszlo Ersek &lt;lersek@redhat.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Cc: Jayaprakash N &lt;n.jayaprakash@intel.com&gt;
Signed-off-by: Jayaprakash N &lt;n.jayaprakash@intel.com&gt;
Reviewed-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Rebecca Cran &lt;rebecca@bsdio.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Optimize GenerateByteArrayValue and CollectPlatformGuids APIs</title>
<updated>2024-02-08T04:08:38+00:00</updated>
<author>
<name>devel@edk2.groups.io</name>
<email>devel@edk2.groups.io</email>
</author>
<published>2024-02-07T17:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8f316e99ec8de9dea294f6751dd7457f9f1a828c'/>
<id>urn:sha1:8f316e99ec8de9dea294f6751dd7457f9f1a828c</id>
<content type='text'>
During the Incremental build GenerateByteArrayValue used to generate the
ByteArrayValue even when there is no change in the PCD/VPDs. which is
time consuming API based on the number of PCD/VPDs and SKU IDs.

The optimization is that GenerateByteArrayValue is used to store the
StructuredPcdsData in a JSON file for each of the arch. and during the
Incremental build this API will check, if there is any change in the
Structured PCD/VPDs then rest of the flow remains the same.
if there is no change then it will return the provious build data.

Flow:
during the 1st build StructuredPcdsData.json is not exists,
StructuredPcdsData will be dumped to json file. and it will copy the
output.txt as well.
Note: as the output.txt are different for different Arch, so it will be
stored in the Arch folder.
During the Incremental build check if there is any change in Structured
PCD/VPD. if there is a change in Structured VPD/PCD then recreate the
StructuredPcdsData.json, and rest of the flow remains same.
if there is no change in VPD/PCD read the output.txt and return the data

Unit Test:
Test1: Modified the Structured Pcds default from DEC file. current flow
is executing.
Test2: Override the default value of the PCD from DEC file. current flow
is executing.
Test3: Modified/Override the PCD from DSC file. current flow executing
Test4: Modified/Override the FDF from DSC file. current flow executing
Test5: update the default value from Command Line.current flow executing
Test6: Build without change in PCD in DSC, FDF, DEC and Command Line the
proposed changes will be executing, and the return data remains the same
with and without the changes.
Test7: Build with and without modified the include headers of Structured
PCDs. if there is any change in those Structured PCD header then
current flow will be executed.

With these changes it's helping to save around ~2.5min to ~3.5min of
Incremental build time in my build environment.

Sample PR: https://github.com/tianocore/edk2-basetools/pull/113

Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Cc: Rebecca Cran &lt;rebecca@bsdio.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Amy Chan &lt;amy.chan@intel.com&gt;
Cc: Sai Chaganty &lt;rangasai.v.chaganty@intel.com&gt;
Cc: Digant H Solanki &lt;digant.h.solanki@intel.com&gt;
Signed-off-by: Ashraf Ali S &lt;ashraf.ali.s@intel.com&gt;
Reviewed-by: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Fix raw strings containing valid escape characters</title>
<updated>2024-01-10T13:54:01+00:00</updated>
<author>
<name>Joey Vagedes</name>
<email>joey.vagedes@gmail.com</email>
</author>
<published>2023-12-28T16:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6c488a2f390d6aacb605b6c370fbe6cc275af4fd'/>
<id>urn:sha1:6c488a2f390d6aacb605b6c370fbe6cc275af4fd</id>
<content type='text'>
Fixes raw regex strings that contain valid (and purposeful) escape
characters as they are being treated as individual characters rather
than the single escaped character they represent (i.e. '\t' is being
treated as a '\' and a 't' rather than a single tab character).

Signed-off-by: Joey Vagedes &lt;joey.vagedes@gmail.com&gt;
Cc: Rebecca Cran &lt;rebecca@bsdio.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Reviewed-by: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>BaseTools: Resolve regex syntax warnings</title>
<updated>2023-12-21T00:33:31+00:00</updated>
<author>
<name>Joey Vagedes via groups.io</name>
<email>joeyvagedes=microsoft.com@groups.io</email>
</author>
<published>2023-12-06T20:27:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9f0061a03b61d282fbc0ba5be22155d06a5e64a1'/>
<id>urn:sha1:9f0061a03b61d282fbc0ba5be22155d06a5e64a1</id>
<content type='text'>
Switches regex patterns to raw text to resolve python 3.12 syntax
warnings in regards to invalid escape sequences, as is suggested by the
re (regex) module in python.

Cc: Rebecca Cran &lt;rebecca@bsdio.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Signed-off-by: Joey Vagedes &lt;joey.vagedes@gmail.com&gt;
Reviewed-by: Rebecca Cran &lt;rebecca@bsdio.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Allow users to specify compiler to use with make CC= CXX=</title>
<updated>2023-04-05T15:44:48+00:00</updated>
<author>
<name>Rebecca Cran</name>
<email>rebecca@quicinc.com</email>
</author>
<published>2023-02-16T15:40:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=206168e83f0901cbc1815ef5df4ac6598ad9721b'/>
<id>urn:sha1:206168e83f0901cbc1815ef5df4ac6598ad9721b</id>
<content type='text'>
In https://bugzilla.tianocore.org/show_bug.cgi?id=2842 clang support was
added by having users specify "make CXX=llvm" when building BaseTools.

The Makefile then sees that and sets CC=$(CLANG_BIN)clang and
CXX=$(CLANG_BIN)clang++. That requires that the executables 'clang' and
'clang++' exist and for example aren't named 'clang-17' and
'clang++-17'. Also, it's an unusual way of specifying the compiler,
since many users will expect to be able to override CC and CXX on the
make command line.

Rework the BaseTools Makefiles removing the 'BUILD_' prefix (BUILD_CC
and BUILD_CXX) and using the standard name 'LDFLAGS' instead of
'LFLAGS'. This allows clang to be used by running
'make -C BaseTools CC=clang CXX=clang++'.

Signed-off-by: Rebecca Cran &lt;rebecca@quicinc.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>BaseTools: Correct initialization data size check for array PCDs</title>
<updated>2022-10-19T06:32:07+00:00</updated>
<author>
<name>Konstantin Aladyshev</name>
<email>aladyshev22@gmail.com</email>
</author>
<published>2022-08-30T10:20:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1d0ff11526fc6da71a6575c6720494dd5961ab83'/>
<id>urn:sha1:1d0ff11526fc6da71a6575c6720494dd5961ab83</id>
<content type='text'>
Currently it is not possible to initialize all elements in the
array PCD.

For example, this PCD would result to a build failure:
gTokenSpaceGuid.PcdArray|{0x11, 0x22}|UINT8[2]|0x4C4CB9A3

Correct logical operator in the initialization data size checks to
fix the issue.

Signed-off-by: Konstantin Aladyshev &lt;aladyshev22@gmail.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
<entry>
<title>Revert "BaseTools: Fix DSC LibraryClass precedence rule"</title>
<updated>2022-08-28T02:17:24+00:00</updated>
<author>
<name>Liming Gao</name>
<email>gaoliming@byosoft.com.cn</email>
</author>
<published>2022-08-26T02:06:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=39ff9769cad9d3f6b644456efcd0373a4c8452a1'/>
<id>urn:sha1:39ff9769cad9d3f6b644456efcd0373a4c8452a1</id>
<content type='text'>
This reverts commit 039bdb4d3e96f9c9264abf135b8a0eef2e2b4860 for tag202208.
This brings the behavior changes, and needs more discussion.

Signed-off-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Acked-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Acked-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Fix DSC LibraryClass precedence rule</title>
<updated>2022-07-17T03:33:41+00:00</updated>
<author>
<name>Chen, Christine</name>
<email>Yuwei.Chen@intel.com</email>
</author>
<published>2022-06-30T09:04:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=039bdb4d3e96f9c9264abf135b8a0eef2e2b4860'/>
<id>urn:sha1:039bdb4d3e96f9c9264abf135b8a0eef2e2b4860</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3965

Currently DSC LibraryClass precedence rule is not align with DSC Spec.

The expectation rule should be:
[LibraryClasses.$(ARCH)] &lt; [LibraryClasses.Common.$(MODULE_TYPE)]

The actual behavior is:
[LibraryClasses.$(ARCH)] &gt; [LibraryClasses.Common.$(MODULE_TYPE)]

This patch fixes the issue.

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Long1 Huang &lt;long1.huang@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Signed-off-by: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: add '-p' for Linux 'cp' command.</title>
<updated>2022-07-17T02:20:51+00:00</updated>
<author>
<name>Chen, Christine</name>
<email>Yuwei.Chen@intel.com</email>
</author>
<published>2022-07-08T13:10:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=176016387f0a6ad16efcfdcef19fd90bdc3a77e4'/>
<id>urn:sha1:176016387f0a6ad16efcfdcef19fd90bdc3a77e4</id>
<content type='text'>
Currently BaseTools use 'cp' command for PcdValueInit and GenMake
process, as the command can not keep the time info of the source
file, which will cause incremental build issue in Linux system,
thus the '-p' need be added to keep the source file's attributes
in copy process.

This patch fixes this issue.

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;
</content>
</entry>
</feed>
