public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC.
@ 2020-12-08  2:15 Chiu, Chasel
  2020-12-08  3:28 ` [edk2-devel] " Yuwei Chen
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Chiu, Chasel @ 2020-12-08  2:15 UTC (permalink / raw)
  To: devel; +Cc: Chasel Chiu, Maurice Ma, Nate DeSimone, Star Zeng

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3107

Current script only compares main DSC and output file datetime
to determine if re-generation required or not.
When UPD defined in sub DSC and was modified current script cannot
detect and will not re-generate output files which caused incremental
build issue.

Since UPD can be defined in any sub DSC the script has been updated
to compare all DSC datetime with output files to determine re-generation
is needed or not.

Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
---
 IntelFsp2Pkg/Tools/GenCfgOpt.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py b/IntelFsp2Pkg/Tools/GenCfgOpt.py
index af7e14a10a..a0b8bba81e 100644
--- a/IntelFsp2Pkg/Tools/GenCfgOpt.py
+++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py
@@ -313,6 +313,7 @@ EndList
         self._DscFile     = ''
         self._FvDir       = ''
         self._MapVer      = 0
+        self._DscTime     = 0
 
     def ParseMacros (self, MacroDefStr):
         # ['-DABC=1', '-D', 'CFG_DEBUG=1', '-D', 'CFG_OUTDIR=Build']
@@ -423,6 +424,9 @@ EndList
         self._DscFile     = DscFile
         self._FvDir       = FvDir
 
+        # Initial DSC time is parent DSC time.
+        self._DscTime     = os.path.getmtime(DscFile)
+
         IsDefSect       = False
         IsPcdSect       = False
         IsUpdSect       = False
@@ -530,6 +534,12 @@ EndList
                                         if IncludeDsc == None:
                                             print("ERROR: Cannot open file '%s'" % IncludeFilePath)
                                             raise SystemExit
+
+                                        # Update DscTime when newer DSC time found.
+                                        CurrentDscTime = os.path.getmtime(os.path.realpath(IncludeDsc.name))
+                                        if CurrentDscTime > self._DscTime:
+                                            self._DscTime = CurrentDscTime
+
                                         NewDscLines = IncludeDsc.readlines()
                                         IncludeDsc.close()
                                         DscLines = NewDscLines + DscLines
@@ -815,9 +825,8 @@ EndList
         if not os.path.exists(OutPutFile):
             NoFileChange = False
         else:
-            DscTime = os.path.getmtime(self._DscFile)
             OutputTime = os.path.getmtime(OutPutFile)
-            if DscTime > OutputTime:
+            if self._DscTime > OutputTime:
                 NoFileChange = False
         return NoFileChange
 
-- 
2.28.0.windows.1


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

* Re: [edk2-devel] [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC.
  2020-12-08  2:15 [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC Chiu, Chasel
@ 2020-12-08  3:28 ` Yuwei Chen
  2020-12-09 10:13 ` Nate DeSimone
  2020-12-09 11:37 ` Zeng, Star
  2 siblings, 0 replies; 4+ messages in thread
From: Yuwei Chen @ 2020-12-08  3:28 UTC (permalink / raw)
  To: devel@edk2.groups.io, Chiu, Chasel
  Cc: Ma, Maurice, Desimone, Nathaniel L, Zeng, Star


Reviewed-by: Yuwei Chen <yuwei.chen@intel.com>
Tested-by: Yuwei Chen <yuwei.chen@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chiu,
> Chasel
> Sent: Tuesday, December 8, 2020 10:16 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu@intel.com>; Ma, Maurice
> <maurice.ma@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: [edk2-devel] [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental
> build with UPD in sub DSC.
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3107
> 
> Current script only compares main DSC and output file datetime to
> determine if re-generation required or not.
> When UPD defined in sub DSC and was modified current script cannot detect
> and will not re-generate output files which caused incremental build issue.
> 
> Since UPD can be defined in any sub DSC the script has been updated to
> compare all DSC datetime with output files to determine re-generation is
> needed or not.
> 
> Cc: Maurice Ma <maurice.ma@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
> ---
>  IntelFsp2Pkg/Tools/GenCfgOpt.py | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py
> b/IntelFsp2Pkg/Tools/GenCfgOpt.py index af7e14a10a..a0b8bba81e 100644
> --- a/IntelFsp2Pkg/Tools/GenCfgOpt.py
> +++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py
> @@ -313,6 +313,7 @@ EndList
>          self._DscFile     = ''         self._FvDir       = ''         self._MapVer      = 0+
> self._DscTime     = 0      def ParseMacros (self, MacroDefStr):         # ['-DABC=1',
> '-D', 'CFG_DEBUG=1', '-D', 'CFG_OUTDIR=Build']@@ -423,6 +424,9 @@
> EndList
>          self._DscFile     = DscFile         self._FvDir       = FvDir +        # Initial DSC time
> is parent DSC time.+        self._DscTime     = os.path.getmtime(DscFile)+
> IsDefSect       = False         IsPcdSect       = False         IsUpdSect       = False@@ -
> 530,6 +534,12 @@ EndList
>                                          if IncludeDsc == None:
> print("ERROR: Cannot open file '%s'" % IncludeFilePath)
> raise SystemExit++                                        # Update DscTime when newer DSC
> time found.+                                        CurrentDscTime =
> os.path.getmtime(os.path.realpath(IncludeDsc.name))+
> if CurrentDscTime > self._DscTime:+                                            self._DscTime =
> CurrentDscTime+                                         NewDscLines = IncludeDsc.readlines()
> IncludeDsc.close()                                         DscLines = NewDscLines +
> DscLines@@ -815,9 +825,8 @@ EndList
>          if not os.path.exists(OutPutFile):             NoFileChange = False         else:-
> DscTime = os.path.getmtime(self._DscFile)             OutputTime =
> os.path.getmtime(OutPutFile)-            if DscTime > OutputTime:+            if
> self._DscTime > OutputTime:                 NoFileChange = False         return
> NoFileChange --
> 2.28.0.windows.1
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#68417): https://edk2.groups.io/g/devel/message/68417
> Mute This Topic: https://groups.io/mt/78794912/4546272
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [yuwei.chen@intel.com]
> -=-=-=-=-=-=
> 


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

* Re: [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC.
  2020-12-08  2:15 [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC Chiu, Chasel
  2020-12-08  3:28 ` [edk2-devel] " Yuwei Chen
@ 2020-12-09 10:13 ` Nate DeSimone
  2020-12-09 11:37 ` Zeng, Star
  2 siblings, 0 replies; 4+ messages in thread
From: Nate DeSimone @ 2020-12-09 10:13 UTC (permalink / raw)
  To: Chiu, Chasel, devel@edk2.groups.io; +Cc: Chiu, Chasel, Ma, Maurice, Zeng, Star

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Chasel Chiu <chasel.chiu@intel.com>
> Sent: Monday, December 7, 2020 6:16 PM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu@intel.com>; Ma, Maurice
> <maurice.ma@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in
> sub DSC.
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3107
> 
> Current script only compares main DSC and output file datetime to
> determine if re-generation required or not.
> When UPD defined in sub DSC and was modified current script cannot detect
> and will not re-generate output files which caused incremental build issue.
> 
> Since UPD can be defined in any sub DSC the script has been updated to
> compare all DSC datetime with output files to determine re-generation is
> needed or not.
> 
> Cc: Maurice Ma <maurice.ma@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
> ---
>  IntelFsp2Pkg/Tools/GenCfgOpt.py | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py
> b/IntelFsp2Pkg/Tools/GenCfgOpt.py index af7e14a10a..a0b8bba81e 100644
> --- a/IntelFsp2Pkg/Tools/GenCfgOpt.py
> +++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py
> @@ -313,6 +313,7 @@ EndList
>          self._DscFile     = ''         self._FvDir       = ''         self._MapVer      = 0+
> self._DscTime     = 0      def ParseMacros (self, MacroDefStr):         # ['-DABC=1',
> '-D', 'CFG_DEBUG=1', '-D', 'CFG_OUTDIR=Build']@@ -423,6 +424,9 @@
> EndList
>          self._DscFile     = DscFile         self._FvDir       = FvDir +        # Initial DSC time
> is parent DSC time.+        self._DscTime     = os.path.getmtime(DscFile)+
> IsDefSect       = False         IsPcdSect       = False         IsUpdSect       = False@@ -
> 530,6 +534,12 @@ EndList
>                                          if IncludeDsc == None:
> print("ERROR: Cannot open file '%s'" % IncludeFilePath)
> raise SystemExit++                                        # Update DscTime when newer DSC
> time found.+                                        CurrentDscTime =
> os.path.getmtime(os.path.realpath(IncludeDsc.name))+
> if CurrentDscTime > self._DscTime:+                                            self._DscTime =
> CurrentDscTime+                                         NewDscLines = IncludeDsc.readlines()
> IncludeDsc.close()                                         DscLines = NewDscLines +
> DscLines@@ -815,9 +825,8 @@ EndList
>          if not os.path.exists(OutPutFile):             NoFileChange = False         else:-
> DscTime = os.path.getmtime(self._DscFile)             OutputTime =
> os.path.getmtime(OutPutFile)-            if DscTime > OutputTime:+            if
> self._DscTime > OutputTime:                 NoFileChange = False         return
> NoFileChange --
> 2.28.0.windows.1


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

* Re: [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC.
  2020-12-08  2:15 [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC Chiu, Chasel
  2020-12-08  3:28 ` [edk2-devel] " Yuwei Chen
  2020-12-09 10:13 ` Nate DeSimone
@ 2020-12-09 11:37 ` Zeng, Star
  2 siblings, 0 replies; 4+ messages in thread
From: Zeng, Star @ 2020-12-09 11:37 UTC (permalink / raw)
  To: Chiu, Chasel, devel@edk2.groups.io
  Cc: Chiu, Chasel, Ma, Maurice, Desimone, Nathaniel L, Zeng, Star

Reviewed-by: Star Zeng <star.zeng@intel.com>

-----Original Message-----
From: Chasel Chiu <chasel.chiu@intel.com> 
Sent: Tuesday, December 8, 2020 10:16 AM
To: devel@edk2.groups.io
Cc: Chiu, Chasel <chasel.chiu@intel.com>; Ma, Maurice <maurice.ma@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Zeng, Star <star.zeng@intel.com>
Subject: [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3107

Current script only compares main DSC and output file datetime
to determine if re-generation required or not.
When UPD defined in sub DSC and was modified current script cannot
detect and will not re-generate output files which caused incremental
build issue.

Since UPD can be defined in any sub DSC the script has been updated
to compare all DSC datetime with output files to determine re-generation
is needed or not.

Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
---
 IntelFsp2Pkg/Tools/GenCfgOpt.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py b/IntelFsp2Pkg/Tools/GenCfgOpt.py
index af7e14a10a..a0b8bba81e 100644
--- a/IntelFsp2Pkg/Tools/GenCfgOpt.py
+++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py
@@ -313,6 +313,7 @@ EndList
         self._DscFile     = ''

         self._FvDir       = ''

         self._MapVer      = 0

+        self._DscTime     = 0

 

     def ParseMacros (self, MacroDefStr):

         # ['-DABC=1', '-D', 'CFG_DEBUG=1', '-D', 'CFG_OUTDIR=Build']

@@ -423,6 +424,9 @@ EndList
         self._DscFile     = DscFile

         self._FvDir       = FvDir

 

+        # Initial DSC time is parent DSC time.

+        self._DscTime     = os.path.getmtime(DscFile)

+

         IsDefSect       = False

         IsPcdSect       = False

         IsUpdSect       = False

@@ -530,6 +534,12 @@ EndList
                                         if IncludeDsc == None:

                                             print("ERROR: Cannot open file '%s'" % IncludeFilePath)

                                             raise SystemExit

+

+                                        # Update DscTime when newer DSC time found.

+                                        CurrentDscTime = os.path.getmtime(os.path.realpath(IncludeDsc.name))

+                                        if CurrentDscTime > self._DscTime:

+                                            self._DscTime = CurrentDscTime

+

                                         NewDscLines = IncludeDsc.readlines()

                                         IncludeDsc.close()

                                         DscLines = NewDscLines + DscLines

@@ -815,9 +825,8 @@ EndList
         if not os.path.exists(OutPutFile):

             NoFileChange = False

         else:

-            DscTime = os.path.getmtime(self._DscFile)

             OutputTime = os.path.getmtime(OutPutFile)

-            if DscTime > OutputTime:

+            if self._DscTime > OutputTime:

                 NoFileChange = False

         return NoFileChange

 

-- 
2.28.0.windows.1


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

end of thread, other threads:[~2020-12-09 11:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-08  2:15 [PATCH] IntelFsp2Pkg/GenCfgOpt.py: Incremental build with UPD in sub DSC Chiu, Chasel
2020-12-08  3:28 ` [edk2-devel] " Yuwei Chen
2020-12-09 10:13 ` Nate DeSimone
2020-12-09 11:37 ` Zeng, Star

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