[edk2] [Patch] BaseTools: Fix the bug to collect source files per build rule family

Yonghong Zhu posted 1 patch 7 years, 1 month ago
Failed in applying to current master (apply log)
BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
[edk2] [Patch] BaseTools: Fix the bug to collect source files per build rule family
Posted by Yonghong Zhu 7 years, 1 month ago
when collect source files list we should also consider build rule
family.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
 BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
index b3e7089..008ad8e 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -3265,17 +3265,17 @@ class ModuleAutoGen(AutoGen):
                 # match tool chain
                 if F.TagName not in ("", "*", self.ToolChain):
                     EdkLogger.debug(EdkLogger.DEBUG_9, "The toolchain [%s] for processing file [%s] is found, "
                                     "but [%s] is needed" % (F.TagName, str(F), self.ToolChain))
                     continue
-                # match tool chain family
-                if F.ToolChainFamily not in ("", "*", self.ToolChainFamily):
+                # match tool chain family or build rule family
+                if F.ToolChainFamily not in ("", "*", self.ToolChainFamily, self.BuildRuleFamily):
                     EdkLogger.debug(
                                 EdkLogger.DEBUG_0,
                                 "The file [%s] must be built by tools of [%s], " \
-                                "but current toolchain family is [%s]" \
-                                    % (str(F), F.ToolChainFamily, self.ToolChainFamily))
+                                "but current toolchain family is [%s], buildrule family is [%s]" \
+                                    % (str(F), F.ToolChainFamily, self.ToolChainFamily, self.BuildRuleFamily))
                     continue
 
                 # add the file path into search path list for file including
                 if F.Dir not in self.IncludePathList and self.AutoGenVersion >= 0x00010005:
                     self.IncludePathList.insert(0, F.Dir)
-- 
2.6.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Fix the bug to collect source files per build rule family
Posted by Gao, Liming 7 years, 1 month ago
Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Zhu, Yonghong
>Sent: Tuesday, November 14, 2017 1:53 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: [Patch] BaseTools: Fix the bug to collect source files per build rule
>family
>
>when collect source files list we should also consider build rule
>family.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
>---
> BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py
>b/BaseTools/Source/Python/AutoGen/AutoGen.py
>index b3e7089..008ad8e 100644
>--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
>+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
>@@ -3265,17 +3265,17 @@ class ModuleAutoGen(AutoGen):
>                 # match tool chain
>                 if F.TagName not in ("", "*", self.ToolChain):
>                     EdkLogger.debug(EdkLogger.DEBUG_9, "The toolchain [%s] for
>processing file [%s] is found, "
>                                     "but [%s] is needed" % (F.TagName, str(F), self.ToolChain))
>                     continue
>-                # match tool chain family
>-                if F.ToolChainFamily not in ("", "*", self.ToolChainFamily):
>+                # match tool chain family or build rule family
>+                if F.ToolChainFamily not in ("", "*", self.ToolChainFamily,
>self.BuildRuleFamily):
>                     EdkLogger.debug(
>                                 EdkLogger.DEBUG_0,
>                                 "The file [%s] must be built by tools of [%s], " \
>-                                "but current toolchain family is [%s]" \
>-                                    % (str(F), F.ToolChainFamily, self.ToolChainFamily))
>+                                "but current toolchain family is [%s], buildrule family is [%s]"
>\
>+                                    % (str(F), F.ToolChainFamily, self.ToolChainFamily,
>self.BuildRuleFamily))
>                     continue
>
>                 # add the file path into search path list for file including
>                 if F.Dir not in self.IncludePathList and self.AutoGenVersion >=
>0x00010005:
>                     self.IncludePathList.insert(0, F.Dir)
>--
>2.6.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Fix the bug to collect source files per build rule family
Posted by Laszlo Ersek 7 years, 1 month ago
Hello Yonghong,

On 11/14/17 06:52, Yonghong Zhu wrote:
> when collect source files list we should also consider build rule
> family.

what bug does this patch fix? I guess the bug is that something is
missed / not done, because changes to the build rules are not noticed?
Can you please elaborate in the commit message?

Thanks!
Laszlo

> 
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
> ---
>  BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
> index b3e7089..008ad8e 100644
> --- a/BaseTools/Source/Python/AutoGen/AutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
> @@ -3265,17 +3265,17 @@ class ModuleAutoGen(AutoGen):
>                  # match tool chain
>                  if F.TagName not in ("", "*", self.ToolChain):
>                      EdkLogger.debug(EdkLogger.DEBUG_9, "The toolchain [%s] for processing file [%s] is found, "
>                                      "but [%s] is needed" % (F.TagName, str(F), self.ToolChain))
>                      continue
> -                # match tool chain family
> -                if F.ToolChainFamily not in ("", "*", self.ToolChainFamily):
> +                # match tool chain family or build rule family
> +                if F.ToolChainFamily not in ("", "*", self.ToolChainFamily, self.BuildRuleFamily):
>                      EdkLogger.debug(
>                                  EdkLogger.DEBUG_0,
>                                  "The file [%s] must be built by tools of [%s], " \
> -                                "but current toolchain family is [%s]" \
> -                                    % (str(F), F.ToolChainFamily, self.ToolChainFamily))
> +                                "but current toolchain family is [%s], buildrule family is [%s]" \
> +                                    % (str(F), F.ToolChainFamily, self.ToolChainFamily, self.BuildRuleFamily))
>                      continue
>  
>                  # add the file path into search path list for file including
>                  if F.Dir not in self.IncludePathList and self.AutoGenVersion >= 0x00010005:
>                      self.IncludePathList.insert(0, F.Dir)
> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Fix the bug to collect source files per build rule family
Posted by Zhu, Yonghong 7 years, 1 month ago
The bug is https://bugzilla.tianocore.org/show_bug.cgi?id=780 .
I will update the message to more clear, thanks.

Best Regards,
Zhu Yonghong

-----Original Message-----
From: Laszlo Ersek [mailto:lersek@redhat.com] 
Sent: Thursday, November 16, 2017 12:23 AM
To: Zhu, Yonghong <yonghong.zhu@intel.com>; edk2-devel@lists.01.org
Cc: Gao, Liming <liming.gao@intel.com>
Subject: Re: [edk2] [Patch] BaseTools: Fix the bug to collect source files per build rule family

Hello Yonghong,

On 11/14/17 06:52, Yonghong Zhu wrote:
> when collect source files list we should also consider build rule 
> family.

what bug does this patch fix? I guess the bug is that something is missed / not done, because changes to the build rules are not noticed?
Can you please elaborate in the commit message?

Thanks!
Laszlo

> 
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
> ---
>  BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py 
> b/BaseTools/Source/Python/AutoGen/AutoGen.py
> index b3e7089..008ad8e 100644
> --- a/BaseTools/Source/Python/AutoGen/AutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
> @@ -3265,17 +3265,17 @@ class ModuleAutoGen(AutoGen):
>                  # match tool chain
>                  if F.TagName not in ("", "*", self.ToolChain):
>                      EdkLogger.debug(EdkLogger.DEBUG_9, "The toolchain [%s] for processing file [%s] is found, "
>                                      "but [%s] is needed" % (F.TagName, str(F), self.ToolChain))
>                      continue
> -                # match tool chain family
> -                if F.ToolChainFamily not in ("", "*", self.ToolChainFamily):
> +                # match tool chain family or build rule family
> +                if F.ToolChainFamily not in ("", "*", self.ToolChainFamily, self.BuildRuleFamily):
>                      EdkLogger.debug(
>                                  EdkLogger.DEBUG_0,
>                                  "The file [%s] must be built by tools of [%s], " \
> -                                "but current toolchain family is [%s]" \
> -                                    % (str(F), F.ToolChainFamily, self.ToolChainFamily))
> +                                "but current toolchain family is [%s], buildrule family is [%s]" \
> +                                    % (str(F), F.ToolChainFamily, 
> + self.ToolChainFamily, self.BuildRuleFamily))
>                      continue
>  
>                  # add the file path into search path list for file including
>                  if F.Dir not in self.IncludePathList and self.AutoGenVersion >= 0x00010005:
>                      self.IncludePathList.insert(0, F.Dir)
> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel