BaseTool/UPT: Not expand macro for UserExtension

All MACRO values defined by the DEFINE statements
n any section (except [Userextensions] sections
other than TianoCore."ExtraFiles) of the INF or
DEC file must be expanded before processing of the file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
Hess Chen 2016-08-01 23:25:34 +08:00 committed by Yonghong Zhu
parent 645a51287e
commit 0e025deac5
1 changed files with 15 additions and 1 deletions

View File

@ -270,7 +270,21 @@ class _DecBase:
self._LoggerError(ST.ERR_DECPARSE_BACKSLASH_EMPTY)
CatLine += Line
self._RawData.CurrentLine = self._ReplaceMacro(CatLine)
#
# All MACRO values defined by the DEFINE statements in any section
# (except [Userextensions] sections for Intel) of the INF or DEC file
# must be expanded before processing of the file.
#
__IsReplaceMacro = True
Header = self._RawData.CurrentScope[0] if self._RawData.CurrentScope else None
if Header and len(Header) > 2:
if Header[0].upper() == 'USEREXTENSIONS' and not (Header[1] == 'TianoCore' and Header[2] == '"ExtraFiles"'):
__IsReplaceMacro = False
if __IsReplaceMacro:
self._RawData.CurrentLine = self._ReplaceMacro(CatLine)
else:
self._RawData.CurrentLine = CatLine
return CatLine, CommentList
## Parse