From: "Fan, ZhijuX" <zhijux.fan@intel.com>
To: devel@edk2.groups.io
Cc: "Zhiju . Fan" <zhijux.fan@intel.com>,
Liming Gao <liming.gao@intel.com>,
Bob Feng <bob.c.feng@intel.com>
Subject: [PATCH V6] BaseTools:GuidedSectionTools.txt is not generated correctly
Date: Thu, 26 Mar 2020 17:48:04 +0800 [thread overview]
Message-ID: <20200326094804.21368-1-zhijux.fan@intel.com> (raw)
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2538
For LzmaCompress or BrotliCompress, the platform may use the different
options and add their batch file, such as LzmaCompressPlatform.
Then, specify it in platform.dsc [BuildOptions] to override the default
one in tools_def.txt.
*_*_*_LZMA_PATH = LzmaCompressPlatform
This override tool will be used. But, its name is not specified in the
generated GuidedSectionTools.txt.
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
---
Some unnecessary comments were removed
BaseTools/Source/Python/AutoGen/PlatformAutoGen.py | 3 ++-
BaseTools/Source/Python/build/build.py | 16 +++-------------
2 files changed, 5 insertions(+), 14 deletions(-)
diff --git a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
index d32178b00c93..af66c48c7d6a 100644
--- a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
@@ -866,7 +866,8 @@ class PlatformAutoGen(AutoGen):
Value += " " + self._BuildOptionWithToolDef(RetVal)[Tool][Attr]
else:
Value = self._BuildOptionWithToolDef(RetVal)[Tool][Attr]
-
+ Def = '_'.join([self.BuildTarget, self.ToolChain, self.Arch, Tool, Attr])
+ self.Workspace.ToolDef.ToolsDefTxtDictionary[Def] = Value
if Attr == "PATH":
# Don't put MAKE definition in the file
if Tool != "MAKE":
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index d841fefdc502..bec848a7b2e3 100755
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -2347,7 +2347,7 @@ class Build():
toolName = split[3]
path = '_'.join(split[0:4]) + '_PATH'
path = self.ToolDef.ToolsDefTxtDictionary[path]
- path = self.GetFullPathOfTool(path)
+ path = self.GetRealPathOfTool(path)
guidAttribs.append((guid, toolName, path))
# Write out GuidedSecTools.txt
@@ -2357,21 +2357,11 @@ class Build():
print(' '.join(guidedSectionTool), file=toolsFile)
toolsFile.close()
- ## Returns the full path of the tool.
+ ## Returns the real path of the tool.
#
- def GetFullPathOfTool (self, tool):
+ def GetRealPathOfTool (self, tool):
if os.path.exists(tool):
return os.path.realpath(tool)
- else:
- # We need to search for the tool using the
- # PATH environment variable.
- for dirInPath in os.environ['PATH'].split(os.pathsep):
- foundPath = os.path.join(dirInPath, tool)
- if os.path.exists(foundPath):
- return os.path.realpath(foundPath)
-
- # If the tool was not found in the path then we just return
- # the input tool.
return tool
## Launch the module or platform build
--
2.14.1.windows.1
next reply other threads:[~2020-03-26 9:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-26 9:48 Fan, ZhijuX [this message]
2020-03-26 10:15 ` [PATCH V6] BaseTools:GuidedSectionTools.txt is not generated correctly Bob Feng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200326094804.21368-1-zhijux.fan@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox