Feng, Bob C
673d09a2dd
BaseTools: Enable Multiple Process AutoGen
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1875
Assign the Module AutoGen tasks into multiple
sub process.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Liming Gao <liming.gao@intel.com >
2019-08-09 23:15:53 +08:00
Feng, Bob C
e8449e1d8e
BaseTools: Decouple AutoGen Objects
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1875
1. Separate the AutoGen.py into 3 small py files.
One is for AutoGen base class, one is for WorkspaceAutoGen class
and PlatformAutoGen class, and the one for ModuleAutoGen class.
2. Create a new class DataPipe to store the Platform scope settings.
Create a new class PlatformInfo to provide the same interface
as PlatformAutoGen. PlatformInfo class is initialized by
DataPipe instance.
Create a new class WorkspaceInfo to provide the same interface
as WorkspaceAutoGen. WorkspaceInfo class is initialized by
DataPipe instance.
3. Change ModuleAutoGen to depends on DataPipe, PlatformInfo and
WorkspaceInfo. Remove the dependency of ModuleAutoGen to PlatformAutoGen.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Steven Shi <steven.shi@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Liming Gao <liming.gao@intel.com >
2019-08-09 23:15:52 +08:00
Feng, Bob C
197ca7febf
BaseTools: Add functions to get platform scope build options
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1875
These functions are used for get platform scope
build options. They will be used in later patches.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Liming Gao <liming.gao@intel.com >
2019-08-09 23:15:52 +08:00
Feng, Bob C
2927a6fd99
BaseTools: Split WorkspaceAutoGen._InitWorker into multiple functions
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1875
The WorkspaceAutoGen.__InitWorker function is too long, it's hard
to read and understand.
This patch is to separate the __InitWorker into multiple small ones.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Liming Gao <liming.gao@intel.com >
2019-08-09 23:15:51 +08:00
Feng, Bob C
db01c8e3d8
BaseTools: Singleton the object to handle build conf file
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1875
The build config files are target.txt, build rule, tooldef
During a build, the config is not changed, so the object to
handle them need to be singleton.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Liming Gao <liming.gao@intel.com >
2019-08-09 23:15:51 +08:00
Fan, ZhijuX
35ec41803c
BaseTools:Add the Judgment Method of "--exclude"
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1944
--exclude cannot be used under certain circumstances
1.The value of the parameter USES an absolute path
2.The value of Exclude parameters is based on the value
of the Path parameter
Neither of these approaches currently works
This patch is going to fix that issue.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-08-08 21:45:35 +08:00
Michael D Kinney
96603b4f02
BaseTools/PatchCheck: Disable text conversion in 'git show'
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2044
'git show' is used to extract the patch contents for analysis.
Add the flag '--no-textconv' to the 'git show' command to
disable the conversion from some binary file types to text
content.
Without this change, binary files such as .pdf files are
converted to text in the show command and PatchCheck complains
that the wrong line endings are used in the patch.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
2019-08-07 22:12:02 -07:00
Michael D Kinney
1eeb5ff160
BaseTools/PatchCheck: Add copy from/to keywords
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2044
When files are very similar, git will copy an existing
file to a new location and then apply differences. This
is operation identified in the diff with 'copy from' and
'copy to' lines that need to be ignored.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-08-07 22:11:50 -07:00
Michael D Kinney
05579e5182
BaseTools/PatchCheck: Ignore blank lines in diff
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2044
When fixes are made for incorrect line endings, there
are cases where the diff contains blank lines. Ignore
these blank lines.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-08-07 22:11:42 -07:00
Feng, Bob C
83d6207f99
BaseTools: Fixed a typo in Trim.py
...
This is a regression issue introduced
by commit 307e1650be
This patch is to fix this issue.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-08-02 00:18:00 +08:00
Matthew Carlson
101dc9e257
BaseTools:Added arch output to build report
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=2016
Added arch output to build report so it's easy to tell
which arch is being generated. Useful when multiple versions
of a single module is being emitted for multiple archs.
This patch is going to Added arch output
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-08-01 15:36:49 +08:00
Bob Feng
8ddec24dea
BaseTools:Updata the output encoding of the Popen function
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=2015
Not all output works in utf-8, so change the encoding to
the default
This patch is going to fix that issue.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-08-01 15:36:48 +08:00
Max Knutsen
307e1650be
BaseTools:Add extra debugging message
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=2014
Add extra debugging to improve error identification.
Error while processing file if the file is read incorrectly
This patch is going to fix that issue.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-08-01 15:36:48 +08:00
Sean Brogan
76912197fa
BaseTools:replace the chinese quotation mark with unicode "
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=2013
chinese quotation mark are used in the file
This patch is going to fix that issue.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-08-01 15:36:47 +08:00
Feng, Bob C
959791dd6c
BaseTools: Sort file list in Makefile
...
This patch is going to sort the file list in generated
Makefile. This change make the autogen makefile easy to
compare.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
2019-07-25 09:00:59 +08:00
Leif Lindholm
7d0a56c4a1
BaseTools: add GetMaintainer.py script
...
Add a new script GetMaintainer.py that uses the new Maintainer.txt format
to determine which addresses to cc on patch submission.
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Tested-by: Philippe Mathieu-Daude <philmd@redhat.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-24 17:45:55 +01:00
Feng, Bob C
bb824f685d
BaseTools: Fixed the mis-using strip() function issue.
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2003
lstrip(parameter) do the match based on the char
in parameter but not only the whole parameter string.
In GenMake line 1082,
CmdSign.lstrip('/Fo') will strip the '/' or
'F' or 'o' on the left of CmdSign. This is not expected.
This patch is going to fix such issue.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-22 12:06:03 +08:00
Feng, Bob C
5f89bcc460
BaseTools: Create ".cache" folder when initialize Build object
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1986
Create "Conf/.cache" folder as early as possible
so that the later code do need to check
if it exits and then create it.
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-22 09:21:14 +08:00
Cole Robinson
eebc135ffb
BaseTools: Fix python3.8 SyntaxWarning
...
Building with python3.8 shows a warning like:
SyntaxWarning: invalid escape sequence \(
GuidName = re.compile("\(GUID=[-a-fA-F0-9]+")
It seems harmless, but it's easy enough to fix: mark the string as
raw with the 'r' prefix like is used elsewhere in the file
Signed-off-by: Cole Robinson <crobinso@redhat.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-15 09:09:25 +08:00
Jiewen Yao
a79841a024
BaseTools: Add HOST_APPLICATION module type.
...
It can be used to indicate a module can be build to run
as OS application and run in OS environment.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Xiaoyu Lu <xiaoyux.lu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-12 21:06:57 +08:00
Bob Feng
2d100d1d73
BaseTools: Fixed the issue when ToolDefinitionFile is not generated
...
ToolDefinitionFile is generated by PlatformAutoGen.ToolDefinition()
Code assume ToolDefinition is always called before using
ToolDefinitionFile, but in some cases, it's not true.
This patch is to fix this issue.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-12 17:11:58 +08:00
Liming Gao
28781fd52a
Revert "BaseTools/BfmLib: Add a tool BfmLib"
...
This reverts commit dc7b0dc8d6
.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Feng Bob C <bob.c.feng@intel.com >
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Feng Bob C <bob.c.feng@intel.com >
2019-07-11 11:17:48 +08:00
Liming Gao
064daac0c6
Revert "BaseTools/FCE: Add a tool FCE"
...
This reverts commit 3c59d94637
.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Feng Bob C <bob.c.feng@intel.com >
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Feng Bob C <bob.c.feng@intel.com >
2019-07-11 11:17:46 +08:00
Liming Gao
b9479a7f7b
Revert "BaseTools/FMMT: Add a tool FMMT"
...
This reverts commit 080981d72d
.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Feng Bob C <bob.c.feng@intel.com >
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Feng Bob C <bob.c.feng@intel.com >
2019-07-11 11:17:44 +08:00
Liming Gao
60ec54afc3
Revert "BaseTools: fix FCE build when edksetup not executed"
...
This reverts commit d031fc07eb
.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Feng Bob C <bob.c.feng@intel.com >
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Feng Bob C <bob.c.feng@intel.com >
2019-07-11 11:17:41 +08:00
Liming Gao
661c5ed2d6
Revert "BaseTools/FMMT: Change FMMT script type in PosixLike"
...
This reverts commit 2112fc71b1
.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Feng Bob C <bob.c.feng@intel.com >
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Feng Bob C <bob.c.feng@intel.com >
2019-07-11 11:17:39 +08:00
Liming Gao
e8d4c5f92b
Revert "BaseTools/BfmLib: Change BfmLib script type in PosixLike"
...
This reverts commit 556bf5b357
.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Feng Bob C <bob.c.feng@intel.com >
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Feng Bob C <bob.c.feng@intel.com >
2019-07-11 11:17:37 +08:00
Liming Gao
226301051d
Revert "BaseTools/FCE: Change FCE script type in PosixLike"
...
This reverts commit 8a842b31b9
.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Feng Bob C <bob.c.feng@intel.com >
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Feng Bob C <bob.c.feng@intel.com >
2019-07-11 11:17:13 +08:00
Feng, Bob C
688ec2d006
BaseTools: Detect the change of env variable used in tooldef.txt
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1921
Add TOOLS_DEF.ARCH file to all workspace meta files list.
TOOLS_DEF.ARCH include the evaluated Tool definition information
which is filtered by current tool_chain.
With this change, when the environment variable which
is used in ToolDef.txt is changed, build tool will
rebuild the platform.
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Steven Shi <steven.shi@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-10 09:29:43 +08:00
Feng, Bob C
1d06b46cf1
BaseTools: Fixed the issue of the CFlag for compile PcdValueInit.c
...
This issue happens when using Structured PCD.
Build tool use set to store the cflags for compile PcdValueInit.c,
that is the order of cflags is disorder.
This patch make -U, /U flags appear before -D, /D
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-10 09:26:18 +08:00
Shenglei Zhang
8a842b31b9
BaseTools/FCE: Change FCE script type in PosixLike
...
Change the script type from PC to UNIX.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-08 10:26:46 +08:00
Shenglei Zhang
556bf5b357
BaseTools/BfmLib: Change BfmLib script type in PosixLike
...
Change the script type from PC to UNIX.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-08 10:26:42 +08:00
Shenglei Zhang
2112fc71b1
BaseTools/FMMT: Change FMMT script type in PosixLike
...
Change the script type from PC to UNIX.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-08 10:26:39 +08:00
Antoine Cœur
2d53d54a5b
BaseTools: Fix various typos
...
Fix various typos in BaseTools.
Signed-off-by: Cœur <coeur@gmx.fr >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-08 08:59:29 +08:00
Leif Lindholm
d031fc07eb
BaseTools: fix FCE build when edksetup not executed
...
Commit 3c59d94637
("BaseTools/FCE: Add a tool FCE") added a new tool
that is always built. Pre-existing tools locate the makefile includes
with relative paths, but FCE uses EDK_TOOLS_PATH, adding a new dependency
on having sourced edksetup.sh before building BaseTools.
Change FCE GNUmakefile to match other tools.
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-05 14:58:43 +01:00
Shenglei Zhang
080981d72d
BaseTools/FMMT: Add a tool FMMT
...
FMMT is a tool to enable removal, addition and replacement of
FFS files in FD image binaries.
https://bugzilla.tianocore.org/show_bug.cgi?id=1847
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-04 11:34:57 +08:00
Shenglei Zhang
3c59d94637
BaseTools/FCE: Add a tool FCE
...
FCE is a tool to retrieve and change HII configuration data in
Firmware Device(*.fd) files.
https://bugzilla.tianocore.org/show_bug.cgi?id=1848
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-04 11:34:56 +08:00
Shenglei Zhang
dc7b0dc8d6
BaseTools/BfmLib: Add a tool BfmLib
...
BmfLib is added for FCE tool.
https://bugzilla.tianocore.org/show_bug.cgi?id=1848
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-04 11:34:56 +08:00
Dandan Bi
6759212fa6
Edk2Setup: Support different VS tool chain setup
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1693
This patch is to update edksetup with additional option:
VS2017 VS2015 VS2013 VS2012 to setup different VS environment.
And will report error if the specified VS tool is not installed.
For VS2017, also consider the case that only VS2017 build tool
is installed.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Dandan Bi <dandan.bi@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-06-28 15:04:42 +08:00
Dandan Bi
541d6017e2
Edk2: Remove nt32 related flag in bat files
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1693
NT32Pkg has been removed, remove nt32 related
flags in bat files.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Dandan Bi <dandan.bi@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-06-28 15:04:42 +08:00
Jin, Eric
104a1aa19b
BaseTools/Capsule: Supports multiple payloads and drivers in capsule
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1834
1)Add arguments "--embedded-driver" to support embedded driver
in command line.
2)Add arguments "--update-image-index" to identify ImageIndex
within the device in command line.
3)Add arguments "-j JSONFILE" to support multiple payloads and
embedded drivers with JSON file.
The update is in a backwards compatible manner, so all command
line options to support single payload are still supported. But
all the options associated with multiple payloads should be
provided in a JSON file.
Cc: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Eric Jin <eric.jin@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-06-28 11:39:06 +08:00
Bob Feng
b8ac0b7f28
BaseTools: Move Build Cache related function out of CreateAsBuiltInf
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1932
There are two functions in current CreateAsBuiltInf, Copy Binary files
to build cache folder and create asbuild inf file.
This patch is to separate UpdateBuildCache and CreateAsBuiltInf into
two functions.
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Steven Shi <steven.shi@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Christian Rodriguez <christian.rodriguez@intel.com >
Reviewed-by: Steven Shi <steven.shi@intel.com >
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com >
2019-06-25 09:23:57 +08:00
Bob Feng
dc174cd9e5
BaseTools: refine CreateAsBuiltInf function
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1932
ModuleAutogen.CreateAsBuiltInf IsOnlyCopy parameter
and related function can be moved out of CreateAsBuiltInf,
so that CreateAsBuiltInf is more clean.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Steven Shi <steven.shi@intel.com >
Cc: Christian Rodriguez <christian.rodriguez@intel.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Steven Shi <steven.shi@intel.com >
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com >
2019-06-25 09:23:53 +08:00
Fan, ZhijuX
401507c786
BaseTools:Add DetectNotUsedItem.py to Edk2\BaseTools\Scripts
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1850
This script is used to Detect unreferenced PCD and GUID/Protocols/PPIs.
The input parameters are Dec file and package directory.
This script can be run in both Py2 and Py3.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-06-25 09:23:48 +08:00
Fan, ZhijuX
370f16c548
BaseTools:Add import in FvImageSection
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1872
Since MultipleWorkspace is not imported in FvImageSection,
an error of "global name 'MWS' is not defined" appeared.
This patch is going to fix that issue.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-06-24 17:02:53 +08:00
Shi, Steven
2378ea5515
BaseTools:Introduce CopyFileOnChange() function to copy cache files
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1894
Basetool need a CopyFileOnChange() function to avoid cache
file writing race in multi-thread build. Some platforms
build fail with file IO writing race issue when the
build cache is enabled to store cache files in multi-threads.
This is because common same library cache files (e.g. some
libs in MdePkg) can be stored by many different driver modules'
build threads at same time. Current build cache need a function
to check whether the same cache file already exist, and only
copy source file if it is different from the destination file.
This patch introduces an atomic copy function to avoid duplicated
cache files copy.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Christian Rodriguez <christian.rodriguez@intel.com >
Signed-off-by: Steven Shi <steven.shi@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-06-17 17:00:46 +08:00
Shi, Steven
17b082ce67
BaseTools: Cannot store library cache of different arch together
...
https://bugzilla.tianocore.org/show_bug.cgi?id=1895
Build cache cannot store cache for the same library modules
in different arch together. E.g. Both the below IA32 and X64
arch BaseLib caches should exist after build Ovmf3264, but now
only the one in X64 arch exist.
The reason is the current Basetool use a set() to same all
library AutoGen objects, but the different arch lib AutoGen
objects have same __hash_ value which comes from the lib
MetaFile(The path of module file):
def __hash__(self):
return hash(self.MetaFile)
So the different arch lib AutoGen objects are duplicated one
to the set() and only one can exist. This is why the Basetool
can only store one arch cache for library.
This patch adds the arch string into the PlatformAutoGen and
ModuleAutoGen __hash_ definitions and ensure the different
platform and module AutoGen objects have different __hash_ values.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Christian Rodriguez <christian.rodriguez@intel.com >
Signed-off-by: Steven Shi <steven.shi@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-06-17 17:00:45 +08:00
Shi, Steven
04df18535c
BaseTools:Build Cache output notification message
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1868
Build need output the cache miss or hit notification
message when consume the build cache. Current build does not
output any message which is not clear for user to know
whether the module built result is from cache or not.
This patch adds message about the cache miss or hit when
build consumes the cache.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Zhiju.Fan <zhijux.fan@intel.com >
Signed-off-by: Steven Shi <steven.shi@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-06-17 17:00:45 +08:00
Shi, Steven
ede54e3588
BaseTools:Build cache cannot store the cache files for library package
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1867
Current build cache cannot store the cache for library package.
build -p MdePkg\MdePkg.dsc -a IA32 -b DEBUG -t VS2015x86 --hash
--binary-destination=BinCache
After build, the expected result is the BinCache folder is generated
and the MdePkg build cache files (e.g. .hash and .lib) are stored in
the BinCache folder. But the BinCache folder is not generated at all.
This patch is going to fix that issue.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Zhiju.Fan <zhijux.fan@intel.com >
Signed-off-by: Steven Shi <steven.shi@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-06-17 17:00:45 +08:00
Leif Lindholm
4eb0acb1e2
BaseTools: add script to configure local git options
...
Patch contribution and review is greatly simplified by following the
steps described in "Laszlo's unkempt guide":
https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-guide-for-edk2-contributors-and-maintainers
but there are a lot of tedious manual steps in there, so here is a
python script that configures all options I am aware of
*for the repository the script is executed from*.
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-06-12 10:10:11 +08:00