[edk2-devel] 回复: [Patch] BaseTools: Remove the dependency on the build intermediate file

gaoliming gaoliming at byosoft.com.cn
Wed Nov 4 00:52:01 UTC 2020


Bob:
 I understand this change. Reviewed-by: Liming Gao <gaoliming at byosoft.com.cn>

Thanks
Liming
> -----邮件原件-----
> 发件人: Feng, Bob C <bob.c.feng at intel.com>
> 发送时间: 2020年11月2日 17:58
> 收件人: gaoliming <gaoliming at byosoft.com.cn>; devel at edk2.groups.io
> 抄送: Chen, Christine <yuwei.chen at intel.com>
> 主题: RE: [Patch] BaseTools: Remove the dependency on the build
> intermediate file
> 
> Liming,
> 
> Yes, it's also for other source files for AcpiTable, like *.asl.
> 
> Thanks,
> Bob
> 
> -----Original Message-----
> From: gaoliming <gaoliming at byosoft.com.cn>
> Sent: Monday, November 2, 2020 9:33 AM
> To: Feng, Bob C <bob.c.feng at intel.com>; devel at edk2.groups.io
> Cc: Chen, Christine <yuwei.chen at intel.com>
> Subject: 回复: [Patch] BaseTools: Remove the dependency on the build
> intermediate file
> 
> Bob:
>   So, this incremental issue happens when the source file name is changed.
> Is it only for *.aslc file, or also for other file, such as *.asl?
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: Bob Feng <bob.c.feng at intel.com>
> > 发送时间: 2020年10月26日 20:28
> > 收件人: devel at edk2.groups.io
> > 抄送: Liming Gao <gaoliming at byosoft.com.cn>; Yuwei Chen
> > <yuwei.chen at intel.com>
> > 主题: [Patch] BaseTools: Remove the dependency on the build
> intermediate
> > file
> >
> > When generating compressed section, the build tool rely on the build
> > intermediate files, which were generated in last build, to get the
> > file list. This method will cause the incremental build to generate
> > incorrect build result. To reproduce this incremental build error, you
> > can do:
> > 1. build Ovmf
> > 2. change the module OvmfPkg\AcpiTables a source file Facp.aslc name
> > from Facp.aslc to Facpxxx.aslc.
> > 3. change the Facp.aslc file name in [sources] section of
> > AcpiTables.inf 4. incremental build Ovmf
> >
> > you will see the in AcpiTables module Makefile, the corresponding
> > Facp.acpi file is not changed.
> >
> > This patch is to make the build always get file list from the INF.
> >
> > Signed-off-by: Bob Feng <bob.c.feng at intel.com>
> > Cc: Liming Gao <gaoliming at byosoft.com.cn>
> > Cc: Yuwei Chen <yuwei.chen at intel.com>
> > ---
> >  BaseTools/Source/Python/GenFds/Section.py | 15 ---------------
> >  1 file changed, 15 deletions(-)
> >
> > diff --git a/BaseTools/Source/Python/GenFds/Section.py
> > b/BaseTools/Source/Python/GenFds/Section.py
> > index 2acb70f412..0382b2a759 100644
> > --- a/BaseTools/Source/Python/GenFds/Section.py
> > +++ b/BaseTools/Source/Python/GenFds/Section.py
> > @@ -139,25 +139,10 @@ class Section (SectionClassObject):
> >                  if File.Ext == Suffix:
> >                      FileList.append(File.Path)
> >
> >          if (not IsMakefile and Suffix is not None and
> > os.path.exists(FfsInf.EfiOutputPath)) or (IsMakefile and Suffix is not
> None):
> > -            #
> > -            # Get Makefile path and time stamp
> > -            #
> > -            MakefileDir = FfsInf.EfiOutputPath[:-len('OUTPUT')]
> > -            Makefile = os.path.join(MakefileDir, 'Makefile')
> > -            if not os.path.exists(Makefile):
> > -                Makefile = os.path.join(MakefileDir, 'GNUmakefile')
> > -            if os.path.exists(Makefile):
> > -                # Update to search files with suffix in all sub-dirs.
> > -                Tuple = os.walk(FfsInf.EfiOutputPath)
> > -                for Dirpath, Dirnames, Filenames in Tuple:
> > -                    for F in Filenames:
> > -                        if os.path.splitext(F)[1] == Suffix:
> > -                            FullName = os.path.join(Dirpath, F)
> > -                            if os.path.getmtime(FullName) >
> > os.path.getmtime(Makefile):
> > -                                FileList.append(FullName)
> >              if not FileList:
> >                  SuffixMap = FfsInf.GetFinalTargetSuffixMap()
> >                  if Suffix in SuffixMap:
> >                      FileList.extend(SuffixMap[Suffix])
> >
> > --
> > 2.20.1.windows.1
> 
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#66946): https://edk2.groups.io/g/devel/message/66946
Mute This Topic: https://groups.io/mt/78020315/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list