public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH V2] BaseTools:GuidedSectionTools.txt is not generated correctly
@ 2020-03-06  5:31 Fan, ZhijuX
  2020-03-09  5:54 ` Bob Feng
  0 siblings, 1 reply; 3+ messages in thread
From: Fan, ZhijuX @ 2020-03-06  5:31 UTC (permalink / raw)
  To: devel; +Cc: Zhiju . Fan, Liming Gao, Bob Feng

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>
---
Changed an issue with an incorrect full path in GuidedSectionTools

 BaseTools/Source/Python/AutoGen/PlatformAutoGen.py | 4 +++-
 BaseTools/Source/Python/build/build.py             | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
index d32178b00c93..478a5116fd7a 100644
--- a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
@@ -866,7 +866,9 @@ 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])
+                            if self.Workspace.ToolDef.ToolsDefTxtDictionary.get(Def):
+                                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..01c4c6fe2b84 100755
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -2367,7 +2367,8 @@ class Build():
             # PATH environment variable.
             for dirInPath in os.environ['PATH'].split(os.pathsep):
                 foundPath = os.path.join(dirInPath, tool)
-                if os.path.exists(foundPath):
+                BaseName, Ext = os.path.splitext(foundPath)
+                if os.path.isdir(foundPath) or Ext:
                     return os.path.realpath(foundPath)
 
         # If the tool was not found in the path then we just return
-- 
2.14.1.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH V2] BaseTools:GuidedSectionTools.txt is not generated correctly
  2020-03-06  5:31 [PATCH V2] BaseTools:GuidedSectionTools.txt is not generated correctly Fan, ZhijuX
@ 2020-03-09  5:54 ` Bob Feng
  2020-03-11  1:36   ` Liming Gao
  0 siblings, 1 reply; 3+ messages in thread
From: Bob Feng @ 2020-03-09  5:54 UTC (permalink / raw)
  To: Fan, ZhijuX, devel@edk2.groups.io; +Cc: Gao, Liming

Zhiju,

+                BaseName, Ext = os.path.splitext(foundPath)
+                if os.path.isdir(foundPath) or Ext:

Did you check the tool behavior under Linux? The file under Linux can have no extension file name.

Thanks,
Bob

-----Original Message-----
From: Fan, ZhijuX 
Sent: Friday, March 6, 2020 1:31 PM
To: devel@edk2.groups.io
Cc: Fan, ZhijuX <zhijux.fan@intel.com>; Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com>
Subject: [PATCH V2] BaseTools:GuidedSectionTools.txt is not generated correctly

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>
---
Changed an issue with an incorrect full path in GuidedSectionTools

 BaseTools/Source/Python/AutoGen/PlatformAutoGen.py | 4 +++-
 BaseTools/Source/Python/build/build.py             | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
index d32178b00c93..478a5116fd7a 100644
--- a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
@@ -866,7 +866,9 @@ 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])
+                            if self.Workspace.ToolDef.ToolsDefTxtDictionary.get(Def):
+                                
+ 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..01c4c6fe2b84 100755
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -2367,7 +2367,8 @@ class Build():
             # PATH environment variable.
             for dirInPath in os.environ['PATH'].split(os.pathsep):
                 foundPath = os.path.join(dirInPath, tool)
-                if os.path.exists(foundPath):
+                BaseName, Ext = os.path.splitext(foundPath)
+                if os.path.isdir(foundPath) or Ext:
                     return os.path.realpath(foundPath)
 
         # If the tool was not found in the path then we just return
--
2.14.1.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH V2] BaseTools:GuidedSectionTools.txt is not generated correctly
  2020-03-09  5:54 ` Bob Feng
@ 2020-03-11  1:36   ` Liming Gao
  0 siblings, 0 replies; 3+ messages in thread
From: Liming Gao @ 2020-03-11  1:36 UTC (permalink / raw)
  To: Feng, Bob C, Fan, ZhijuX, devel@edk2.groups.io

Zhiju:
  I expect the output tool name is same to the one specified in tools_def.txt or [BuildOptions] in platform.dsc file. 

Thanks
Liming
> -----Original Message-----
> From: Feng, Bob C <bob.c.feng@intel.com>
> Sent: Monday, March 9, 2020 1:54 PM
> To: Fan, ZhijuX <zhijux.fan@intel.com>; devel@edk2.groups.io
> Cc: Gao, Liming <liming.gao@intel.com>
> Subject: RE: [PATCH V2] BaseTools:GuidedSectionTools.txt is not generated correctly
> 
> Zhiju,
> 
> +                BaseName, Ext = os.path.splitext(foundPath)
> +                if os.path.isdir(foundPath) or Ext:
> 
> Did you check the tool behavior under Linux? The file under Linux can have no extension file name.
> 
> Thanks,
> Bob
> 
> -----Original Message-----
> From: Fan, ZhijuX
> Sent: Friday, March 6, 2020 1:31 PM
> To: devel@edk2.groups.io
> Cc: Fan, ZhijuX <zhijux.fan@intel.com>; Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com>
> Subject: [PATCH V2] BaseTools:GuidedSectionTools.txt is not generated correctly
> 
> 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>
> ---
> Changed an issue with an incorrect full path in GuidedSectionTools
> 
>  BaseTools/Source/Python/AutoGen/PlatformAutoGen.py | 4 +++-
>  BaseTools/Source/Python/build/build.py             | 3 ++-
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
> index d32178b00c93..478a5116fd7a 100644
> --- a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
> @@ -866,7 +866,9 @@ 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])
> +                            if self.Workspace.ToolDef.ToolsDefTxtDictionary.get(Def):
> +
> + 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..01c4c6fe2b84 100755
> --- a/BaseTools/Source/Python/build/build.py
> +++ b/BaseTools/Source/Python/build/build.py
> @@ -2367,7 +2367,8 @@ class Build():
>              # PATH environment variable.
>              for dirInPath in os.environ['PATH'].split(os.pathsep):
>                  foundPath = os.path.join(dirInPath, tool)
> -                if os.path.exists(foundPath):
> +                BaseName, Ext = os.path.splitext(foundPath)
> +                if os.path.isdir(foundPath) or Ext:
>                      return os.path.realpath(foundPath)
> 
>          # If the tool was not found in the path then we just return
> --
> 2.14.1.windows.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-11  1:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-06  5:31 [PATCH V2] BaseTools:GuidedSectionTools.txt is not generated correctly Fan, ZhijuX
2020-03-09  5:54 ` Bob Feng
2020-03-11  1:36   ` Liming Gao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox