]> git.proxmox.com Git - mirror_edk2.git/commit
IntelFsp2Pkg/Tools/GenCfgOpt.py: Fix a bug about parse macro
authorTan, Ming <ming.tan@intel.com>
Sat, 27 Jun 2020 18:53:34 +0000 (02:53 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 24 Jul 2020 07:07:30 +0000 (07:07 +0000)
commit50528537b2fb0ebdf32c719a0525635c93b905c2
tree73c2a9f884109d36a7297ec52992f6801ba199dc
parentff2655d1a4ce8f2c85b1a5f09b85fb4f51fe13f1
IntelFsp2Pkg/Tools/GenCfgOpt.py: Fix a bug about parse macro

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

Fix a bug about parse the macro value which use another macro.

Use the following example to verify:
[Define]
  DEFINE M1 = V1
  DEFINE M2 = $(M1)/V2

  !include $(M2)/pcd.dsc

The old code will failed parse M2 and cause following error:
Traceback (most recent call last):
  File "Edk2\IntelFsp2Pkg\Tools\GenCfgOpt.py", line 1550, in <module>
    sys.exit(Main())
  File "Edk2\IntelFsp2Pkg\Tools\GenCfgOpt.py", line 1513, in Main
    if GenCfgOpt.ParseDscFile(DscFile, FvDir) != 0:
  File "Edk2\IntelFsp2Pkg\Tools\GenCfgOpt.py", line 533, in ParseDscFile
    NewDscLines = IncludeDsc.readlines()
ValueError: I/O operation on closed file.

The tool should support the value use another macro, and expand it.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Signed-off-by: Ming Tan <ming.tan@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
IntelFsp2Pkg/Tools/GenCfgOpt.py