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