* [Patch V2] BaseTools: Fix a bug to correct SourceFileList
@ 2017-09-18 4:23 Yonghong Zhu
2017-09-19 7:02 ` Gao, Liming
0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2017-09-18 4:23 UTC (permalink / raw)
To: edk2-devel; +Cc: Liming Gao
We met a case that use two microcode files in the Microcode.inf file,
one is .mcb file, another is .txt file. then it cause build failure
because the SourceFileList include the .txt file's output file, while
this output file is still not be generated, so it cause
GetFileDependency report failure.
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/GenMake.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index 0f3ddd5..942eb44 100644
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -787,12 +787,19 @@ cleanlib:
ForceIncludedFile = []
for File in self._AutoGenObject.AutoGenFileList:
if File.Ext == '.h':
ForceIncludedFile.append(File)
SourceFileList = []
+ OutPutFileList = []
for Target in self._AutoGenObject.IntroTargetList:
SourceFileList.extend(Target.Inputs)
+ OutPutFileList.extend(Target.Outputs)
+
+ if OutPutFileList:
+ for Item in OutPutFileList:
+ if Item in SourceFileList:
+ SourceFileList.remove(Item)
self.FileDependency = self.GetFileDependency(
SourceFileList,
ForceIncludedFile,
self._AutoGenObject.IncludePathList + self._AutoGenObject.BuildOptionIncPathList
--
2.6.1.windows.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch V2] BaseTools: Fix a bug to correct SourceFileList
2017-09-18 4:23 [Patch V2] BaseTools: Fix a bug to correct SourceFileList Yonghong Zhu
@ 2017-09-19 7:02 ` Gao, Liming
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2017-09-19 7:02 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: Zhu, Yonghong
>Sent: Monday, September 18, 2017 12:24 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: [Patch V2] BaseTools: Fix a bug to correct SourceFileList
>
>We met a case that use two microcode files in the Microcode.inf file,
>one is .mcb file, another is .txt file. then it cause build failure
>because the SourceFileList include the .txt file's output file, while
>this output file is still not be generated, so it cause
>GetFileDependency report failure.
>
>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/GenMake.py | 7 +++++++
> 1 file changed, 7 insertions(+)
>
>diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py
>b/BaseTools/Source/Python/AutoGen/GenMake.py
>index 0f3ddd5..942eb44 100644
>--- a/BaseTools/Source/Python/AutoGen/GenMake.py
>+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
>@@ -787,12 +787,19 @@ cleanlib:
> ForceIncludedFile = []
> for File in self._AutoGenObject.AutoGenFileList:
> if File.Ext == '.h':
> ForceIncludedFile.append(File)
> SourceFileList = []
>+ OutPutFileList = []
> for Target in self._AutoGenObject.IntroTargetList:
> SourceFileList.extend(Target.Inputs)
>+ OutPutFileList.extend(Target.Outputs)
>+
>+ if OutPutFileList:
>+ for Item in OutPutFileList:
>+ if Item in SourceFileList:
>+ SourceFileList.remove(Item)
>
> self.FileDependency = self.GetFileDependency(
> SourceFileList,
> ForceIncludedFile,
> self._AutoGenObject.IncludePathList +
>self._AutoGenObject.BuildOptionIncPathList
>--
>2.6.1.windows.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-19 6:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-18 4:23 [Patch V2] BaseTools: Fix a bug to correct SourceFileList Yonghong Zhu
2017-09-19 7:02 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox